Panel Meter Clock

panel_meter_clock1There are several versions of this project, including one which can be purchased as a kit (The Chronulator). In this case I based it off of the one featured in Issue 13 of Make Magazine (original code and schematics). I liked this iteration as opposed to The Chronulator because not only can I easily build it from scratch using an Arduino board, it also has a seconds display

panel_meter_clock2In order for panel meters to tell time the Arduino pulses three of its outputs according to what the clock demands. For example, if it is 6:45 the Arduino will pulse the hour meter output 50% of the time and the minutes meter output 75% of the time. The pulses occur so fast that the meters can’t react in time, consequently it appears as if they are receiving a constant supply of current. Since the Arduino’s outputs are 5VDC and the meters were chosen to read 1mA maximum, then a resistance of 5000 Ohms is necessary between the outputs and the meters. 5000 Ohms is not a standard resistor size so I used some parts I had lying around in my junk box, in this case 4700 Ohm resistors and 1000 Ohm potentiometers. The potentiometers allow you to adjust the total resistance of the circuit enabling you to set the peak value of the meter to the correct reading (1mA).

panel_meter_clock3To finish the project I took an 8″x6″x3″ plastic enclosure from Radioshack and cut holes in the lid to mount the meters. I also placed the mode, hour set, and minute set buttons on the top of the enclosure. To finish it off I added a power connector for a 9V power brick which will be the power supply for the clock (in the lower left corner of the circuit board you can see the power circuit consisting of a protection diode, a 5V regulator and 2 capacitors which together supply 5V to the Arduino from the incoming 9V supply).

In order to make the panel meter faceplates read time instead of current I had to make a new set of scales for the three gauges. I started with the templates available on The Chronulator website (I particularly liked the VU meter as you can see in the photo). Since these are vector graphics images you can easily resize them without losing detail like you would in a bitmap image. I used a free conversion tool called FreeSVG to convert the files from PDF to SVG (Scalable Vector Graphics) format which can be read by the free, open source vector graphics editor Inkscape. Note: I believe that the new version of Inkscape will include the ability to open PDFs.

I used Inkscape to resize the faceplates to match the dimensions of the panel meters I had purchased (which were larger than the template). I also inverted the color scheme of the template since text on a white background is more visible than with a black background. I printed the new faceplates out on 4″x6″ glossy photo paper (which really shows off the colors of the scale better than regular paper). After cutting out the new gauges with a razor blade, I then used rubber cement to glue each of the completed faceplates onto the original aluminum gauges. I allowed the finished gauges to dry overnight and they went on without issue.

Total cost was about $60 for my scratch built Arduino, 3 panel meters, pushbuttons and enclosure.

This is an excellent project to get your feet wet with the Arduino, and it looks great too.

Arduino

arduino_boardarduino_protoboardIf you have been following this blog at all you probably noticed that I have done a fair number of microcontroller projects. In my experience working with the PIC and AVR microcontrollers I ran into a number of issues:

  1. The PICBasic programming environment , while easy to learn, only works on Windows
  2. The C programming environment for the AVR requires more effort than I wish to put into a casual hobby enterprise and I have been unable to get it working in Linux

As I looked for more project ideas I noticed a lot of people using the Arduino development board. The Arduino is an open source hardware and software environment similar in concept to the BASIC Stamp (except it’s not expensive). Basically all the Arduino does is provide a standardized microcontroller board using the AVR ATMega168 processor and various power, I/O, and programming connections. They can be purchased as a completed board for around $35 (several versions of unassembled kits are also available). The biggest advantage from my perspective is that the Arduino software is truly cross-platform since it runs in Java and therefore can be used in Windows, Mac OSX and most importantly for me Linux.

One version called the Bare Bones Arduino removes the standard USB-serial adapter from the board itself and instead substitutes a FTDI USB-serial cable to connect the board to your PC. This is done to minimize cost since the adapter cable is a one-time $20 dollar purchase that can be used with an infinite number of compatible boards instead of paying for the adapter chip on the standard Arduino every time you get a new board. Another version of the Arduino called the Boarduino modifies the form factor of the circuit board into one more convenient for use on a solderless breadboard. otherwise it is essentially the same as the Bare Bones Arduino in that it also uses the FTDI adapter cable. Both of these boards are completely interchangeable with the Arduino.

