21 June 2015

LED Tester (Version 3)

I took two outdated boards from work (the newer version of the board has solder pads for an added SOT-23 diode) to make one of them into a LED Tester. For quite some time, I was using was an old project box from Radio Shack, one of the 8-pin IC holders and a 2-AA battery holder to test LEDS.

Part of the reason why I didn't like it was that it required batteries, another part was that it's a lot bulkier than it needed to be, and the last is that the IC holder is meant to be put through a perfboard and not a plastic box.

The newer version of the board was being used for the prototype of a different project, but the electrical engineer decided to add some more parts to it to reduce the load of the voltage regulator on the main board. When he received the prototype boards, I was to remove the board from the main board and toss it into the electrical waste bin.

With a fully-functioning LM317 on the board, there was no way I could do that, so I (painstakingly) de-soldered the voltage regulator and one of the 8-pin headers from it before storing the board elsewhere if i needed the other parts from it.

One of the two outdated boards I took home already had parts on it (I didn't realize it was an outdated board until I noticed the missing diode (how I missed it when I was putting the SMD parts on, I haven't a clue) and brought it to the attention of the electrical engineer, who told me it was the older revision of the board (the board that superseded it has ".B" marked with the part number). I had left it alone, since I didn't want to just toss it in with the electrical waste, so I held onto it until I needed it.

The board is the board that sits between the main board and LCD panel (that is made by some other company that we purchase), and was going to be much easier to use than the old prototype board that I used for the adjustable voltage regulator project because of the "built-in" spot for the LM317.

The first thing I had to figure out was what voltage to output so that an LED with a 3.3 volt forward voltage and an LED with a 1.6 volt forward voltage can agree on. With the adjustable voltage regulator, I toyed with it a bit before doing some maths to find that 2.5 volts should be a decent median for both types.

The initial test was fine, and I found it quite nice that it was the exact same resistor value needed for 2.5 volts (Vout=1.25 * x/x), so whatever I was able to find (between 100 and 1k ohms) for the power LEDs would work just fine.

The board has three spots for LEDs, one for power, one for use indication, and one for reversed power. For my case, I only needed two of the three LEDs, but I figured I might as well use all three; I set up the central LED to be the power and the outer LEDs to be a reversed power indicator (so that it's quite obvious if the LED testing board is plugged in "backwards".

With some calculations, I figured I'd need a resistance of about 500 ohms for each of the power indicator LEDs (since I'm running it off of 12 volts), so my best bet would be to either find a resistor close to 500 or to put two 1k ohm resistors in parallel (which is theoretically easy with SMD). When I dug around at the unused parts during lunch, I found the 1k ohm resistors and held onto them as I dug around more. I then found a 700-something ohm resistor reel (remember, this are SMD resistors) before finding 600-something ohms, but then I was quite elated when I found 475 ohm resistors and proceeded to put the other two reels away.

On the board, the two outer LEDs use SMD resistors with a 1206 case code and the centre one uses 0805, which was something I was partially looking for, but because I was able to use the 0805 sized resistors in the 1206 slot, I didn't have a need for the 1k ohm resistors that I brought home with the 475 ohm resistors.

I soldered most of the components onto the board and soldered the LM317 on the "wrong side" (but in the correct pin order) to make the bottom as minimalistic as possible. The next day I thought of adding some diodes to protect the circuit and LEDs so that when the board is hooked up incorrectly, the voltage regulator circuit is protected, and when the board is hooked up correctly, the reversed polarity LEDs are protected. After getting home, I added the diodes in and hooked up the jumper wire to make it work and it did indeed work.

Except for one little problem: the LM317 became really hot even though the output voltage was correct. When I soldered the LM317, I soldered it so that the plastic side was against the board and the tab was in the air, and so I though maybe I needed to actually solder it to the correct side so that the pad on the underside of the board can absorb the heat. I moved the LM317 to its correct position on the board, but nothing changed, it was still getting hot.

I poked with the adjustable voltage regulator project and the tab didn't get hot at all - not even slightly warm - and so I decided to think for a bit. I decided to double check the power path and found that I had not added the jumper wire that connected the ground to the actual ground pin, and after remedying the problem, all was well.

