Cloud Nightlight Color-Changing LED conversion

Big Clive recently reviewed a cheap cloud-shaped nightlight from China, and later recorded a video showing how to convert it to use color-changing RGB LEDs:

I wanted to build one myself, and already had the LEDs, so I ordered a cloud nightlight from China. It was a little less than $2.00 USD shipped and arrived approximately 5 weeks later. Right away I had problems with it as it was damaged; the plug and circuit board were both loose. I was worried the screw that holds the plug might be stripped, but fortunately it was not and I was able to repair it. With everything in place, I tried it out, and it looks very nice:

(more…)

My 1989 IBM Model M Keyboard

Power Consumption of IBM Model M Keyboards

The IBM Model M keyboard is notorious for its loud clacking keys, solid construction and tactile feedback which has made it a favorite of many serious keyboardists despite the fact that its design is now decades old. Unicomp still manufactures Model M keyboards, and offers some modern updates such as Windows keys and a USB interface. This is a great option to have, but like so many others I still rely on older versions of the Model M that have a PS/2 interface, which is no longer included on mainstream computers. So an adapter is necessary, and there’s many out there to choose from. But as most Model M enthusiasts know, not all adapters work with the Model M.

The problem is that Model M keyboards consume significantly more power than modern keyboards, and not all adapters (or motherboards, for that matter) can provide enough current on the PS/2 port to power a Model M. I’ve known this for a long time, but never knew exactly how much current a Model M draws vs. a modern keyboard. I decided to find out.

(more…)

LED Light Bulb Kit from China

DIY LED Bulb Assembled

I’m a huge fan of Big Clive, and watch his videos regularly. Back in December he built a DIY LED bulb kit from China, and as soon as I finished the video I ordered a couple for myself! It’s a fairly simple kit with a lot of potential for customization. There’s a lot of solder joints but the overall assembly isn’t too complicated, and the theory behind how they work is fascinating and not too hard to comprehend. Best of all, with prices well below $2 shipped, they’re cheap fun! I recently assembled one of these kits so I can review it and share what I’ve learned so far.

(more…)

LED Test Box from China

LED Test boxThis little LED test box couldn’t be simpler – pop an LED into the tester, push the button, and see it light up. The top header accommodates standard LEDs with two leads, and the bottom headers accommodate 4-pin “piranha” LEDs. I use it frequently when assembling LED lighting projects or to quickly test a new batch of LEDs. It’s a great value for the approximately $2.00 USD that I paid for it. With that said it has some issues, and there are a few things to be aware of when using these testers.

Build Quality

You can’t expect much for $2, but the quality is fine for the price. The biggest issue I have is the headers; they don’t always make good contact with the leads on the LEDs, especially the bottom rows for piranha LEDs. So sometimes I have to fiddle around with the LEDs to get solid contact. The other minor issue is the battery compartment, it’s fairly tight and I’ve had some trouble figuring out how to best orient the battery so it will fit with the case closed. With a little trial and error though, it’s possible.

These are minor quibbles, and acceptable given the price. But there are some more concerning issues with the circuit itself, which I’ll cover in the next couple sections.

(more…)

Counterfeit DS18B20 temperature sensors

DS18B20 temperature sensor counterfeit vs. real
On the left, a relabeled transistor; on the right, an actual DS18B20.

As anyone who’s wanted to measure temperature with a Raspberry Pi knows, it doesn’t offer analog input. This means that the TMP36 sensor which is commonly used with the Arduino doesn’t work. The most popular option for the Pi then is the DS18B20, which is a digital sensor that utilizes the 1-wire interface and is natively supported by the Pi. It’s considerably more expensive than the TMP36, and as is the case when a component is expensive and in-demand, it’s prone to counterfeiting. I recently experienced this firsthand.

(more…)

“Old-fashioned” Bench Grinder stand

Bench Grinder closeupHere’s a project I completed last summer that I’m just finally getting around to sharing. It’s an “old-fashioned” bench grinder stand, or pedestal. I call it old-fashioned because I built it for a belt-driven grinder whereas grinders today are typically direct-drive.

The grinder itself is a General Hardware 6″ grinder with no model number. I picked it up at a garage sale for $5. I couldn’t find too much information on it, but what I did find indicates that it may have been manufactured any time between the 1950’s and 1970’s. I didn’t have a grinder, and I had some old utility motors laying around, so I figured it might be a cheap way to have one.

Bench grinderThe easy solution would have been to just mount the grinder and a motor to a board and be done with it, but I wanted something a little nicer. After scouring the web for awhile, I stumbled across this webpage which had plans for a pedestal grinder stand, scanned from a November 1971 copy of Popular Mechanics magazine. This was it! Some of the information was cut off, so to be sure I had all the information I needed, I purchased a copy of the magazine off of Ebay, made my own scans, and filed it away until I’d have time to build it. That time finally came when I walked out to the garage one Saturday morning feeling bored but motivated and looking for something to do.