While these are good products, I decided I wanted to build my own version from scratch to better fit my electronics setup. I used the schematic from the Boarduino website to base my design on, but I used the same form factor as the Bare Bones Arduino. Since I use a Graymark 808 Protoboard which has a built in power supplies I removed the power circuitry from my design. In its place I simply put two headers, one for +5V and one for Gnd that connect to the protoboard’s power supply (as shown in the pictures above). I also reduced the number of headers (which stab into the solderless breadboard) used to fit the Radio Shack PC board I used for my layout. I retained the power select jumper to choose whether the board is powered by the USB programming cable or the protoboard’s power supply. I also left the two indication LEDs, reset button, and the 6 pin ISP and USB programming headers as they are on the Boarduino.

Total cost for my homebrew Arduino was $9 (not including the USB adapter cable).

Having never dealt with the Arduino’s software package before, I wasn’t sure what to expect. It is a simplistic Java application which provides a very user friendly environment to write your programs (or sketches as they are called) in. The programming syntax used is similar to C, but the environment has many useful functions already built in so it’s very easy to do simple tasks such as set a pin as an output or toggle an output on & off. As someone who has used other languages, PICBasic for example, I can attest to how intuitive these functions are when compared to manually setting register ports in BASIC. Like in C you can also create your own functions and call them, making this a very powerful language despite its simplicity.

The installation of the Arduino software is fairly straightforward, even on Linux, and I encountered no issues. In Ubuntu it entails downloading the application from the Arduino Software page and following their well written instructions. These mainly involve installing Java and removing a package which inadvertently thinks the Arduino is a braille reading device and grabs your computer’s USB port. Left out of the instructions is an issue which caused me some problems; the Arduino software should be run with root privileges in order to gain access to the USB port and consequently the Arduino board. This is done by opening the terminal and executing the following commands:

cd /home/username/Arduino-0010 (navigates to the Arduino software’s folder)
sudo ./arduino (runs the Arduino software script with root permissions)

The application will now launch. Once running I selected my board under Tools – Board – Arduino Diecimila(currently the newest board design and bootloader) and picked my USB port under Tools – Serial Port – /dev/ttyUSB0. Since I built my Arduino from scratch, my ATMega168 did not come pre-burned with the Arduino Diecimila bootloader. The bootloader functions as a sort of operating system for the microcontroller, allowing you to transfer files over a serial port instead of having to re-burn the entire firmware every time you change your program, thus simplifying the entire process. In order to burn the bootloader I plugged my AVR programmer into the 6 pin ISP header on the board and selected Tools – Burn Bootloader – w/ USBtinyISP. The software displays its progress on the bottom of the screen and lets you know when it has finished burning the file to the chip. To check if the bootloader is running properly follow this guide (since the various bootloaders behave differently). Next I wrote a simple LED flasher sketch and after plugging in the FTDI cable I successfully uploaded the sketch to the board and it ran perfectly.

Aqua Teen Hunger Force Animated LED Art

athf2athf1On January 31, 2007 Boston was shutdown when pieces of LED artwork that looked like characters from the Cartoon Network show Aqua Teen Hunger Force were mistaken for bombs. Ever since this occurred I have wanted to build my own version to hang up in my apartment.

My version is designed to look like the character Ignignokt; in case you don’t watch the show Ignignokt and Err (his sidekick) are Mooninites (residents of the moon, designed to look like characters from an 8 bit video game) who occasionally come down to Earth to annoy the Aqua Teens. I chose Ignignokt because he is green and blue (Err is purple and blue) and green LEDs are cheaper than purple LEDs. My design used 72 green and 40 blue LEDs.

athf_schematicI got my LEDs from Mouser and I chose them based primarily on their diffusion angle (over 40 degrees), which allows for better viewing angles than other LEDs. In order for an LED array like this to function properly the LEDs must be wired in parallel (ie. all of the cathodes are connected together as well as all of the anodes). I also had to subdivide the LEDs into a group of all of the green LEDs (D6 on the schematic) and all of the blue LEDs (D5 on the schematic). This had to be done because the LEDs were different types and there were more greens than blues, causing the current draw of the groups to be unbalanced. This created a problem where only the green group would light, consequently, I adjusted the resistor values such that I balanced the current drawn by both LED groups. There are also four additional groups to create the effect of Ignignokt giving the finger. These groups are controlled by a PIC16F84A microcontroller which orchestrates the animation of the LEDs. As shown in the schematic, group D1 is the hand and groups D2-D4 are the finger. The code (written in PicBasic) is very simple, involving only turning on specific digital outputs of the PIC for set periods of time. I can power the whole thing off a 9 Volt battery using a power circuit similar to that shown in the schematic for my GPS project (I substituted a 78L05 for the 7805 voltage regulator since this circuit draws less current). Check out the video to see Ignignokt in action.

