Simple Light-Up Continuity Meter

continuity meter lit up arduinoRecently I found that I was at a loss for my digital multimeter (confession: it’s actually my dad’s, which I’ve been borrowing for an indefinite period), and I needed to test the continuity on a PCB. So I quickly scrapped together some parts to make a simple light-up continuity meter.

continutity meter assembledContinuity meters are used to test whether two components or joints in a circuit are continuous, or directly connected. Most multimeters  have a continuity meter built-in. When you touch the meter’s test probes to 2 different, yet connected spots on a breadboard or PCB, the meter will either beep or light up.

My continuity meter lights up when the test probes are connected. I utilized a small breadboard, three alligator clips, a super bright white LED, two needles, electrical tape, and a 330Ω resistor to make my meter. I didn’t have to use any solder, and after I used the excess wire to wrap the breadboard and the battery together, it came together nicely.  It works well!continuity meter finished

Here’s how to make your own!

Materials Needed

You’ll need the following, depending on how you want to make your continuity meter and what parts you have.

  • alligator clips and breadboard (or soldering iron)
  • x2 needles (act as test probes, if you want something more precise than the wire as a test probe)
  • x1 battery or combination of batteries with a combined voltage of 1.5 to 9V, the total voltage being greater than but as close as possible to the voltage drop of the LED
  • x1 resistor, ohm value discussed later
  • x1 LED, you’ll want to know its voltage drop (see here if you don’t know, you’ll have to scroll down a bit)
  • electrical tape, duct tape, or glue for keeping the meter together after assembly


  1. The hardest part of building your continuity meter is figuring out the right resistor value to use with the LED. For that, will use a bit of math and Ohm’s Law. You’ll need to know the voltage of your batteries (Vcc) and the voltage drop of your LED (Vd). The forward current limit (I) on most LEDs can be approximated to 0.02A or 20mA, so we’ll use that as our current value. This is how to calculate the resistance (R) of the resistor you’ll need:
    • V = IR
    • R = V/I
    • R = (Vcc – Vd) / I
    • R = (Vcc – Vd) / 0.02
    • For my continuity meter, I had an old 9V battery that measured at 8V and a white LED with a forward voltage drop of about 3V. So I needed an ((8V – 3V) / 0.02mA) = 250 Ω resistor. The closest standard value resistor up is 330Ω, which is what I used.
  2. Next comes assembly. Whether you’re using a soldering iron or a breadboard, it’s simple. Either solder your ‘test probes’ to the wire, or put the needles directly into the alligator clips. Take a look at the diagram below for guidance.  continuity meter diagram
  3. That’s about it. The LED should light up when you touch the two test probes! To containerize your continuity meter, duct tape the battery and excess wires to the breadbread, or if you soldered it, you can try gluing it together.

    continuity meter hands testing lit up

Important Disclaimer about using this continuity meter:

Be careful using your continuity meter. I’d recommend using it only for testing boards and components where you know that things are supposed to be continuously connected. You don’t want to use it as you’re trying to figure out what a board does, you run the risk of shorting out components on the board. Definitely don’t use your homemade continuity meter on circuits that have live power!

Cool Desk Lighting: A Homemade Cagelight

Cagelight in red flashing mode.
Cagelight on, in red flashing mode.

While panning absentmindedly through one of my dad’s farm/tools/random-outdoorsy catalogs, I saw something that really caught my eye: a cagelight that apparently was intended for use in a barn, but looked like it belonged in a mad scientist’s lab. It looked something like this: cagelight example

I immediately decided I needed to make my own version of the cagelight for use as an epic decoration for my mad-sciencey desk. I used some thick wire, LEDs and other electronics, 3D printed parts, and lots of hot glue. It turned out to look like this:


This project consisted of two main parts: making a custom PCB to control the light, and designing an authentic cagelight enclosure. I ended up designing and 3D printing a custom case and using heavy gauge wire to make the cage.  Below is what it looks like lit up. It’s quite bright. Basically, a battery powers some white LEDs and some flashing red LEDs which can be switched on and off.

cageligt white light on
The cagelight on, in white-light mode.

Continue reading

My First PCB: Air Conditioning Fan

green light and fan pcb plugged in

As you may know, I enjoy making various personal air conditioning systems using old computer fans and the Arduino. In order to try making my first printed circuit board (PCB), I designed a personal air conditioning fan system that plugs into any standard USB port, and can be powered via computer USB or 5V wall adapter. Except for the printed circuit board etching kit my dad gave me for Christmas, pretty much every component I used was salvaged from old electronics (this is seriously low budget!).

usb fan circuit_schem

Basically, a fan is connected to and on-off switch to act as air conditioning. An RGB LED can be lit either green or blue, and a slide potentiometer both changes the color and adjusts the brightness.