I forgot to mention that I put some header pins into the unused ports of the header to make it obvious which of the header holes to use. I also marked an arrow on the board pointing toward the positive hole, but since it is on the "outside" side of the header, it can't be seen in the following pictures.


Finished top and bottom.


Board has power and is plugged in correctly; board has power, but has power is reversed; board showing an LED being tested.

I forgot to cover the point of the device (and it's convoluted predecessor), which is to test if LEDs are working (which is probably fairly obvious) and to be able to discern the LED's colour (for clear or frosted LED cases). Before having a case that allowed me to organize my LEDs by colour (and case type), it used to be thrown together in a section of another case. This obviously made it horrible because I had to check the colour of the LED every time I needed one.

The first version of the preceding LED tester used a 9 volt battery, the project box, a resistor, and the IC holder - it did the job when I needed it. Eventually I changed it so that it ran off of a pair of AA batteries so that it would be easier to replace the batteries (whenever that would happen) and to reduce the voltage delivered to the LED being tested greatly. For the second version, I also added one of those plastic battery pull-tabs that come with some electronics with pre-installed batteries, so that the drain on the batteries would be further slowed down from air-based discharge (probably really unnecessary, but why not?)

While preparing an LED for the picture, I blew up a dual-coloured LED that was going to be used for my soldering light/fan switchbox, but luckily there were plenty spares at work, since it no longer being used.

The diodes I used are the 4007 (the one further away from the header) and the 5817 (one closest to the header) since that's all I had at home that would be easy to use.

The things I learned from this project is to check the paths before checking the parts, and to keep the LED in the tester for the minimum amount of time so that it doesn't blow up.

Google Standalone Clock App For Android

The article I read is: Google further embraces custom Android with standalone clock app.

I'm not sure if that is the article I first read a couple days ago, but I did also read the one I linked.

Recently Google's been releasing more of the apps that are built into Google's Android "ROMs" that are seen in the line of their Nexus phones.

The couple days before May ended this year, I recently got a 64GB ASUS Zenfone 2 (ZE551ML) to replace my Galaxy Nexus. I was greeted with apps that I thought were Google's, but were actually ASUS's version of them, and I promptly installed the Google version of the things I use most (Calender, Keep, Gmail).

This article piqued my interest, as I was curious to see what Google's released, and when I looked at the reviews in the Play Store, I saw that it was very simple, had an ability to dismiss alarms early and had the "material" design that launched with Lollipop.

I opened it up and it was definitely simple and basic. The background is a dark steel blue, the text is white and the buttons/sliders are (deep?) pink, it was much better than the black on white scheme of ASUS's clock that blinded me every morning when the alarm went off to get up for work. One of the reviews I read said it was a bad colour scheme, but from what I remember of Friday morning, it's still better than the black on white ASUS clock scheme.

The early dismissal is quite interesting, it is (probably) designed for when you wake up before the alarm goes off and want to dismiss the alarm since you're up - instead of the alternative options of either waiting for the alarm to go off to dismiss it (bad if you share a room/bed) or turning the alarm off (bad if you forget to turn it back on sometime after the time of the alarm has passed and before it's needed again).

While the article states that Google is giving Android users a choice, I think the other part of the reason behind Google doing this is because (if I remember correctly) Android M will be the last version of Android that Google will make their own phone - what better way to preserve the legacy of a clean version of Android than to release as many of the "stock" apps that's possible?

Before Google released their clock app, they released their camera app, and while I liked it better than ASUS's, I ended up installing "Open Camera" instead (I still use ASUS's from the lock screen when/if I need it).

Website Advertisments

There was an article I read a month or so ago where someone said that it's "immoral" to use an adblocker for sites you frequently visit, because it is those ads that generate money to keep that site up.

While I understand this, in my opinion I don't think it's immoral at all because it's really more on what you believe - if you believe it's immoral, then it's immoral, and if you don't, then it isn't.