Parts

USB Device Charger

mintyboostThis was a nice, simple project that is also very useful. Called the Minty Boost, as soon as I first read about this device I wanted to build one. Basically it transforms the 3 Volts from 2-AA batteries into 5 Volts and has a USB connector to attach the device you wish to charge (IPod, Sansa, cell phone, etc.); the bonus is that it all fits inside a Altoids Gum tin. You can build this from scratch, but some of the parts are somewhat uncommon and the printed circuit board is made to fit inside the tin so I just bought the kit (full kits are $19.50, PCBs are $5). It is a very simple kit to build and takes only about 30 minutes to complete. Then you just stick it in an Altoids Gum tin and you’re done. Now I can charge my Sandisk Sansa’s battery even if I don’t have a computer or an outlet around.

GPS Receiver

gps1If you have never been to the MAKE Magazine website you should really check it out. They have tons of project ideas on their site and more are posted every day on their project blog. In July I saw an article regarding a project that took a GPS module, a simple LCD display, a Basic Stamp to interface the two together, and created a GPS receiver. The receiver displays your coordinates in degrees, minutes, and seconds.

I was intrigued because for such a complex sounding project it appeared very straightforward and relatively inexpensive. Upon further digging I discovered that this project used a Basic Stamp 2 chip for a processor, along with a Basic Stamp Development Board and software; these together cost around $200, not including the cost for the LCD Display and GPS module (another $100).Then I remembered that the Basic Stamp is actually based off of and very similar to the PIC series of microcontrollers that I had previously worked with in college. After looking at the code provided on the project page, I decided that with a little effort I could convert it for use with a PIC (I used a PIC16F84A, but others can be used, they cost $6).

To program the chip I used the programmer I had from college. Built from a kit, it is USB compatible and has a ZIF socket so you don’t wear out the PIC’s pins pulling it in and out of the socket while troubleshooting your projects. It is not the cheapest programmer available at $85. Many other programmers are available for much less money, or you can build your own. The last item necessary is a BASIC compiler for the PIC. While the Basic Stamp is also programmed using the BASIC computer language (hence the name), the PIC uses a slightly different version called PicBasic. The compiler I used is called PicBasic Pro ($250) which I had from college (there is a cheaper version called PicBasic Compiler for $100); I also found another compiler which offers a free demo. For me, since I already have all of the pieces I need for PIC development it was much cheaper ($6 vs $200) to use a PIC instead of a Basic Stamp. The casual hobbyist should decide which route they want to take since the Stamp ($200 to get started) offers a more user friendly path, while the PIC ($150-$300 to get started depending on programmer and compiler) offers more customization and more processing power.

It took me most of an afternoon to refresh my memory and convert the code from PBASIC to PicBasic. The photo above shows my version of a homebrew GPS receiver using a PIC as I prototyped it on my breadboard. The GPS module has an LED that flashes to show it is acquiring satellite signals (at least 3 are needed for valid GPS data) and is solid once enough connections have been made. Since I plan on putting this project in some sort of handheld enclosure, the LED will no longer be visible. To get around this I added some code which makes use of one of the built-in features of the GPS module. This feature will report back how many satellites have made connections with the module, when this value is below 3 the LCD displays the text “Searching for satellites…”. When the value is above 3 the LCD displays the GPS location data. Overall this project was a lot of fun and a great refresher for me regarding PICs. In part 2 I’ll talk about how I powered this project off of batteries, integrated it into an enclosure, and provide my final schematic and parts list.

Parts List

Links

gps3gps_schematicI previously prototyped my own GPS receiver. Since then I modified a small plastic enclosure to hold the LCD, GPS module and circuit board holding the PIC microcontroller and power circuit. I also added code (see link below) that checks for the state of a switch to determine if you wish to have the LCD’s backlight on or off. I decided to add this feature after measuring the current draw of the receiver as a whole. With the backlight on, the receiver draws an average of 165mA; with the backlight off, the receiver draws an average of 125mA (that’s about a 25% savings). Since the receiver runs off of a single 9 volt battery (alkaline – 600mAh typically), that power savings is equivalent to as much as 72 minutes of additional time the unit will now be able to run. With a lithium 9 volt (1200mAh – typically) it could add another 2 hours and 24 minutes.