(more…)

Elektrosluch – Listen to EMI

Elektrosluch completeMAKE recently featured a very cool project that I had to build: the Elektrosluch! What’s an Elektrosluch? It’s basically a microphone of sorts that allows you to listen to electromagnetic interference (EMI) which is found all around us in our personal electronics, homes, automobiles, and many other places. The Elektrosluch includes a built-in amp, so listening can be done with headphones, or it can be connected to a recording device for sampling. The tutorial was written by Jonas Gruska, who designed the circuit. It was a lot of fun to build, and overall not too hard. I took my time and checked everything several times and it worked the first time I tried it.

(more…)

Reload Controller header image

Reload Controller

Earlier this year I purchased an Arachnid Labs Re:load Pro, which is an adjustable constant-current load. I’ve always wanted an electronic load for my lab, but didn’t want the spend the money. The Re:load Pro solved that problem as it’s just $125. Sure, it doesn’t sink as much current or have all the options of fancier units, but it does everything I need. For testing panel meters, batteries and LEDs, it’s quite capable. So far, I’m happy.

Reload Controller Main screenOne of the features that caught my interest when I purchased it was the ability to interact with it via a virtual serial port on the USB interface. I immediately got the idea to develop an application that could control a Re:load Pro, but didn’t have time to work on it. Recently however, I started working on serial port projects at work again, and I finally completed my serial port class, called dsub. I needed to test it, and I thought of the Re:load Pro. It was a perfect device for testing. I set about developing an app, and correcting some bugs in dsub along the way. The result is an improved dsub class, and a small application called Reload Controller which I’m releasing here. (more…)

dsub: Serial Port class for C#.Net

dsub main formI’ve long held an affinity for serial ports. They’re easy to understand, easy to setup, and require no special drivers. I’ve worked on several projects over the years that have utilized serial ports, mostly in classic VB applications. Since learning Microsoft C#.Net, I’ve wanted to use it to interface with them. A few years ago I picked up a copy of Serial Port Complete Second Edition by Jan Axelson, and it’s been a tremendous help. Much of what I’ve learned has come from her book and website. I set out to develop my own serial port class based on my needs, and I’ve now finally finished it to the point where I feel comfortable sharing it. It’s called dsub, named for the D-subminiature electrical connector. I’m releasing it under an MIT license so you can download, use and modify the application and source code.

Download dsub here (Visual Studio 2010 project)

dsub uses .Net’s built-in SerialPort class, but adds some additional functionality to deal with multi-threading, error handling, etc. I won’t cover all the details of how it works, or why; for that, you should pick up a copy of Jan’s book and check out the COM_Port_Terminal application available on her website. dsub does differs in several ways from her serial port class, the most important difference being that I use the SerialPort.ReadLine method to get new data from the buffer. As a result, any serial port data that dsub reads will need a defined “end of transmission” character, such as a carriage return or line feed. This can be specified in dsub, so it’s possible to use any character. I did this because all the equipment I deal with sends data this way, and it’s easier to parse the data once I know the transmission is complete. If you have a situation where there isn’t a defined end of transmission character, then dsub won’t work. (Note: Jan’s class does not have this limitation.)

dsub Settings FormThe GUI application that’s included will read data from the selected serial port and display it in a grid. If a field delimiter is specified, it will use that to break up the data into separate columns in the grid. At the bottom of the screen, you can enter text to be sent. There is also a textbox where errors will be displayed. The application implements all the features of dsub so it provides a good example of how to use it.

If you use dsub in your application, let me know! I’d love to hear how it’s being used. I’ll also do my best to answer any questions or address any issues with it.

Update: Memory usage reporting fixed in Analog PC Stats application

Updated PC Meter application

It was brought to my attention a couple months ago by mnedix that the application I developed for the Analog PC Stats Meter was not reporting the correction Memory usage. I looked into it, and it turns out that the PerformanceCounter I was using in C# ties into the page file, not just physical memory. Apparently it was close enough to the physical memory used when I tested the program initially, because I never caught it. I just released an updated version of the application today that get the actual physical memory percentage used (you can download it here). It utilizes the GetPerformanceInfo Windows API to do this, using code developed by Antonio Bakula. This post at Stack Overflow is what led me to his solution. As the screenshot above shows, it’s now very close to what Windows reports. It’s a little off, maybe due to rounding, I didn’t have a lot of time to dig deeper. It’s close enough, at least for me! In the screenshot, I’ve got a couple textboxes that display physical available memory and total physical memory for troubleshooting.

While I’m posting, I want to point out it’s been approximately a year since I last posted on my blog, but I’m still here. The last year-and-a-half has been quite hectic for me, but I hope to get back into working on projects and sharing them on here soon! I’ve heard from a few people who have enjoyed my posts and used the information I’ve shared to work on their own projects and it’s been great hearing from them. Thanks!