Depending on the ad provider, the advertisements can vary greatly by type and target, and with marketing surveys (or marketing data) ad companies can refine what ads belong to whatever site is requesting ads for revenue. In other words, you'll have ads of baby-related products targeted for women on a maternity forum as an example. There are also the the search-based ads (e.g. text ads when you search something on Google), and the generic ads (that target the majority of people).

I'm not sure if he really understands the point of view from people who use adblockers to block ads. The look of the ad itself can vary from a static image to a flash video, along with deceptive ads that try to fool you by making you think you're navigating where you wanted to go but is (usually) a place so that your computer can get infected with malware.

My main point for blocking ads are four main things:
  1. Ad placement
  2. Animated/Video ads
  3. Malware
  4. Privacy
Ad placement can "break" the layout of a site and can be quite obtrusive in some cases. When I used to have my own website hosted with 0catch.com, I had no say in where the ads would be placed, so it ended up breaking my layout to where I had to spend (unnecessary) time tweaking the changed HTML to either remove or move the ad from the frame/page. The size of the ad is also part of this, since an ad that is placed well, but is obtrusively large is still obtrusive. Placement also plays a role, because a poorly placed ad can interfere with the usability of the site.

Animated and/or Video ads can be quite irritating. If you're trying to read an article (let's say) and there's a little ad banner off to the side (or worse, scrolling with the page) and it's constantly flashing and trying to pull your attention away from the article, isn't that at least a bit annoying? Animated ads in Android/iOS applications are probably the worst, as some of them may actually induce an epileptic response for those who are epileptic. While I haven't seen modern desktop-browser based animated ads, I'd like to avoid doing so.

Video ads take animated ads one step further and add sound into the mix (often along with an auto-play function). Let's take that same article reading scenario and toss the animated ad out and replace it with a video ad. I'm not sure about others, but I find it hard to read when listening to someone talk or some annoying sound is playing. Luckily, most of the time you can pause/stop the video ad (or just not have Flash installed, though it might still play with HTML5), but sometimes it doesn't allow you to.

Some ads are just there to confuse you and take you to sites that inject malware into your computer, usually claiming that your computer has some sort of performance issue. When I'm on a clean Linux installation (or live environment), I laugh at these types of ads that are directed towards installation of Windows ("Windows running slow?" is usually something I see), since it's too obvious when using Linux.

Privacy is a big issue that has recently popped up, but not too many people quite understand it well enough. Ads can store browser cookies and in turn allow the ad company to find out what sites you visit to be able to figure out your demographic and what sort of ads to put on sites that they have ads on that you visit. Blocking ads may not give you complete web privacy, but it's at least a start. For cases like this, you definitely want an addon/extension that protects you from ad cookies as well (Ghostery for example).

Besides all that, I do also block ads because they're just an eyesore... I am viewing the page for content, not so that marketers can come out and try to get me to purchase a product or service. It's the same reason I prefer to watch a movie or show on DVD/BD rather than on television, I don't want to watch ads for a total of about 10 minutes per 20 minutes of showtime.

All I'll say is to think about it for yourself and make a decision based on what you feel is right.

SourceForge

The article I read is: Why big open-source projects are fleeing SourceForge's free software hub.

For the past few years or so since I've been trying to migrate the programs I use to open-source (preferably also multi-platform), SourceForge has been one of the places I visit often (or have been directed to). I'm not sure when they began wrapping junkware into some of the software that they host, but I don't recall ever seeing it in any of the things I have downloaded from SourceForge.

I believe it was FreeFileSync that I was first introduced to FossHub, and I liked it better than downloading it from FossHub instead of SourceForge, as it was much easier to do, along with it being quite easy to grab the checksum to make sure the download is fine (via DownThemAll Firefox extension).

I don't remember when I was introduced to GitHub, but I do remember going there a few times to try to download something and ending up horribly confused (I think?). I don't want to say I don't like it, but I will say I really ought to spend some time so that I can become more familiar with it.

Back in the early 2000's, CNET used to be my main source of shareware/freeware, and I do occasionally end up there when searching for software. I'm not sure when they began to push their own download manager, but when I did download some things from CNET, I found that I had downloaded their download manager installer instead of whatever I was wanting. Though a "proprietary" download manager is fairly different from injecting junkware into open-source software installers, it's still the same sort of annoyance.