gps2The picture on the right shows the receiver as completed; I will be the first to say that it is not the most professional looking, but it works. The switch on the right is for power and the other switch is for the backlight. The center picture shows the 4 possible LCD states: searching with backlight off, searching with backlight on, receiving GPS data with backlight off, and receiving GPS data with backlight on. The last picture is the schematic for the receiver unit.

I did some research and here are some constants that show how useful this unit can be for many different functions.

  • 1 Degree = 60 Nautical Miles (69 Miles)
  • 1 Minute = 1 Nautical Mile (1.15 Miles)
  • 1 Second = 101.2 Feet
  • 0.1 Seconds = 10 Feet

With these relationships and some basic geometry, I can determine distances and directions to and from GPS way points.

This was a really satisfying project to do. With just a handful of parts and a couple of modules I have a fully functional and now portable GPS receiver.

Parts List

  • LCD with backlight (2 lines, 16 characters per line)
  • Parallax GPS Module
  • PIC16F84A
  • 7805 (5 Volt Voltage Regulator)
  • 4700 Ohm Resistor
  • 4 MHz Crystal Oscillator
  • 100uF Electrolytic Capacitor
  • 0.1uF Ceramic Capacitor
  • 9 Volt Battery
  • SPST Switch (power)
  • SPDT Switch (backlight)

gps-revAs you can see in the photo, I got a new frontpanel for my GPS and replaced the two slide switches with push-on-off switches. The left button is for power and the right turns the LCD’s backlight on and off. Since the backlight toggle is performed via a digital input on the PIC I had to modify the circuit slightly by adding a 1M ohm pull-down resistor to the digital input which the pushbutton wires to. This is required because in the previous version the single pole double throw slide switch would either connect the digital input to +5V or ground; since the circuit now uses a single pole single throw pushbutton it cannot perform this same functionality. Therefore, the pull-down resistor grounds the digital input when the switch is not on and then when the switch is turned on its resistance is so high that it is effectively an insulator to ground in comparison to the straight +5V from the power supply circuit.

PVC Fig Rig

pvc_fig_rigThis is my version of a project I found here that aims to mimic the so-called “Fig Rig” created by the film director Mike Figgis (Leaving Las Vegas). Made from PVC pipe for around $30, it is much more economical than the retail version which sells for around $300.

The whole idea of this device is to allow your arms to act as shock absorbers, creating a poor man’s steady-cam for use with a hand held video or still camera. I painted mine flat black to disguise the look of the PVC. To paint the plastic I had to use special plastic spray primer before applying the finish coats of regular spray paint. While I don’t have a true video camera, this is a fun project to use with a regular digital camera since most of the newer still cameras also take fairly good quality video.

Vacuum Tube Audio Amplifier

tube_amp1tube_amp2I have been somewhat interested in vacuum tube projects for awhile now after I refurbished an old AM radio from my grandmothers house. Although a simple project, involving cleaning the radio and replacing the old tubes with new ones, I think the main draw of a tube project is that distinct retro feeling you get when you fire up the project and it starts glowing, but in a good way. While looking around for a simple, beginners tube project I stumbled upon a fairly large community of people who had built and subsequently modded the K-502 audio amp kit from Antique Electronic Supply.

I purchased the kit and built it in a couple of hours. It is a very simple project to complete, consisting of only about two dozen parts. I had originally planned to assemble the kit in an enclosure, but my final assembly behaved poorly (I think in part due to improper grounding). I reassembled the parts on the pine board which comes with the kit and it now performs flawlessly. The amp takes a standard left and right RCA style audio input and can output up to 8 Watts of power. This may not seem like much, but with efficient speakers it gets loud enough for any common usage around the house.

I would still like to put some sort of cover over the board to minimize the risk of myself or others from coming into contact with the line voltages present. Although not the most inexpensive kit out there (compared to some solid-state kits), it is cheap compared to other tube based audio amplifier kits which can run upwards of $300. Definitely a fun project, especially if you need an extra audio amplifier.

Analog Synthesizer