parts to fan light circuit pcb copy
The parts used for the circuit.

Here’s the components I used, plus their sources:

  • Standard DC toy motor, from an old electric toothbrush
  • CA RGB LED, an old one that I had burnt the red lead out, so only the green and blue diodes worked
  • Black LED collar, from an indicator LED on an old computer tower (doesn’t do anything, just makes the RGB look cool)
  • 3-pin slide switch, from a broken ‘build your own plastic mechanical spider’ kit that my brother had
  • 3-pin slide 250K Ohm slide potentiometer, from an old space-age toy gun
  • 470 ohm resistor
  • USB-Type A to USB-Mini cable, from some old LeapFrog toy (I cut off one end and left only the Vcc and GND lines of the remaining wire)
  • 3D printed fan blades (I tested two different ones, and I’m working on designing my own)
My initial sketches for the layout of the board.
My initial sketches for the layout of the board.

I prototyped the circuit with a breadboard first, and then designed the PCB layout on paper, making it as space efficient as possible. Then I cut a 1×1 inch square (5×5 cm) from a larger piece of copper board, added the ‘wires’, or the black rub-on stickers that prevent parts of the copper surface of the board from being removed.

Partially etched PCB.
Partially etched PCB.

Next was to actually etch the board by putting into a solution. After doing some research, I found that you can use a mixture of vinegar, hydrogen peroxide, and salt, instead of the standard ferric chloride etching solution. Household chemicals are safer to use and won’t burn your skin if you spill it! I added equal parts vinegar and hydrogen peroxide, placed the board in the solution, and then sprinkled coarse salt on top.

Overall, it took about eight hours for all the excess copper to dissolve. I changed the solution twice, as the reaction slowed down as the solution dissolved the copper. The second time I added a higher concentration of vinegar, because it seemed to speed up the reaction more than the hydrogen peroxide or salt.

Some of the tools I used.
Some of the tools I used.

With the board etched, I used my dad’s drill press to drill holes for the components, and some steel wool to remove the black etching lines. Using my dad’s improvised soldering iron (a woodburning tool, a little high temp, but worked okay), I had my first experience soldering components to a board! The end result was decent, though it took me a long time to do it.

The two fan blades I tested out.
The two fan blades I tested out.

The last step was getting a fan blade for the DC motor. I printed two different fan models to test, and I’m working on my own right now. The green one below looks much fancier, but it moves significantly less air than the blue fan. It also has sharp edges, and I cut my fingers on the spinning blades more than once. I may print a scaled up version of the blue fan when I get the chance.

Prototype of my fan blade design made in Tinkercad.
Prototype of my fan blade design made in Tinkercad.
The finished circuit laid out.
The finished circuit board laid out.

Since the circuitry and parts have been gathered and put together, I now have to make some kind of case for the whole thing. Right now, the fan is practically unusable because the motor can’t stay upright. I could 3D design a case, make some kind of insulated wire stand, or make something with wood and cardboard.

Breadboard Videogame Controller + Pygame Rectangle Animation

controller up closeI was inspired to work on a homemade videogame controller for my Raspberry Pi using a breadboard after taking apart two old video game controllers and seeing another maker’s idea. A breadboard with buttons in the right spot makes a controller that fits quite nicely in your hand.

My design included two four-way keypads on either side of the breadboard plus two extra buttons in the center to serve as maybe ‘start’ or ‘pause’ buttons. I also added two indicator LEDs that can be used for various purposes. Wiring it was a bit difficult, as I had to keep wires out of the way of the buttons. I ended up connecting the button signals (they’re all pull-downs) to the center of the breadboard, and running jumper wires from there to another breadboard, connected to my Raspberry Pi. I tested the controller with a few simple Python programs and verified that it works. The pic below shows the controller next to the Pi breadboard.100_4257

To put it to practical purposes, I made a simple Python program with Pygame that makes abstract art with rectangles. Basically, running the program opens a window where various sized rectangles are placed randomly on the screen every 0.1 seconds. Pressing the keypad buttons changes the rectangle colors, and pressing one of the center buttons saves the image. Unfortunately, Pygame saves images in .tga format, which I am trying to currently convert to .jpg or .png format so I can share the images.

You can see in the image below the whole controller and how it connects to the Pi. You can also see part of my monitor, which has the rectangle animation program open.100_4255

Here’s the code for the controller version on my Pi. There’s comments and more information.

I also made another version of my Abstract Art/Rectangles/Generator/Animation (not sure what to call it) that doesn’t use my controller, just a mouse if you want to test it out on your Pi (Pygame is installed by default in Raspbian).

Now I have to actually make a game for my controller! That will be a challenge. I might program it to control Minecraft on the Pi.