The only thing with FossHub I haven't figured out yet (as I haven't been on it too much, beside to update FreeFileSync) is where the older downloads are kept (if they are even kept) in the (very) rare occasion that I need an older version of a software for whatever reason.

I, obviously, will join this "boycott" because I believe that people should be able to download the software they want in an unadulterated form directly.

Adjustable Voltage Regulator

Originally, I wanted to make an adjustable voltage regulator with an LM317, 1k ohm potentiometer (variable resistor... same thing), and a 10k ohm potentiometer. Unfortunately, we didn't have any 1k ohm pots at work, but I had found some old 100 ohm pots - exactly nine of them. I thought it was great, since I can put them all in series with a 100 ohm resistor and be able to adjust the resistance between the adjustment leg and voltage out of the LM317. The 10k ohm pot I found was enough for the resistance between the adjustment leg LM317 and ground, since I don't really work with anything over 12 volts. I also used some old prototype boards to make it easier to assemble, but even with that it took some time to figure out and make certain that the paths were correct.

For the main board, I used some salvaged 0 ohm jumpers to make a couple jump to be able to use a couple of the through holes, but was quite pleased that I was able to fit everything that I needed to fit on it. And for the secondary board, it was nice taht I only had to use half of the salvaged board, as the hole placement allowed two pots to be fitted per section.


The finished "super" adjustable regulator.
Unfortunately, the actual size of the image is blurry and unfixable at this point.

It worked quite well and gave me good results, but then I found that all the 100 ohm pots weren't really doing much in terms of adjustment, so then I decided to remove the nine 100 ohm pots and make the necessary changes. Since eight of the pots were on the secondary board, I just de-soldered the jumper wires to/from the main board to save time.


The second version adjustable regulator.
You'll be able to read all the notes I've written on the board to make it easier for myself.

After testing it, it worked okay, but was a bit wonky when I turned the 10k pot down too far (since the 100 ohm resistor actually measured below 100 ohms). At this point, I decided to try one of the extra 470 ohm resistors I had in place of it, and it worked much better. Since the only thing that changed was the resistor, I didn't take a picture of it.

I slightly figured out that a larger resistor between the adjustment leg and output voltage legs made it easier to fine tune the voltage than with a smaller resistor, and once I was able to get hold of a 1k ohm resistor, I swapped the 470 ohm for it.


The finished adjustable regulator.

Once I tested it, I found that I was indeed correct, as it was even easier to fine tune the voltage. After using an LM317 voltage calculator I had found sometime before this project (so that I could understand how to use an LM317), I found that 1k and 10k were all I really needed, since it would (theoretically) give me 13.75 voltage output maximum (assuming I have an input of roughly 15 volts or greater). With a 12 volt source, I get an output range between 1.255 and 11.33 volts (according to the multimeter I have anyway).

About a day or two after putting the 1k ohm resistor in, I took a look at the equation for calculating the output voltage from the resistors used, and the resistor(s) between the adjustment and output voltage legs of the LM317 (aka R1) is the divisor, so it would make sense that using a larger resistance for "R1" would give a lower variance for the output voltage when the pot (R2) is changed.

Along with gaining a voltage regulator to make it much easier to test designs and whatnot (I was limited to using a AC/DC transformer with an output voltage close to whatever I needed it at), I learned that I should just use a 1k ohm resistor for "R1" if I'm going to be using a pot for "R2", because an adjustable R1 doesn't do much good.

I do want to also say thank you to the folks at the reuk site for making such a nice page for the LM317/LM338, as it was quite handy on several occasions along with being simple.

I don't remember when off the top of my head, but I plan on buying some LM350 to allow me to properly utilise my breadboard once I have an adjustable power supply. I'll probably be making a fixed voltage output for 9, 5, and 3.3 volts (the adjustable power supply will be outputting 12 volts), but I'll probably the last "channel" as an adjustable voltage (probably using the above project) for anything arbitrary.