synthesizer2synthesizer3I have been interested in synthesizers since I first started becoming interested in acid/new wave rock when I was in middle school. Analog synthesizers particularly interested me because they are easier to build and also cheaper, as well as having a lot of nostalgia for the original form of sound synthesis. Consequently when if first ran across the circuit board being offered at Music From Outer Space, I was very excited. The board is not only relatively inexpensive, it is also well made and was shipped very quickly. My synthesizer, pictured below, cost around $100 to make because I had to purchase the majority of the parts as well as the case. I purchased most of the parts and the case from Mouser, except for the potentiometers and the switches which I bought from Jameco. The construction of the board was fairly straight forward and took a few hours. The wiring of the board to the faceplate, however, took several ours of tedious wiring which I would not relish to repeat. In the end though I ended up with a great little unit which works great and can produce a variety of sounds. As can be seen from the photos, I also installed the mod which allows the modulation of VCO-1 with VCO-2’s output. I rearranged the faceplate accordingly to fit on my case’s aluminum plate. I had no alignment issues with the unit and it worked from the first time I turned it on. In the future I may build an audio amplifier as well as a sequencer to control the oscillators and actually produce music as opposed to just noises.

synthesizer4I had been looking for some time for a way to modify my analog synthesizer project to be powered by an AC adapter instead of the two 9 volt batteries that it had originally been designed to use. This was more complicated than it sounds since the synthesizer requires both +9V and -9V from the same power supply. After some investigation I found a circuit; that could be used to transform a single +9V input into both +9V and -9V. It is a really clever design that accomplishes this feat using a special charge pump converter IC and a couple of capacitors. As the pictures show I also changed the power switch to one that is more aesthetically pleasing than the toggle switch used previously. I also added a coaxial power socket to the back panel to accept the plug from that AC adapter. The synthesizer performs the same as it did before my modifications, however, I am now freed from having to worry about battery life.

20 meter Groundplane

groundplane1Most hams are familiar with the quarter wavelength ground-plane antenna design. It is often the first antenna they buy or build for use on 2 meters after receiving their technician license. It is a design that performs well and exhibits low input impedance, making it ideal for use with ham equipment without the need for special matching techniques. The antenna is easy to construct and due to this simplicity is also highly economical. When considering the type of antenna to build for field day to use with my PSK31 setup this design was the obvious choice. It provides both low take-off angle and omni-directional radiation, allowing me to maximize my operating capability from a simple station. The antenna is made up of a single pole which supports the radiating vertical element and is guyed in place with nylon rope. The two radial elements are spread out and held in place by ropes.

groundplane2The base of the support pole is made of a ten foot piece of 1.25 inch schedule 40 PVC pipe that was cut in half for easier transport in my car. It is joined in the center by a 1.25 inch PVC coupler. Mounted on top of the PVC pipe is a 13 foot extendable fiberglass fishing rod which I purchased at Gander Mountain (I had originally planned on using a 16 foot rod but none were available when I went to the store, with additional height the radials can be lowered at a steeper angle which in turn raises the input impedance closer to the desired 50 ohms). I joined the fishing rod to the pipe by first removing some of the plastic at the base of the fishing rod so that it could slip inside the pipe. Next I drilled a single hole through the pipe and rod so that I could secure the two pieces together using a small bolt and nut to prevent the rod from sliding further into the pipe. I also wrapped the fishing rod with some electrical tape to compensate for the difference in diameter of the rod itself and its plastic base (this allows the rod to fit snugly inside the PVC pipe thereby stiffening the rod and pipe connection).

groundplane3groundplane4The radiating element and both radials are 16.5 foot long 14 AWG insulated stranded copper wire. For ease of assembly I soldered the radiating element to the center of a SO-239 connector and attached solder lugs to the radials. This allows me to attach the radials to the SO-239 with two small bolts passed through the holes on the connector, simplifying construction in the field. I taped the radiating element to the pole prior to raising the antenna. The radials were attached after the antenna was erected and securely guyed since the feed point is only 5 feet off the ground providing easy access for mounting. From start to finish assembling the antenna and guying it in place took about 30 minutes to do by myself (with more people it could easily be erected in 5-10 minutes).

The performance of this antenna was better than expected. It matched perfectly on the lower end of 20 meters despite being cut for the center of the band (this is due to my use of insulated wire which adds capacitive loading to the antenna, electrically lengthening it). Whether you are looking for a solid performing base antenna or a light, compact, portable antenna this may be the project for you.

PSK31 Sound Card Interface

psk_interfaceIf your sound card has Line In and Line Out jacks, and your radio has an accessory port, this is the easiest way to interface between the two. Using your radio’s accessory port eliminates the need for more circuitry to control the audio level going to and from your radio. This interface has worked perfectly during regular use and several Field Days. All the parts are available from RadioShack, and it can be constructed in under an hour.