I figured out how to save images in Pygame in .png and .jpg format. In the code, you just have to add the file suffix to the save file name, so that it doesn’t save as the default .tga. I’ve updated the code links above to reflect the change. Here’s an image generated by the mouse version of the rectangle animation. rectangles0

Revolutionizing the Tactile Pushbutton

I have always found it rather annoying that when using 10mm tactile pushbuttons with a breadboard, you have to place them across the ravine. They take up a large amount of space if you’re trying to build a large circuit, especially if you use the Adafruit Pi cobbler breakout with Raspberry Pi electronics.

How could I make a condensed pushbutton to fit many on one full-sized breadboard? I tried bending the legs of regular 10mm and 6mm pushbuttons, but it didn’t work because the legs were too short. So I would have to make my own with longer legs. Here are my proposed ideas for new and improved pushbuttons for more space-effective breadboarding. The normally connected legs are indicated with the green lines.

revolutionized pushbutton plan

Pushbutton review: a normally open (NO) tactile pushbutton has four legs on it. The two legs on one side are connected, as with the other side, but both sides are not connected. When you press the button, however, all four legs are connected together. Basically, when you press it, it closes the circuit and makes it work. Normally closed (NC) tactile pushbuttons work the opposite. When you press them, the two sides become disconnected.

Decimal to Binary LED Converter Circuit

binary-digital converter_close-up

Using the diodes I salvaged from an old electronic organ, as well as a 1980s Forrest Mims III Radio Shack Engineer’s Mini-Notebook on semiconductor circuits, I made a circuit that converts the digits 0 – 9 (each digit with its own pushbutton) to binary using a four LED readout. I did it quickly, not expecting it to work because I hadn’t tested all the diodes out and because there was so many places to misplace a wire. But it worked on the first try, and I was excited about that!

This isn’t exactly the cutting edge of electronics, considering both diodes made in the 80’s as well as a book printed in the 80’s were utilized for this project, but it’s just fun to make bigger circuits that don’t need computer programming. Check out my photo and explanation. Note that I was pressed for functionality and organized aesthetics, this is rather bad prototyping because as you can see I crossed wires and used all different colors. It’s almost impossible to troubleshoot should you need to.

binary-digital converter_with lights copy

About Resistor Value Color Banding

Here’s a little background on electrical resistors and their color banding.resistors

Resistors are measured in ohms (the symbol is Ω). The more a resistor is able to resist electrical current, the higher it’s ohm value. As they are small, a system of colored bands marked are marked onto every resistor to help people identify it’s value without having to test it. A typical 0.5 watt resistor, commonly used for small electronic prototyping, has four color bands. The first two colors represent the first two digits of the value, the third value is the multiplier, and the fourth value is the tolerance, or how much the actual resistance varies from the specified resistance. Usually the tolerance is ± 5%, so a 1000Ω resistor could have an actual value between 950 and 1050Ω.

Color First Digit (1st Band) Second Digit (2nd Band) Multiplier (3rd Band) Tolerance (4th Band)
Black 0 1
Brown 1 1 10 ±1%
Red 2 2 102 ±2%
Orange 3 3 103 ±3%
Yellow 4 4 104 ±4%
Green 5 5 105 ±0.5%
Blue 6 6 106 ±0.25%
Violet 7 7 107 ±0.1%
Grey 8 8 108
White 9 9 109
Gold   ±5%
Silver ±10%
None ±20%

To find the colors for a specific value:

  • Identify the value you want. Let’s say you want a 470Ω resistor.
  • Find the first color band based off of the first digit. The first digit of a 470Ω value is the 4. Looking at the chart under the first color band, the value of 4 is represented by yellow.
  • The second digit is 7. Again looking at the chart for the second digit, the next band is violet.
  • The third value is multiplier. You multiply the first to band values together (47) by this one to get the final value. In this case 47 * 10 = 470, so looking at the chart, the third band is brown.
  • The fourth value is the tolerance. With most resistors, used by hobbyists, this value is ±5% or ±10%, gold or silver.
  • So the final color banding for a 470 Ω resistor with a ±5% tolerance is yellow-violet-brown-gold.

To find the resistor value based off of the color bands :

  • Using the chart look at the first two colors and match them up to the first and second digits. For example, say you had a resistor with colors red-red-brown-gold. This would mean that the first two digits are 2 and 2.
  • For the third band, find the equivalent multiplier amount and multiply that by the first two digits. Since brown is representative of 10, I multiply the first two digits, 22, by 10 to get a value of 220Ω.
  • The final band shows the tolerance. Referring to the chart for the value, the gold tolerance band means that the 220Ω resistor has a tolerance of ±5%.