Nuts and Volts 2014-12
Nuts and Volts 2014-12
Nuts and Volts 2014-12
Always-Open Classroom!
One part coal. One part extreme. This is Darkside Ollie - the naughtiest app-controlled robot ever created.
5RFNHWDURXQGDWDŴRRUZDUSLQJ03+SXOORIIGLDEROLFDOWULFNVDQGVPRNHWKHFRPSHWLWLRQ<RXFDQ
ƓQG'DUNVLGH2OOLHDWWKHWRSRIWKHQDXJKW\OLVWŊDQGVROGH[FOXVLYHO\DWJRVSKHURFRP
Columns
10 TechKnowledgey 2014 68 Getting Started With N
Events, Advances, and News
3D Printing EW!
Topics of interest this time include the world’s
fastest electric motorcycle, getting your own Helpful Instructions to Create
cloud, taking your own ECG, preserving the CRT, and Print
plus some other cool stuff.
Briding the Gap of Packaging
With 3D Printing.
14 Q&A The three main areas to designing a project are:
hardware, software, and packaging. While hardware
Reader Questions Answered Here and software have come a long way over the years,
Questions cover a battery monitor circuit, NiMHs replicating custom enclosures has been on the
over NiCads, and using an audio synthesizer IC expensive side ... until now.
with an eight ohm speaker.
57 Smiley’s Workshop
Programming • Hardware • Projects
The Arduino Classroom. Departments 08 DEVELOPING 75 CLASSIFIEDS
Arduino 101/Chapter 11: Sound. PERSPECTIVES 76 NV WEBSTORE
In order to make sounds using the Arduino, The Art of Prototyping
you need to know about arrays and interrupts. 79 TECH FORUM
24 NEW PRODUCTS
81 AD INDEX
25 SHOWCASE
66 ELECTRO-NET
Nuts & Volts (ISSN 1528-9885/CDN Pub Agree #40702530) is published monthly for $26.95 per year by T & L Publications, Inc., 430 Princeland Court, Corona, CA 92879. PERIODICALS POSTAGE
PAID AT CORONA, CA AND AT ADDITIONAL MAILING OFFICES. POSTMASTER: Send address changes to Nuts & Volts, P.O. Box 15277, North Hollywood, CA 91615 or Station A, P.O.
Box 54, Windsor ON N9A 6J5; [email protected].
6 December 2014
WHY COMPROMISE
SPEED v ACCURACY?
HAVE IT ALL
ALL MODELS INCLUDE PROBES, FULL SOFTWARE AND 5 YEAR WARRANTY. SOFTWARE INCLUDES MEASUREMENTS,
SPECTRUM ANALYZER, SDK, ADVANCED TRIGGERS, COLOR PERSISTENCE, SERIAL DECODING (CAN, LIN, RS232, I²C, I²S,
FLEXRAY, SPI), MASKS, MATH CHANNELS, ALL AS STANDARD, WITH FREE UPDATES.
FREE
SPECIAL PRICE
Software
You design
Y d i it We machine it
to your specifications using and ship to you a
our FREE CAD software, professionally finished product,
*
Front Panel Designer no minimum quantity required
575.00
O ost effective prototypes and production
C
runs with no setup charges Complete SMD
OPowder-coated and anodized finishes in Workstation:
various colors Anniversary
O Select from aluminum, acrylic or provide Reflow Kit V3
your own material * ships from the U.S.
O Shipping costs
Standard lead time in 5 days or express not included
manufacturing in 3 or 1 days ** as compared with
purchase of the
individual components
CONTRIBUTING EDITORS
Joe Pardue Tim Brown
Jon McPhalen Jeff Eckert
Paul Verhage Chuck Hellebuyck
J.W. Koebel Ron Newton
Dan Koellen John Storms
CIRCULATION DEPARTMENT
[email protected]
SHOW COORDINATOR
Audrey Lemieux
WEB CONTENT
Michael Kaudze
[email protected]
WEBSTORE MARKETING
Brian Kirkpatrick
[email protected]
WEBSTORE MANAGER
Sean Lemieux
ADMINISTRATIVE STAFF
Debbie Stauffacher
Re Gandara
December 2014 11
Post comments on this article at www.nutsvolts.com/index.php?/magazine/article/december2014_TechKnow14.
December 2014 13
■ WITH TIM BROWN
Q&A
In this column, Tim answers questions about • Battery Monitor Circuit
all aspects of electronics, including computer
hardware, software, circuits, electronic theory,
• NiMHs or NiCADs
troubleshooting, and anything else of interest to • Audio Synthesizer IC With
the hobbyist. Feel free to participate with your
questions, comments, or suggestions. Send all
8 Ohm Speaker
Post comments on this article at
questions and comments to: Q&[email protected]. www.nutsvolts.com/index.php?/
magazine/article/december2014_QA.
"conditioning" required by their Nickel-Cadmium (NiCads) NiMH Batteries Won't Replace NiCads
or Nickel-Metal Hydride (NiMH) cousins. However, Li-Ion
batteries are VERY sensitive to operating outside the range I have an outdoor solar lantern. The original
of three to 4.2 volts (overheating, fire, explosions).
Manufacturer specified chargers have the circuitry to avoid
overcharge, and battery packs have circuitry to avoid
operating below the three volt shutoff voltage. CAUTION:
Q circuit died, and I have replaced it pretty much
exactly as it was. I noted that candles don't
actually flicker off and on, but the flame moves.
So, I have two LEDs controlled by a PIC. I have it run for
■ FIGURE 1.
14 December 2014
QUESTIONS and ANSWERS
Put a Button On It
the button is open, the pin will read 0; when the button is
New actors are often encouraged by casting pressed, the pin will read 1.
directors to "put a button on it" — this Some will ask about resistor R2. This resistor limits the
means to end the piece with something current into the pin if there is a programming error or if
simple yet memorable. Well, then, let's put the input voltage is 5V (which is frequently present in
Propeller projects), plus it protects the pin (as well as one
a button on 2014 by talking about ... can) from static discharge we humans tend to barrage
buttons! In our high tech world of electronic devices with.
touchscreens and voice-activated Simple, right? Of course —
but there's more to it.
everything, simple buttons are often abused
We tend to think of a
both physically (which I can do nothing short button press creating
about) and in code (where I can help). The an input on the pin that ■ FIGURE 2. Clean input.
simple fact of the matter is that most looks like Figure 2. If we
put a 'scope on the input,
electronic devices have buttons of some what we'd see looks more
sort, hence we should learn to use them like Figure 3. The ragged
properly. Whether your project uses just on and off switching at
one button or a bunch of them, I'm going the beginning of the input ■ FIGURE 3. Bouncy input.
is called contact bounce.
to show you some tips and tricks that can This is, in fact, caused by the mechanical contacts of the
be incorporated into your Propeller button bouncing as it closes.
applications. Some will say, "So, what?" Okay, let's get back to my
friend in New York. His particular situation created a
perfect storm of problems with programs using less-than-
think it's Nature's cruel trick that the smallest things industrial techniques. His props used very long wires to
if (ina[0] == 1)
In Figure 1, you return true
else
see a typical button return false
input circuit. This is
configured for active- The only redeeming quality of this method is that it
high input to the pin can be re-used. Where it goes off the rails is in two places:
(you can reverse the 1) The input pin is hard-wired as a "magic number;" and 2)
3.3V and ground The scan of the input pin is so quick that it can allow a
connections to make false positive if noise is present on the pin when this
■ FIGURE 1. Button circuit.
it active-low). When method is called.
18 December 2014
ADVENTURES IN PROPELLER PROGRAMMING
Post comments on this article and find any associated files and/or downloads at
www.nutsvolts.com/index.php?/magazine/article/december2014_SpinZone.
pub check_button(pin, ms) | btn, t Some of you may be wondering about active-high
btn := 1 versus active-low inputs. My preference is to use active-
high as it's easier for my clients (who don't code as much
t := cnt
repeat ms as I do) to follow. Still, many use active-low circuits, and
waitcnt(t += MS_001) it's easy to update our method to allow either input state:
btn &= ina[pin]
pub check_button(pin, state, ms) | btn, t
return btn
dira[pin] := 0
Note that this method expects two parameters: the
btn := 1
pin to scan, and the debounce period (in milliseconds) —
these parameters give us great flexibility. t := cnt
As we've learned our lesson about taking things for repeat ms
waitcnt(t += MS_001)
if (state)
RESOURCES
Parallax, Inc. PulsarProFX Note the we've added an input state parameter (1 for
Propeller boards, chips, PCB and label active-high; 0 for active-low), and the scan code will invert
and programming tools fabrication kits
www.parallax.com www.pulsarprofx.com (!) the button input if the state has been set to active-low.
Easy peasy.
December 2014 19
Enabling the inputs that we want to scan might look a
tad gnarly to newcomers, but it's really not so bad. This is
the line:
The read() method returns the entire group. If we only No worries here, either. This is at the top of the loop.
want to know the state of a specific input, we can pass its We initialize the loop timer control variable (t), set up the
offset in the group to the rd_bit() method. For example, in repeat loop, then insert a 1 ms waitcnt. It really doesn't
my navigation panel, the UP button is at offset 0: matter where the waitcnt falls, but for longish loops like
this I tend to stick it at the top:
if (buttons.rd_bit(BTN_UP))
state += 1 if (++phasetimer => rgytime[rgphase])
pause(50) phasetimer := 0
rgphase := 1 - rgphase
if (++rgtimer == 20)
Real World Solutions rgtimer := 0
Smart Button
There are a number of ways to measure the valid state
Let me share one more trick before we all head off to of an input. The approach here is to run the scan in a one
holiday parties. In early July, I went to a cosplay event to millisecond loop using a case structure to update the
visit my friend, Aubriana (www.themadmasker.com). debounce timer — based on the button's current and
While there, she introduced me to Jinyo, one of the cast previous state.
members of the SyFy Channel show, Heroes of Cosplay. The variable called scan holds those states. Each time
When I told him what I do, he asked if I might be able to through the loop, we update scan with this line:
help him with a project for Comic-Con International in
San Diego, CA. Sure! scan := ((scan << 1) & %11) | ina[0]
Jinyo and his fiance, Victoria, created a beautiful
Cylon-themed dress for a Comic-Con fashion show. Built This starts by shifting scan one bit to the left, and
into the dress is a long strip of WS2812 LEDs that are moving the previous button state into scan.bit1. We do a
controlled with a Propeller Mini. I built a small carrier bit of clean-up using AND (&) which limits scan to two
PCB with sockets for the Mini (using the PulsarProFX bits. Finally, the state of the active-high button is moved
system); this also provides connectors for the battery pack into scan.bit0.
and LEDs. Here's how it works. If the value in scan is %00, the
While working in his shop, Jinyo asked if we could button is not pressed, nor was it pressed during the last
add a button to allow the model to control the LEDs. Sure! cycle. If the value is %01, we have detected a new button
What he ultimately wanted was the ability to cycle press. In either case, the debounce timer (dbtimer) is
22 December 2014
reset. When the value in scan is %11, the button is being the tricks I shared useful.
held down, hence the timer is incremented. Finally, when
the value in scan is %10, we have detected the falling From my family to yours, I wish you the best this
edge of the button input. This could, of course, be contact holiday season. Happy Hanukkah! Merry Christmas!
bounce. Happy New Year!
You can see that most of the work is done when scan Until next time, keep spinning and winning with the
is %10 (end of input). The first step is to compare the Propeller! NV
timer to a normal press (which we set from 50 ms to
500 ms). If this is the case and the program is not in
"party" mode (more on that in a
moment), the animation state
control variable is incremented.
If a long button press is
detected, the animation state is
checked before acting. If we're in
animation mode (for the runway),
we reset the state to off. This was
important to allow Jinyo to change
to a fresh battery pack before his
model went out.
After changing to fresh
batteries, he could press the button
to verify everything is working. With
that test done, a long button press
would reset the animation to off.
Those of you who have been to
a Comic-Con understand that they
are very social events, and Jinyo
envisioned his model wearing the
dress to a party after the fashion
show. For this, he requested a
"party" mode that was a standard
Larsen scan of the LEDs, but at a
significantly reduced brightness.
WS2812s can be very bright, and in
the dim environment of a cocktail
party, he didn't want the dress
blinding other guests!
Of course, for the normal
animation mode on the runway, we
used full brightness. (By the way,
the dress was a huge hit!)
Putting a Button
on 2014
Well, we've done it! We've
completed another year ... well
done, us! I'm sure that more than a
few of you started reading this
column thinking, "Really? How
much is there to say about button
inputs?" Quite a lot, actually, and I
hope you found this discussion and
December 2014 23
■ HARDWARE
CHANNEL SNAP
MOUNTS
N ew Actobotics channel snap
mounts from ServoCity make
it simple to attach electronics and
other components to aluminum
channel. These new snap mounts
provide a quick and simple way to
mount an Arduino (UNO or Mega)
or Raspberry Pi microcontroller to
an Actobotics structure. Just snap the mounts onto the aluminum channel and
press-fit a microcontroller board onto the top of the mounts. The versatile
snap-on components can attach to channel in multiple configurations,
providing lots of mounting possibilities. Made from 1/8" thick Delrin, the
mounts are both lightweight and very sturdy; pricing is $1.89 per set.
DONGBU SERVO
GEARS
I n addition to their patented line of Hitec and Futaba servo gears, ServoCity
now has a way to drive gears using Dongbu servos. Dongbu Herkulex robot
servos are high quality and innovative servo motors with a 25 tooth spline.
ServoCity's 32 pitch gears attach directly to the DRS-0401 and DRS-0601
Herkulex servos. All gears are broached directly into the metal to ensure a
snug fit that will not slip. The metal construction provides longevity and For more information, contact:
durability. They are currently available in a 16-tooth version (#615382), with ServoCity
more sizes to come soon. Pricing is $14.99/each. Web: www.servocity.com
PBP3
FREE
Student - $49.95
Silver Edition - $119.95
Gold Edition - $269.95
PICBASIC PRO™ Compiler
BASIC compiler for Microchip PIC® microcontrollers
24 December 2014
JUMPERS FOR
PROTOTYPING
AND R&D
S chmartboard has released a
line of specialty jumpers which
will give engineers an easier way to
perform functions that sometimes
require multiple hands. The uses are
many, but in short, this product
allows users to connect multiple
points to a single common signal,
save space, and reduce jumper use NATIONAL RF, INC.
in tight areas such as ground.
It can also be used with
electronic testing equipment such
TYPE
NOISE LOCATION SYSTEM
R
N F
HFDF
BENCHTOP
RF/MICROWAVE T H E O F F I C I AL
SIGNAL A RD U I N O S TARTE R K I T !
SOURCE
B erkeley Nucleonics has
released a high performance,
robust, and cost-effective high
power microwave/RF signal NKCelectronics.com/starterkit
generator. The model 845-H defines Includes the Arduino Project Book (1 70 pages)
a new class of microwave source Purchase Orders are accepted from Educational Institutions,
US Government and Research Centers
instrumentation capable of
producing in excess of 23 dBm
from 100 kHz to 20 GHz with very low phase noise, fast
switching speeds, and extensive modulation capabilities in
a portable lightweight benchtop package. With a compact
sealed enclosure and a rechargeable internal battery
option, this instrument offers a wide array of features to
meet almost any application requirement in the lab, ATE,
or field. The model 845-H — as well as all of BNC’s
microwave sources — are provided with a free intuitive
GUI, as well as LabVIEW, C++, and MatLab drivers. Go to
the website for custom pricing details.
SYNCHRONIZED LIGHT
DISPLAYS
A straightforward approach
for synchronizing Christmas
lights to music.
Inspiration strikes — During the Christmas and Halloween seasons while watching
random videos, you may have come across a crazy looking house with lights blinking
and flashing synchronized to music. If you thought to yourself, "Wow! I would love to
do that to my house," then this article is for you. With a little patience, this seizure-
inducing fantasy can be yours, thanks to many off-the-shelf solutions available to
illumination enthusiasts. I must warn you, however, if your neighbors or wife are not
agreeable to flashing lights, hours of programming, and potentially hundreds of
holiday revelers, then this may be your last chance to step away from an obsessive
hobby. At the beginning, ask yourself what your goal is and work towards that. This
will help you budget your time, money, and sanity accordingly.
26 December 2014
Post comments on this article and find any associated files and/or downloads at
www.nutsvolts.com/index.php?/magazine/article/december2014_Storms.
I
n this article, I will be focusing on Light-O- ■ FIGURE 1.Typical
Rama products, which is what I got started light display
with. I initially chose the Light-O-Rama configuration using
Light-O-Rama
solution because this hobby can be very controllers.
complex, and Light-O-Rama provides a
straightforward approach to synchronizing lights
that got me up and running in a short amount of
time. I will also show how Light-O-Rama is
compatible with different brands, allowing you to
mix in other products so your light show can
grow in scale and complexity.
■ FIGURE 4. Schedules contain shows that contain Currently, Light-O-Rama software only runs on PCs.
sequences that contain channels. System requirements grow as your display grows. Typically,
running the show does not take a very beefy computer,
but you may want some more processing power when
your neighbors (even the nice ones). programming the sequences and running the visualizer.
Often, you will see people program their sequences on
Light-O-Rama one computer, then run the show from a different one. In
S3 Software Light-O-Rama offers sequences for sale on their website,
Software is needed to program light sequences and to
but there is also an active Christmas Light community
run the show. Light-O-Rama software operates in two
modes: where people freely share their sequences. Everyone’s
display configuration is different, but with some
1) A software development kit for designing your light copying/pasting and some gentle massaging, you can
display and programming sequences.
apply one of these pre-programmed sequences to your
Light-O-Rama provides a Sequence Editor that helps
you take a song and synchronize it to lights. First, the display vs. programming your own.
28 December 2014
my display, I run the show using an Acer netbook with
very little processing power.
Making It
Interactive ■ FIGURE 6. Notes mapping display elements to
Normally, when people think about a channel configurations.
December 2014 29
The best approach
for making decisions
is deciding on pixels
vs. dumb, voltage (12
or five volts), type of
lights (bulbs, strips,
etc.), and topology.
Based on those
options, you then
decide on which
controller solution
works best for your
needs (Figure 8).
Light-O-Rama
provides an off-the-
■ FIGURE 7. ■ FIGURE 8. RGB
Light-O- "dumb" strip. shelf solution of RGB
controllers and lights
Rama Input
Pup used to that sit on your Light-
trigger O-Rama network. They also offer their SuperStar software
interactive to make programming them easier. For those wanting to
events. do it themselves or to have more options, there are many
other RGB light controllers on the market. Most RGB light
controllers speak DMX and do not use the Light-O-Rama
If the Input Pup is employed, then it is assigned a protocol, but Light-O-Rama software and hardware both
unique ID on your Light-O-Rama network just like the speak DMX. This means that you can add non-Light-O-
controllers (refer to Figure 7). Rama controllers and still use the S3 software to program
and control everything.
Making it RGB Figure 9 shows how you can have multiple light
networks connected to your controlling computer. Here, I
(Color Changing) left the existing Light-O-Rama network in place and added
The big thing in light displays right now are RGB a DMX interface to speak to the RGB controllers. This is a
lights. These are color changing lights where you can set common configuration since many light displays will have
the lights to any color you can create by mixing red, a mix of RGB and non-RGB lights.
green, and blue. The DMX interface could be multiple DMX interfaces.
RGB lights are much harder to deploy than regular One common interface is E.131 which is a DMX over
strings of lights. You can buy a prepackaged solution from Ethernet protocol, and the PC and RGB controllers speak
Light-O-Rama, or you can purchase lights and
controllers from China or small vendors. The
latter solution requires some decisions and some
homework to be successful.
There are two main types of RGB lights:
Conclusion
All of the above can sound pretty complex and
challenging. However, while time-consuming, there are
enough resources and products out there that make
putting together that seizure-inducing light show a
straightforward effort. The hobby keeps you engaged as
you sequence more and more songs and incorporate new
technology. If this is something that is interesting to you, I
leave you with one tip of advice: start early. NV
Online Community
Resources:
My YouTube Channel
http://youtube.com/listen
toourlights
Rangefinder
Fast and accurate distance measurements from 0-40 m
Free sequences for My Facebook Page (0 to 130 ft). Not affected by wind, noise, ambient light,
download http://facebook.com/listen terrain, air temperature, or changes in barometric
www.highcountrylights.
toourlights pressure. No calibration required – ready to use right out
com/links/hcl- of the box. #28043; $349
sequences.html
Sequencing Tutorial Order www.parallax.com
Light-O-Rama Forums www.youtube.com/watch or call 888-512-1024
http://forums.light ?v=Mf9O-KiysA0 (M-F, 8am-5pm, PDT)
orama.com
December 2014 31
BUILD IT YOURSELF
By Ron Newton
■ FIGURE 1.
D I’m getting too old to put up a fake one. My grandkids are all older
too, so now I’m waiting for great-grandkids. Thumbing back through
some old issues of Nuts & Volts, I came upon an issue that had a
Christmas tree made out of LEDs. Searching the Internet, I found
several methods for making a cone shape tree utilizing different techniques. While
there are a plethora of kits available, I decided to come up with my own (Figure 1).
I added a pryoelectric infrared (PIR) sensor for a proximity detector, along with a
microphone circuit which detects music and then flashes accordingly to the beat.
The tree has a four inch square base and a height of 10.5”. There are eight
columns which have 56 LEDs. The top LED is a tri-colored unit that changes colors.
The LEDs are multiplexed to save power, and appear to be on all the time even
though they’re not.
Let me digress. In 1948, Southern California Edison switched from 50 Hz to
60 Hz. I remember this well as all the electric clocks had to be discarded, along
with many motors. Using 50 Hz and incandescent bulbs, no one could see the
flicker since the filament could not cool off that fast. Keep in mind that when using
a 50 Hz alternating current, there is a period of time (100 times per second/zero
crossing) when the power is off. However, in 1938 when fluorescent bulbs became
popular, a noticeable flicker could be observed that drove people nuts.
32 December 2014
Post comments on this article and find any associated files and/or downloads
at www.nutsvolts.com/index.php?/magazine/article/december2014_NewtonTree.
The human eye experiences a phenomenon known as running at a rate of 4 MHz, so turning 64 LEDs on and off
Persistence of Vision (POV). What this amounts to is that is no problem. In fact, we have to add time delays to see
above certain frequencies, the eyes retain an image. them pulse (or have that annoying flicker).
Electronics have used this for years to save energy. Its With this project, I decided to put a four-terminal LED
standard use is with seven-segment displays. You have for the last LED and only use seven layers of eight LEDs, or
three digits with a seven-segment display (eight, if you use 56 + 1 (three colored) = 57 LEDs. The remaining five
the decimal). If you were going to use a gate for each positions will remain empty. By strobing at a rate greater
segment, you would need a microprocessor with gates of than 60, the LEDs will seem to stay on to the eye. This is
3 x 7, or 21 gates. In this project, we have 59 LEDs so we taken care of in software, and saves power and
need 59 gates — a very large microprocessor indeed. microprocessor space.
If we put eight LEDs anodes to eight gates and
connect all the cathodes to a switch, we can control the THE PCB
eight LEDs to be on or off via the switch. Now, if you
connect another eight LEDs and connect their anodes to The printed circuit board (PCB) was designed using
the same gates, then add another switch to their cathodes, ExpressPCB’s free software at www.expresspcb.com. The
we can control 16 LEDs by turning off and on their board files are available for download at the article link,
cathodes and gates. along with the microprocessor programming files. A
Continuing on for six more strings, we can control 64 complete kit is available from the Nuts & Volts Webstore.
LEDs with 16 gates: 16/2 = 8; 8x8 = 64. Another way to All of the components go on the top of the board.
look at it is we are using binary with two conditions: Solder IC1 socket and IC2 to the board. Note that the
either on or off — 28 = 64. The microprocessor used is pin 1 location is the square pad. Bend the leads of eight
■ SCHEMATIC.
A full size schematic
file is available at the
article link.
December 2014 33
PIR MODULE MOUNTING
Turn the PIR module over so that the pots are on the
top of the board. To the upper right are three pads: one
with an “L;” one unmarked; and the other with an “H.”
■ FIGURE 2. Take a razor blade and cut the trace to the center pad and
the H pad. Using a small wire, short the L and the center
pad. This will cause the PIR to fire every second when
there is a body present triggering the tree.
On the PIR board, there are three pins: “GND,”
“OUT,“ and “VCC.” Solder three wire-wrap wires to these
pins and strip the insulation off of each one. Thread the
three wires into the main board. Place the two 2-56 3/4”
screws through the bottom of the board and add the two
spacers. Thread the screws into the PIR board. They
should self-thread. Solder the three wires (Figure 2).
MAKING CHRISTMAS
220 ohm resistors
and place them HULA HOOPS
into R1-R8. Bend The hoops of the tree are made out of 18 gauge bus
the leads of nine wire, which is quite malleable. Go to the article link and
10K resistors and download the hoop template. Cut the bus wires to the
place them into ring sizes under the template. Bend the bus wire to fit
their respective (Figure 3). Butt the ends of the wire together and solder.
holes in R9-R17. I’m a firm believer in using “tacky flux” by Quick Chip©
Place a 100K into and always have a syringe around for both soldering and
R18, 27K into de-soldering. Massage the wires so they are flat and
R20, and a one round. There are seven hoops; do the same for the rest.
megohm into R21. With each hoop, place the butted ends between the
Solder all the spokes. Place a drop of solder on each spoke crossing.
■ FIGURE 3. resistors. At first I tried using a Sharpie©, but it makes a big black
Solder R19 mess with the tacky flux on the LEDs.
which is the pot. Solder C1; it has no polarity. Solder C2; Cut eight bus wires to a length of 10”. Using two pairs
it does have polarity. Put the long LED into the + pad. of pliers, pull the wires taut and run them over a sharp
Hold the microphone so it’s facing its pins, and rotate it so edge (of a table, for example) to straighten them.
the pins are at the top. Pin 1 is to the left and is positive.
Solder the microphone. Solder the two switches and MOUNTING THE LEDS
transistors, noting their outlines on the board.
Run the two battery wires from the battery holder I found it best to mount the 10” wire on a ruler with
through the strain hole below C1; solder the black wire to two pieces of tape at the ends; refer to Figure 4. If you
“B” and the red one to “R.” are using colored LEDs, download the LED matrix file. The
Mount the battery pack to the bottom of the board microprocessor is programmed to the color pattern on this
using double-sided tape or just put it to the side. (If you matrix. (I used one of wife’s muffin pans to put the LEDs
put the battery holder to the side, add four rubber feet.) in so they didn’t get mixed up.)
Bend the long anode lead
■ FIGURE 4. of the green LED out at a right
angle. Slide it under the column
wire with the LED pointing to
the right. Solder the anode to
the wire so there is about 1/16”
between the LED and the wire
at position 1 (which is 1-1/4”
from the end of the wire).
Using the matrix, go
34 December 2014
■ FIGURE 5.
DOWN the column for the next colored LED, which will
be blue, then yellow, then red. Space each LED at 1.25”
(e.g., 1.25”, 2.5”, 3.75”, 4”, 5.25”, 6.5”, 7.75”, 9”). Cut off
the excess anodes, and put a piece of tape on the finished
column with the #1 on it (Figure 5). Do the same for the Solder lead 1 from
next wire, noting that the first LED is blue; label it #2. Do the LED to column 1
the same for the remaining six columns. so that the three-
Put column 1 into a vice with the LED pointing up. colored LED is in the
Place the first ring with its first mark on the cathode and center of the cone as
bend the cathode up to hold the ring. Solder the cathode the last layer of LEDs.
to the ring. Continue for each ring until all of them are Solder LED 2 to
soldered. column 2 and lead 4
Locate column 5 and mount it in the vice with the to column 3. Cut the
LEDs pointing upward. Locate spoke 5 on the rings, which excess wires off.
will be 180 degrees from column 1. Thread the column Take the green
through the rings and solder the LEDs to the ring. This wire from the cathode
procedure will give structure and will make it easier to of the three-colored
keep the form and symmetry of the cone (Figure 6). LED and wrap one turn
Going clockwise from column 1 (looking from the between each LED on
top), solder column 3 and column 7, then column 2 and column 8. Leave about
6, and finally columns 4 and 8. Re-solder any LEDs that 1” below the column
are out of alignment. wire for soldering to
the board.
THREE-COLORED LED Locate column 1
and solder a green
Cut the top wires off of columns 4, 5, 6, 7, and 8 to wire to ring 1, then
their last LED. You should now have three wires from the wrap one turn around
top of the cone. Cut an 11” green wire-wrap wire, wire column 1 with 1”
wrap it to the long LED lead (cathode), and solder. You below the column. ■ FIGURE 6.
may have to cut it shorter so that the wire is next to the Using column 2/ring 2,
LED. Going left to right, lead 1 is green, 2 is blue, 3 is the solder a green wire. Continue to ring 7, wrapping one turn
cathode, and lead 4 is red. around the columns between the LEDs. Refer to Figure 7.
■ FIGURE 8.
36 December 2014
BUILD IT YOURSELF
By Ron Newton
This is not only a great teaching project for soldering surface-mount components,
it is also perfect for the holidays and very inexpensive. Now, you can help cultivate
interest in a budding student getting started in electronics AND take care of some
gift giving in one fell swoop.
T
plus there’s not much space.
utilizes surface-mount parts with a The board files were generated using ExpressPCB and
microprocessor. It has 16 different colored their free software (www.expresspcb.com). These files
LEDs that flash randomly, blink, have patterns along with hex and assembly files for the microprocessor
that run up and down and down and up, and flash are available at the article link. If you don’t want to worry
different colors. It equates to about one minute of about programming, there is a complete kit available from
programming. The other project uses through-hole the NV Webstore.
components. The new rainbow LEDs used here
change colors and blink. This is about a three minute
project. (My wife actually prefers this style.) Both Okay ... let’s get started by first discussing some
versions use a small hearing aid battery. There’s a helpful tools and tricks to make your construction faster,
video available in the NV Webstore if you’d like to safer, and easier.
see these two different types in action. You won’t really need much in tools. Curved forceps
(check out Mouser 578-EROP7SA for $3.90), a small
This project helps to teach hand surface-mounting tipped soldering tip (I use a Weller PTS8 1/64” long),
and has assembly files that can be changed to make your “Tacky Flux” (Chip Quik SMD 290), small solder wire (I
own patterns. Normally with my projects, I include use Kester 0.60 mm), and solder wick .030 (Digi-Key 60-1-
programming pads so you can change the programming 5-ND). If you’re like me, a lit magnifying lens, loupe, or
on the board. This one does not, however. The low head magnifier will also be of use. Check out Figure 1.
impedance on the programming pathways prevents this, You won’t need a reflow oven for this project.
38 December 2014
Post comments on this article and find any associated files and/or downloads at
www.nutsvolts.com/index.php?/magazine/article/december2014_NewtonEarrings.
■ FIGURE 1.
SIMPLE TOOLS
THAT HELP
USE AN APRON
Although you may look weird, it is well worth using an
apron. Find a white or neutral color with no pockets. Do
not use an apron with a busy design in case a component
decides to fall on you (or the floor). Pick up some Velcro©
and sew or glue it on the top side of the apron in the
two corners and also in the center of the bottom edge (I
usually attach three squares of Velcro.) Refer to Figure 2A.
Stretch the apron out, and put three 4” strips under
the edge of the table where the Velcro strips are. This will
allow flexibility when using the apron (Figure 2B).
Now, if something decides to fly off your work area, it
will be easier to retrieve it.
HOW TO SURFACE-
MOUNT BY HAND
One of the tricks to surface-mounting is to have a very
steady hand and a board that will not move. I use double-
sided tape. This will allow your forearms to rest on the
work bench. It is also great for sticking battery supplies to
another chassis.
Place the double-sided tape to the bench where your
arms will feel comfortable. Have it extend farther than the
board. Peel off the upper side of the tape and stick the
earring board to it. This makes it easy if a part is upside ■ FIGURE 2A.
■ FIGURE 2B.
down or the marking is on the wrong side. Just touch the
part to the tape and (it will stick) roll it.
Let’s try this with a green LED. Find the pads that have
a “G” and add a dab of tacky flux to both pads. Find a
green colored LED, locate its cathode (normally has a
marking on top), and place the cathode next to the G
marking. On the Christmas tree board, the cathode is
marked with the color of the LED. Solder the components
so they are horizontal and not vertical. (If they’re vertical
and you are right-handed, your tweezers “hand” will be in
your stomach.) Watch the LED cathodes on the right side
as they are opposite of those on the left side and center.
(Refer to Figure 3.) Remember to rotate the board, not the
components.
December 2014 39
curved forceps. Touch the each pin individually.
soldering tip to the pad and
component. If it sticks, you are LET’S BUILD
home free. If not, add a small
amount of solder to the pad EARRINGS
and try again. Once tacked, use Now that I’ve made you an
sparse amounts of solder that expert in hand soldering
touch both the pad and the surface-mounts, let’s complete
component’s connector. If you the board.
put too much solder, you’ll To keep track of all the
create a solder bridge! Just take colored LEDs, I would mount all
the clean end of a piece of the greens at the same time,
solder wick and touch it to the following with the other colors.
part. Ta-Da ... it’s cured! Dump all the greens into a
Some quick rules of thumb: canister (or receptacle of your
605s are very difficult to hand choice).
solder; 805s are fairly easy to Solder all the green LEDs,
hand solder; and 1206s are a then the red, yellow, and blue
piece of cake. ■ FIGURE 3. ones to the top of the board.
Remember the cathode goes to
THE “DAUNTING” CHIP the color marking. Only LEDs will be on top of the board.
Actually, chips are really easy. Place tacky flux on Note: For comparison of sizes, I soldered a 1206 LED for
each pad and place the chip onto the pads. Make sure pin the top and two 605s on the vertical LEDs just to show
1 is in its correct position! Remember: Rotate the board, you can actually hand solder 605s. The rest are 805s
not the components. (Figure 4).
Tack pin 1 and the pin in the upper right-hand corner. The reason we did the top first is that it makes a flat
Solder the rest of the pins. Some people flood all the pins surface when turned over.
by dragging the solder across them, then remove the So, turn the board over and place the top of it to the
solder bridges using solder wick. This is up to you, of double-sided tape. Solder the two transistors, U2 and U3.
course, but if you’re a novice, I would practice soldering Solder the two 10K (R1-R2) resistors just above the
■ FIGURE 4.
■ FIGURE 5.
40 December 2014
transistors. They do not have any polarity. Put in the CR1225 battery, and the earring should
Solder the remaining 100 ohm transistors (R3- R10) to start to flash. The battery should power the earrings at
their pads. Solder C1. It has no polarity, either. Solder IC1, least eight hours. I ran a one minute statistical analysis of
noting where pin 1 is. Solder the battery clip (Figure 5). both units, and the average draw is about 2-3 milliamps.
■ FIGURE 6.
December 2014 41
■ FIGURE 7. ■ FIGURE 8.
S AV E
20 O%FF
15th January 2015
*Conditions apply
Selecte
d Items
app
4D Sys
Systems
S designs, develops and manufactures intelligent
telligent
igent graphics solutions
solutio
Enter C
NVDE ode : usingg the latest OLED and LCD technology
chnology available,
available
le, with
wi custom graphics
C20 processors
proc
oces
essors that enable
en both stand
and
d alone and
*Condi
Ends
host
st dependent
d solutions
sol suitable
ble for a very
de range
wide r appl
ap
of applications proj
oj
ojects.
and projects.
4D SYSTEMS
TURNING TECHNOLOGY INTO ART
December 2014 43
BUILD IT YOURSELF
By Dan Koellen
WISHING YOU A
VERY RANDOM
CHRISTMAS
This flexible
eight-channel light
controller uses
random number
generators to make
sure your show is
never the same.
For the past few years, I have had as part of my backyard Christmas light display a
'tree' made up of eight LED light strings strung in a pyramidal fashion to a central
metal pole. (Refer to “The Tree” sidebar.) At night, it was a nice display that worked
well, but as a static display it grew to be boring. I needed to add some action using a
light controller.
There are a number of commercially-available Christmas light controllers that can be
programmed to act in conjunction with music, control many channels of lights with
various effects, and handle high current loads — all with price tags that match the
capabilities. Other options are simple, but repeat the same pattern and quite often
are integrated within the light string itself. For me, I didn’t want to have to
synchronize with music; I did not want the same patterns night after night or
something that required operator interaction. I just wanted a simple controller that I
could plug in a few sets of lights to and apply power.
44 December 2014
Post comments on this article and find any associated files and/or downloads
at www.nutsvolts.com/index.php?/magazine/article/december2014_Koellen.
■ FIGURE 1.
Eight-channel
light controller
schematic.
December 2014 45
for operation at a household mains potential. With the number generator in C, rand(), to provide an ever-
SSR board operating at five volts and inputs spaced at changing light show by randomly choosing from 15
0.2”, the interface to the microcontroller was quite easy. different patterns and two speeds. The program is simple:
(Refer to the sidebar). First, the pattern and speed are chosen, then the pattern is
The maximum current for each channel is two amps, executed a set number of times. It then loops back to pick
but with LED light strings you will be pushing much less a new pattern and speed, and executes the new pattern.
current through each channel. In fact, during initial testing,
I was concerned that one LED light string would not Generating Random
present a large enough load for the triac to fully turn on
and off; fortunately, the switching worked well. I Numbers in C
recommend using LED light strings because not only is In C, rand() uses an algorithm to provide a series of
their power consumption low, the colors that LEDs pseudo random integers between 0 and RAND_MAX (a
produce are more brilliant than incandescent lights shining large number defined by the library). The algorithm is
through tinted glass. started by rand() and uses a seed generated by another
function, srand(int s). By using different values of ‘s’ in
Software srand(), the series of integers generated by rand() are
different. Likewise, using the same values of ‘s’ in srand()
The software was written in C using Microchip’s will produce the same series of integers.
MLAB IDE (integrated development environment) and the You can see this for yourself by writing a simple
HiTech PIC lite C compiler. The source code is available at program that prints out the sequence of integers produced
the article link. Essentially, the program uses the random by rand(). In this project, we ensure that the generated
series is different each time the controller is powered up
by adding one to the previously used seed which was
The Tree stored in the microcontroller’s EEPROM. The new seed is
then stored in EEPROM so it can be incremented at the
The tree that is
next power-up.
used with this
A quick Web search on rand() will bring up several
controller has a
discussions on the ‘randomness’ of it — especially when
center pole from
restricted in a small range as used in this program. If you
which eight LED
are generating random numbers for encryption, unique
light strings are identifications, or other security sensitive applications, this
hung, flaring out is a concern. In this application, by changing the seed
to form a tree-like each time the light controller is powered up, the
structure. Each LED ■ FIGURE A. Drawing of the randomness is good enough.
light string makes tree as viewed from the top.
Eight sets of LED lights As noted earlier, rand() will generate a very wide
two legs, giving a total result in 16 legs. range of integers from 0 to RAND_MAX. What if you only
of 16 legs. A pleasing want a smaller range of integers (for example, 0 to 7) that
proportion is for the is used extensively in this project? The modulus — the
height of the center remainder after division — is used to restrict the range as
pole to be twice the shown in this code for the RandomNumber function:
diameter of the base
of the tree. I used an char RandomNumber(unsigned char range)
{
eight foot pole with a n = rand();
base diameter of four char rnmbr = n % range;
feet. The middle of return rnmbr;
}
each light string is at
the top of the pole, ■ FIGURE B. Here, the variable ‘range’ is (n+1) which restricts the
with the ends at the Drawing of generated random integers to between 0 and n inclusive.
the side view.
base. Each light string The legs are For example, for range = 8, the returned integer will always
is plugged into the LED light be between 0 and 7 since you cannot have a remainder
the controller strings greater than 7 when you divide by 8. For example, if the
meeting at
sequentially. The the top remainder is 8, then the number is evenly divided by 8
controller sits on the of an 8' giving the modulus of 0. In the code, we start each cycle by
base of the tree. metal pole. choosing between two speeds by using RandomNumber(2)
returning either a 0 or 1, and then choosing a pattern (or
46 December 2014
mode) by using RandomNumber(15) and returning an These channels are ORed together and written into
integer between 0 and 14. PORTC after it is determined if the bits need to be toggled
You may notice there is a test to see if the pattern — which depends on whether the active channels are lit or
(mode) would repeat. I found in my early prototypes that dark and which logic is required. By understanding how
patterns and the actual display would repeat periodically. each parameter affects the operation of this function, you
This occurs because we are restricting the range of our will be able to build your own set of patterns.
random number generator. Even though the random
number generator produces two different integers, they Examining a
will appear to repeat if they have the same remainder. I
found that generating another random integer will cut the Few Patterns
repeats so they are infrequent and not obvious to the To get some insight on how the display patterns are
observer. I used the same test in several of the patterns, too. generated, let’s take a look at two patterns: one that is
random, and one that is sequential. In operation, the
Using Port C to Drive particular pattern and the speed is chosen using random
number generators at the beginning of each while(1) cycle.
SSR Board Channels If pattern (i.e., mode) 4 is selected, then the following
Another one of the reasons I chose the PIC16F690 code — using yet another random number generator — is
was that port C is eight bits wide, so it is simple to write a executed. This pattern specifically blanks the active
value to port C. Writing to the PORTC register allows you channel, as well as an additional channel spaced by four
to directly write the desired state for each output. Bit 0 of channels; the other six channels will be lit. As you will see,
PORTC is the value for C0; bit 1 is the value for C1 — all this pattern gives the appearance of two dark strings
the way to C7. For example, PORTC = 0b10101010 will directly opposite each other dancing around the tree:
cause all even outputs to be low and all odd outputs to be
high. Once the pattern is selected, the corresponding // Blanks only channel corresponding to
generated number plus one spaced channel
routine is executed to turn on the desired channels of the // For two enabled channels the spacing is four,
SSR board. Let’s take a look at the function that drives the for three enabled channels the spacing is three
corresponding port C outputs of the microcontroller: if (mode==4)
{
char PortCDriver(char selected, char nchan, char for (i=1; i<=reps; i++)
onchan, char logic) {
char eight = RandomNumber(8);
{
space = 0;
if (nchan == 2){space = 4;}
if (nchan == 3){space = 3;} Why use solid-state relays instead of
char port=0xFF&0x01<<selected | electromechanical relays?
0xFF&0x01<<((selected+space)%8) |
0xFF&0x01<<((selected+space*2)%8); The easy answer is solid-state relays (SSR) don’t
char flip=onchan^logic; make any noise. Plus, they are much more reliable than
//determine if outputs need to be toggled electromechanical (EM) relays. In fact, an EM relay would
if (flip){port=port^0xFF;} likely not survive a holiday season of operation! The
PORTC=port; lifetime for EM relays is specified in the number of
return port; contacts made — about 100k contacts for a typical EM
} relay. Because there are no moving parts, the lifetime for
an SSR is specified in hours of operation; minimally 100k
There are a number of parameters for this function: hours, though many SSRs have lifetimes in excess of one
selected is the active channel for the pattern; nchan is the million hours.
Let’s assume that the light controller is used between
total number of channels to be active (1, 2, or 3); onchan Thanksgiving and New Year’s Day (35 days) for six hours
sets whether the active channels are lit or dark; logic is per day. If we assume a conservative one contact per
positive or negative logic. second, the number of contacts made would be 35 days *
6 hours/day * 3600 seconds/hour = 756k contacts. This is
With this function, we can take the channel that has well over the predicted lifetime of 100k contacts.
been selected by the pattern’s routine and add an Meanwhile, the SSR is operating for 210 hours which is a
additional one or two channels equally spaced around the small fraction of the 100k hours lifetime.
perimeter of the tree. This will give an appearance of Since we are switching very low currents with the EM
relay, in the case of LED light strings, we can generously
channels dancing around the tree. Notice that the spacing increase its lifetime to one million contacts. Even then, the
is added to the selected channel and modulus 8 is used to story is still not too promising. Under those conditions, an
keep the result between 0 and 7. individual EM relay’s probability of surviving the holiday
season is only 47%, while for the SSR it is 99.8%. For
For example, if the pattern calls for three active eight relays, the probabilities of survival for the system
channels and the selected channel is 2, the other two using EM relays or SSRs are 0.24% and 98.4%,
active channels will be 5 and 0 (i.e., (2+2*3)%8 =8%8=0). respectively, using the very low current assumption.
December 2014 47
if(eight%4==oldeight%4) and the safety of others should be the first priority as you
{
eight = RandomNumber(8); build this project. If you are not experienced or don’t feel
} //end if confident in working with mains voltages and currents, get
oldeight=eight; help from someone who is experienced in dealing with
PortCDriver(eight,2,0,portclogic);
pause(dd); household voltages and currents.
} // end for
} // end if
Enclosure
The pattern is executed 32 times as defined by the
variable reps. During each execution, a random integer Since my controller is outside at the base of the tree,
between 0 and 7 is generated and is used to select the a top concern for me was to keep water and prying
active channel. Once again, we test for repeats as fingers from entering the enclosure. To do this, I
discussed earlier, but this time we use modulus 4 instead minimized the number of holes that could let water in by
of modulus 8. This is because we will be activating two eliminating any adjustments or other controls. My
channels, with the second channel spaced four channels controller — and the rest of my holiday lighting — is
from the selected channel. powered by an outlet connected to my home automation
For example, selecting channel 0 looks the same as if system, so I left out the power switch. The only holes
channel 4 was selected. Once the active channel has been needed are for the power in and each of the switched
selected, the PortCDriver() function is used to drive the channels. In my case, I used a plastic food storage
SSR board. Here, we designate the selected channel with container that is waterproof. It worked well for me since it
the variable eight; there are two active channels, the active is sealed against the elements and is electrically isolated. It
channels are blanked, and the port logic is defined by the is not secure enough to prevent access while it is powered
portclogic variable. Pause(dd) freezes the pattern for either up, however. If contact with the box is possible, then you
250 milliseconds (dd = 0) or 500 milliseconds (dd = 1), should use a waterproof enclosure that is secured with
setting the speed of the display. In this next example, two fasteners or move the controller into a secured location.
opposite channels are active and will be lit while the other To bring power to the controller and deliver switched
six sets of light strings will be dark. The pattern will appear power from each channel to the light strings, I used
to rotate around the tree four times. This pattern is polarized power extension cords with the unused end cut
executed when pattern 14 is selected: off. These cords have polarized plugs and outlets with one
large blade (neutral) and one small blade (hot). During
// Enables only one channel and spaced channel construction, keep proper polarization so that you are
// decreasing rotation
fusing and switching the hot side, while neutral is only
if (mode==14) used as the return. After cutting off one end of the
{
for (i=reps; i>=1; i—) extension cord, you can use an ohmmeter to identify
{ which lead is hot. This is the side that will be switched by
char eight = i%8; the SSR board.
PortCDriver(eight,2,1,portclogic);
To keep the enclosure waterproof, I had to make sure
pause(dd); each power cord entry was sealed. I used a grommet to
} // end for protect the cord from the plastic edge of the hole it
} // end if
passed through. Since the cords that I used were flat
rather than round, fitting the grommet was more
Similar to the prior example, this pattern is executed challenging than simply drilling a round hole. I used two
32 times, but in this case the selected channel is not smaller adjacent holes to form an elongated hole. After
random, but rather the modulus 8 of the rep count as it clipping out the plastic between the two drilled holes, an
decreases from 32 to 1. Since I chose 32 for the number elongated hole just larger than the cord was produced.
of repetitions of patterns, the cycle will repeat four times. The cord is pulled through the hole after fitting the
Again, the function PortCDriver() is used to drive the SSR grommet. Threading the cord through the grommet should
board with the selected channel designated by the be tight; I practiced this on a scrap piece of plastic first to
variable eight; the number of active channels is two, the get the right size and fit. In addition, I used a plastic zip tie
active channels will be lit (i.e. enabled), and the port logic around the cord on each side of the hole to keep the cord
is defined by portclogic. from moving, then some silicone as a final water tight seal.
SSR Board
Using the prebuilt SSR board makes wiring the high
voltage mains circuitry easier and safer. Even so,
precautions must be taken to make sure polarity is
maintained; there is no exposed high voltage and use of
wire size that can handle the current that will be passing
through it. As shown in Figure 5, leads are dressed and
color-coded so polarity is maintained; the hot side of the
AC should be switched by the SSR board while neutral is
used for return (or common). Traditionally, hot is
connected with black insulated wire and neutral with
white insulated wire as used here. Be sure that the wire
insulation is rated for household voltage. ■ FIGURE 5. Close-up view of the AC wiring.
December 2014 49
Once this test has passed, go ahead and place the boards
into the enclosure and attach the power and switched
outlets for the light strings.
There are no adjustments needed — just supply power
and the controller will run on its own.
Make sure the voltage to the SSR board is close to
five volts. I found that if the voltage is low, the selected
channel LED will still light but the solid-state relay may not
turn on. This confounded me for a while during
prototyping until I found that my voltage had dipped
below five volts.
Modifications
You Can Make
■ FIGURE 6. Completed assembly before There are modifications to the controller you can
installing the cover. make including patterns, speed, and the number of
channels. You can easily add or modify the patterns that
the SSR board. The SSR board and the connected perf the controller generates. When I was prototyping the
board float in the case, held in place by the connecting circuit, I drove the LEDs directly with the appropriate
wires. This was done to eliminate additional holes that series resistor from the PIC16F690. I arranged the LEDs in
would be used to mount to the case, reducing possible approximately the same pattern as the final display which,
compromise of the weather seal. The power to the SSR in my case, was a circle. This gave me an idea what the
board is also supplied by the five volt wall wart used to pattern would look like, which I found quite useful.
power the microcontroller board; connect power to the If you add or delete patterns (modes), be sure to
Vcc and GND terminals on the SSR board. The completed change the modulus where the mode is selected. You can
assembly is shown in Figure 6. change the speed of the pattern by modifying the delay in
the pause() function, and the number of times the display
Startup and is stepped by modifying the variable reps.
Modifying the number of channels is more
Troubleshooting complicated, but can be done by experienced builders.
After building the microcontroller board, it is easy to The PortCDriver() function may need to be modified, and
check for operation. Connect the microcontroller board to the range of random numbers generated in patterns would
the SSR board and supply power from the wall wart to have to be modified, as well as the modulus used in other
both boards; no need to hook up the outlets or light patterns. If you want to use more than eight channels,
strings just yet. The SSR board called out for this project then other ports of the microcontroller will have to be
has an LED on each channel that lights when the channel used, as well as additional SSR boards.
is selected. When powered up, you should see a series of
changing patterns of lit LEDs on the SSR board. If not, I hope you will enjoy building this project. It made a
make sure that you have properly connected the big difference in my holiday display. It will do the same
microcontroller board, and check your perf board wiring. for you. NV
Unboxing
T
his amp kit is based around the common LM1875
chip amp. It can reportedly deliver up to 18W audio
output with as low as 0.015% total harmonic The packaging is very secure, and thick foam end
distortion, and it’s wrapped in a beautiful and very pieces and separate compartments for the different bags
interesting looking laser cut blue acrylic case to show off of parts keep the acrylic safe in transit. The parts were
the construction. grouped based on when you’d need them in the
instructions — the amplifier modules, power supply
module, interconnect and chassis hardware, and the
Figure 1. Finished
product. transformer were all packed separately.
The first thing I noticed was the quality of the
components included. Boxed Kit Amps used high
quality audio-grade parts in the kit, including Nichicon
electrolytic capacitors, and WIMA and Panasonic film
capacitors on the amp modules. I really appreciated this
attention to detail. A few key wiring diagrams are
included in the box, with the full build manual provided
as a PDF on Boxed Kit Amps’ website at www.boxed
kitamps.com.
It’s about 50 pages long, so I can see why they
didn’t include it as a print-out. I ended up printing off a
copy to have on my bench as I went through the
December 2014 51
Post comments on this article at www.nutsvolts.com/index.php?/magazine/article/december2014_Koebel.
Figure 2. Everything held safely in place. Figure 3. Parts are well organized by function and step.
Amplifier Modules
There are two identical amplifier modules in the kit
which stay pretty close to the reference design for the
LM1875. They have a very simple signal path — there’s
just one capacitor and the volume control between the
input jacks and the input to the amp chip.
The build instructions are easy to follow, and the
boards themselves are great quality. Each PCB (printed Figure 4. Amplifier components.
circuit board) has an eye-
catching black solder mask
which is a lot more Figure 5. Amplifier schematic.
interesting to look at than
the generic green style
you usually see. The board
uses entirely plated
through-holes which form
a strong physical and
electrical connection.
Populating the passive
components was easy, but
it was a little finicky
getting the amp chip
mounted to the heatsink.
Nothing a pair of tweezers
and a steady hand
couldn’t deal with, though.
The solder pads on the
52 December 2014
Figure 6. Completed amplifier board ready Figure 7. Securing the silicone thermal pad. Figure 8. Chip mounting complete.
to mount the LM1875.
Power Supply
The power supply board is shared with a few other
Boxed Kit Amps projects, so has some extra pads that
aren’t meant to be populated in this version of the kit. It’s
a straightforward power supply — a toroidal transformer
feeding a bridge rectifier, filtered by 4,700 µF capacitors to
form a bipolar power supply. One nice touch are the LEDs
across the filter caps as bleeders. They could be replaced
by a resistor if you don’t want another light source in the
case, however.
First power-up and no smoke! The LEDS are cool
sitting there on, and the power switch lights up when
turned on, too. A quick check of the voltages shows
they’re within spec. The power supply might benefit from
a little better voltage regulation — the positive and
Figure 15. Measuring the unloaded output voltage. Figure 16. Laying out the components.
54 December 2014
Figure 17. Mounting the hardware. Figure 18. First full system test.
negative rails are close, but are not quite perfectly to the volume control with a grounded metal body, and
matched. through more shielded coax to the amplifier input.
Luckily, there was no smoke on the fully assembled
Finishing Up test run, either. I did do a couple of tests. First, with no
input signal, I turned the volume to max and listened for
Finally, it was time to hook everything together. I white noise in the speakers. It was nearly completely silent
started staging the boards roughly where they mount — very nicely done. Then, I hooked it up to my meters. I
inside the enclosure and hooking it all together. Wiring the got about 12W with low to virtually no distortion into an
boards together was a bit tedious, but uneventful. I did 8 ohm load (less than 0.06% THD), 15W with moderate
find the holes for the wires to be a bit small — especially distortion (<2% THD), and past 15W up through 25W
the speaker output leads. It took several tries to remove measured power with distortion starting about 30%.
the right number of individual strands from the bundle With confirmation it was working well, I zip-tied and
before they seated nicely, but otherwise it wasn’t too bad. bolted everything together. Some of my wire routing was
On the power supply board, a screw-down terminal a bit longer than I liked, but with the fully shielded audio
block holds the DC power wires. On the amp modules, path, I wasn’t too worried about an extra inch or so in a
those wires are soldered in. Audio input is a screw-down couple of places.
terminal, and speaker outputs are soldered in place. The case itself is beautiful. It’s a laser cut piece of
By now, you’re thinking “all this plastic, it’s not transparent blue acrylic with a very interesting etching
shielded at all — how is it going to protect against noise pattern to let it wrap around and form rounded corners.
and interference?” And, you’d be right. It is all plastic, but The entire main section of the case is made of a single
luckily interference and noise aren’t an issue as the signal piece of acrylic, with separate front and rear panels with
path is fully shielded — from the input jacks through coax laser cut holes for the inputs and outputs. It came with a
Figure 19. Completed amplifier, front. Figure 20. Completed amplifier, rear.
December 2014 55
protective film on both sides. The lead dress isn’t perfect
Removing the film was inside, but it’ll be easy to go back
probably the most annoying part of in and clean it up after the fact. I
building the kit — it was easy on did a few listening tests with it
the flat surfaces, but the curved finally assembled. This amp doesn’t
portions were a real challenge due put out a huge amount of power,
to the cuts. It probably took me 20 so it’s best with high efficiency
minutes of picking little bits of the speakers. I used a set of Klipsch
protective wrapper off to get the bookshelf speakers with about 94
acrylic panels ready to finally dB efficiency, and was able to drive
assemble. them louder than I would want to
After I got the film off, the listen to at my desk. So, there’s
residual static charge it left on the plenty of power available.
acrylic was enough to attract every As far as the sound, it was
speck of dust from around the accurate and neutral, almost clinical
room onto its surface, so I wiped it even. The limiting factor of the
down with a clean (just barely) sound quality seemed to be the
damp cloth and that seemed to source material. Since I’ll be using it
take care of it. largely as a desktop amplifier, I
Getting the front and rear used a selection of lossless digital
panels to mate neatly was a bit audio files and a FiiO external DAC.
challenging too. It felt like it I could hear every note and pick
required three hands to snap Figure 21. Test stack. out every instrument with perfect
everything together. However, I did clarity. It did manage to sound
get all the tabs lined up correctly in the end, and bolted decent with a Pandora stream, but it wasn’t hard to pick
them down with the small securing screws. out some compression artifacts which the amp faithfully
reproduced if you listened for it. It’s going to sound as
good as the signal you feed it.
After the listening test, I took some measurements.
Based on my analysis, I found the amp’s power bandwidth
was within 1 dB from 20 kHz; 33 kHz and down was only
-3 dB at 10 Hz. Distortion was very low throughout the
frequency range, too. It was a little higher at the ends and
lower in the middle, but all below 0.06% THD. That’s a
little bit higher than the 0.015% theoretical performance
of the chip; I expect I’m a bit limited by my test setup in
this case. Regardless, total harmonic distortion below
0.06% is very, very good.
It took me about six hours from start to finish to build
Figure 22. Frequency response (0 dB = 12W into 8 ohms). the kit, and other than some trouble prepping the case
and attaching some of the stranded wires, it was fun and
straightforward. If you’re a new builder, it might take a
little longer.
The modular design and well thought-out instructions
make each step a rewarding experience. Since the kit is
modular, it’s easy to make some progress even if you only
have a few minutes to dedicate to projects in an evening.
I’d recommend this kit if you’re looking for a fun
project that delivers great results. I’m planning to use the
completed amplifier as my bench amp to use while
working on line-level audio devices like tuners and pre-
amps since the low distortion will ensure I’m hearing the
device under test, and not the amp itself. It’d be just as
great as a desktop amp for daily listening, too. And, it
Figure 23. Total harmonic distortion (N = 5 at 12W into 8 ohms). looks great! NV
56 December 2014
SMILEY’S WORKSHOP ■ BY JOE PARDUE
C PROGRAMMING - HARDWARE - PROJECTS
Making Sounds
A musical tone is characterized by its pitch, duration,
intensity, and timbre. Pitch is a human perception based
■ FIGURE 2: ATmega328p block diagram. on the frequency of a sound. Duration at its simplest is
the length of time for a musical note. Intensity is the
loudness. Timbre refers to perceived qualities of the tone
sections correspond to those shown in the block diagram that differentiate between various musical sources. For
for an Arduino UNO’s ATmega328p in Figure 2. instance, a given pitch may be produced by both a violin
Much of what you see in these illustrations is well and a trumpet but the timbre is different.
beyond the scope of this series, but they help understand Our piezo speaker has many problems associated
the general concept that there are separate entities on the with creating a musical tone. The intensity of each pitch
silicon that surround and work with the CPU. varies significantly; far greater intensity for pitches are near
So, in this boss/employee analogy, how does the boss the resonant frequency (frequency that is physically
find out about the status of the employee’s work? There amplified by the box containing the piezo element) and
are two ways to do this. One is for the boss to stop then are very diminished elsewhere. We do have decent
working and go see what the employees are doing. In the control over the duration, but the timbre can only be
computer world, when the CPU (boss) checks on the described as awful — certainly not Hi-Fi (High Fidelity =
peripherals (employee), it is called polling. really good sound).
The other way to do this is for the employees to knock Nonetheless, we can use a piezo element to produce
on the boss’ door and interrupt his workflow; for something that people will generally recognize as music —
computers this is called an interrupt. The boss responds to albeit awful sounding music, but still recognizable.
the racket by setting the current work aside — perhaps For our purposes here, music theory even in its most
marking the task list so the work can be resumed when the elementary form is beyond the scope of what we are
interruption is taken care of — then, the boss deals with the trying to accomplish. We will thus just say that music
interruption. Once it’s dealt with, the boss looks back at involves tones played for discrete periods of time.
the task list and resumes where the mark he left shows the An example of this would be the tune, Happy
interruption occurred. For a computer interrupt, the CPU Birthday which can be played with 26 notes — each held
58 December 2014
for a relative duration of one, two, four, or six equal pace you want your tune to have. If you set 1 to one
periods: second, then the tune would sound like it was being
played in slow motion. If you set it to 1/4 second
Happy Birthday (250 ms), then you’d find the pace to sound more like
Notes: ccdcfeccdcgfccCafedbbafgf what you would sing. Let’s play this.
Duration for each note: 1, 1, 2, 2, 2, 4, 1, 1, A program looking at the first six notes and their
2, 2, 2, 4, 1, 1, 2, 2, 2, 2, 6, 1, 1, 2, 2, associated duration would then play the c note for
2, 2, 4 250 ms, pause for 250 ms, play the c note again for 250
ms, pause for 250 ms, play the d note for 500 ms, pause
Try singing the song while looking at the duration for for 250 ms, play the f note for 500 ms, pause for 250 ms,
each note; this should make more sense. The first six play the e note for 1,000 ms and pause for 250 ms.
durations are 1, 1, 2, 2, 2, 4, which correspond to “Hap py The Arduino toneMelody example (that you can find
birth day to you.” You’ll notice that you divide Happy into in the Arduino IDE [integrated development environment]
two instances of the same note as you distinctly separate under File/examples/0.2Digital/toneMelody) does
it into “Hap” and “py” during the song. Next, you sing something similar to what we just discussed in that it reads
“birth” but for the same duration as the time to do the the note for the tune array, turns on the tone, and then
two notes for “Hap” and “py.” It’s likewise for “day” and delays for the duration. That’s cool and we will do this in a
“to,” but when you sing “you,” that note is held for four lab, but there is one very serious caveat for playing tunes
times as long as “Hap” and “py,” and twice as long as this way: You can’t be doing anything else because the
“birth,” “day,” and “to.” So, the timing is 1, 1, 2, 2, 2, 4. delay() function completely occupies the CPU while
You may have noticed that as you sang each note, delaying for the indicated duration!
you inserted a brief quiet pause between each note. This Fortunately, there is a better way. We can use an
pause was about equal to the time of the shortest note interrupt to play the tune in the background. For this, we
(1). You might ask “1” what? Well, that depends on the will keep our tune in a single array, and have the interrupt
TS-7670 and TS-7680 Industrial Computers TS-4900 High Performance Computer Module
Up to 454 MHz ARM w/ 256 MB RAM Up to 1 GHz Quad Core ARM CPU
2 GB Flash Storage
Up to 2 GB DDR3 RAM
Industrial Temperature (-40 ºC to 85 °C) Pricing
WiFi and Bluetooth starts at
DIO, CAN, Modbus, RS-485 Pricing
starts at 4 GB Flash and microSD $ 99
S-7670 Features: Qty 100
GPS and Cell Modem $129 Gigabit Ethernet
Qty 100 $134
1x Ethernet SATA II and PCI-Express
Qty 1
2x microSD Card Sockets $168 DIO, CAN, COM, I2C, I2S
NG
MI ! TS-7680 Features: Qty 1
CO ON Industrial Temperature (-40 ºC to 85 °C)
SO
WiFi and Bluetooth Supports Linux & QNX
24 VAC Power Input Low cost plastic
Android & Windows Coming Soon TS-8150 PC/104 TS-TPC-8390 touch
enclosure available
2x Ethernet development panel computer
board available available
AL
D
F
EN
LI
IG
OP
RU
December 2014 59
check that array every 250 ms to play the tone in the // notes in the melody:
int melody[] = { NOTE_C4, NOTE_G3, NOTE_G3,
background for 250 ms until the next interrupt occurs. A NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4};
quarter of a second (250 ms) may not seem like much to
us, but to a CPU processing instructions at roughly This statement defines an array named melody that
16,000,000 per second, it can do 4,000,000 instructions stores integers (remember that NOTE_C4 is an alias for the
while that tone is being generated in the background by integer 262). In order to play the tune, we will want to
one of the peripheral devices. The CPU can get a lot of extract each element in sequence one at a time to play
other work done while humming a tune — if you use each note. We do this as follows:
interrupts and let a peripheral do the humming.
// define the variable to hold a note
int myNote = 0;
But Wait, What's This 'Array' // set myNote equal to the number 3 element of
of Which You Speak? // the array
myNote = melody[3];
Yikes, we are in the middle of learning about making
music and suddenly we are using arrays — what the heck Arrays use computer style numbering so the first
is an array? An array is a way of storing some related data element of the array is stored at the 0 location, the
in a location in memory so that it is easy to get to. An second at 1, the third at 2, and so on. In the above
example of ‘some related data’ would be that list of notes example, myNote will equal the number 3 position in the
for the Happy Birthday tune. There are 25 notes that we array which is the third note, NOTE_A3. The first note in
need to store somewhere in the computer memory, so we the array, NOTE_C4, is in the number 0 position.
can pull them out one at a time when it comes time to Let’s review this. Arrays are blocks of memory with
play that note. the first memory location in that block identified by the
An array is a way of defining blocks of memory with array name. (In our example the ‘melody’ term is an alias
each byte located in a continuous sequence of memory for the location of the first element in the array —
locations. So, for our song, we will set aside 25 memory NOTE_C4). Again, arrays are numbered beginning with 0,
locations, and then we can access each byte in that array so when you request an element of an array you must
by getting the byte from the first location, adding one to remember this and request the element by subtracting 1
that location to get the next byte, and so on till we have from the location of the element if you use normal
added 25 to the first memory location and gotten the arithmetic counting. (In our example, the third element in
25th note. Arrays are a data type, and the compiler knows the array is indicated by melody[3], NOTE_A3). There is no
how to handle them when you define them correctly. magic in this — it is just the way that arrays are done.
The toneMelody example that comes with the We might use that melody array as follows:
Arduino IDE I mentioned previously plays the simple tune,
Shave and a Haircut, two bits. In the code, you’ll see int i = 0;
int myNote = 0;
before the setup() function:
for(i = 0 ; i < 7 ; i++)
#include “pitches.h” {
myNote = melody[i];
// notes in the melody: playTone(myNote);
int melody[] = { }
NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0,
NOTE_B3, NOTE_C4};
In this case, we know the array has seven elements, so
// note durations: 4 = quarter note, 8 = eighth
// note, etc.: we use a for-loop to move through the array beginning at
int noteDurations[] = { 4,8,8,4,4,4,4,4 }; element 0 and continuing through element 6 (the first
through seventh elements of the array). The actual
First, we see that we include the pitches.h file which toneMelody program uses a more efficient but less clear
has definitions for musical note frequencies. For example, way to play the melody, but the underlying principle for
it defines: using an array is the same. This may feel a bit iffy, but the
labs will help reinforce the array concept.
#define NOTE_C4 262
Sound Components,
Schematic, Layout
The piezo speaker included
in the Arduino 101 projects kit ■ FIGURE 3: Piezo with legs bent for breadboard.
(available through the NV
Webstore) comes with long straight legs. You should bend
its legs as shown in Figure 3 so that it can be used
conveniently on the Arduino proto shield breadboard
(also shown in Figure 3).
We utilize the PWM peripheral that we discussed for
using to control the angle of servomotors. You can set
these PWMs so that they generate an audio frequency
associated with a musical note. For instance, to generate
the c musical note, we create an output waveform (see
Figure 4) that turns on and off with a frequency of
261 cycles per second. Each of these on/off cycles occurs
in 1/261 of a second, or 0.003831 seconds.
Since we are dealing with microseconds, we multiply
this by 1,000,000 to get 3,831 microseconds per cycle.
Since we need to cycle the pin (turn the pin on and off) in
that time, we turn it on for 3831/2 = 1,915 microseconds
■ FIGURE 4:
(throwing away the fractional part) and off for 1,915 A c note
microseconds giving us a total of 3,830. We lost one due waveform.
to our not wanting to use fractions, but who is going to
miss a microsecond? Yeah that sounds like a lot of work peripheral timer and have that timer interrupt the CPU
for the computer, but fortunately the CPU can simply tell when the duration is passed, so that it can stop the
the PWM to do this, and it does it in the background with current tone and then instruct the PWM to play the next
no further intervention by the CPU until time to stop tone. We will generate tones using the PWM and keep
outputting that sound. track of the duration of the tone using a timer interrupt.
The duration of each tone will vary depending on the tune
Sound Using Interrupts being played, but each duration will be in common units.
For instance, we might have a melody with 100 mS units
Earlier in this chapter, we discussed the Arduino of duration. The shortest time we can play a tone will be
example program, toneMelody that plays a sequence of 100 mS, and each longer interval will be some number of
notes and uses the delay() function to time the notes. The those periods.
main problem with the methods shown in the toneMelody We then keep an array of durations which tells us
example from the Arduino IDE is that it uses the delay() how many of these periods to play a tone. For instance, if
function to time the duration of the tone in the melody. in my tone array at postion 10 we find a c note, we then
The delay() blocks the CPU while playing a tone, so it look in the duration array at position 10 and see that it is
can do nothing but wait for the tone to finish before it 5. Since we know that the minimum duration is 100 mS,
does the next thing. That doesn’t matter in the we will start that c note on the PWM and set the timer to
toneMelody example since all the Arduino is doing is interrupt the CPU when 5*100 mS have passed; that is
playing a tune. If you want to do anything else while you 500 mS, or half a second. In order to play a melody this
play a tune, however, you’ll need to use interrupts. As way, we will need the tone array, the duration array, the
discussed above, by using interrupts the CPU can do number of tones we are going to play, and the minimum
millions of operations while each tone of a tune plays in duration of a tone.
the background. For example, we use the following data to play Happy
We want to have the CPU set the duration in a Birthday:
December 2014 61
int timerMS = 40;
int dataCount = 50;
int freq[] = {587,0,587,0,659,0,587,0,784,0,740,
0,587,0,587,0,659,0,587,0,440,0,784,0,587,0,587,0
,1175,0,988,0,1568,0,1480,0,1319,0,1047,0,1047,0,
988,0,1568,0,880,0,1568,0,};
int duration[] = {3,1,2,1,8,1,8,1,8,1,16,
1,3,1,2,1,8,1,8,1,8,1,16,1,3,1,2,1,8,1,8,1,8,1,8,
1,16,1,3,1,2,1,8,1,8,1,8,1,16,1};
Parts required:
1 Arduino
1 USB cable
1 Arduino proto shield and jumper wires
1 CdS light sensor
1 10,000 Ω resistor
// A101_ch9_light_sensor_voltage 9/28/14
//Joe Pardue // You must use volatile when using variables in
// interrupts
#define INT0 0 // INT0 is on pin 2 in the UNO volatile int state = 0;
62 December 2014
unsigned long time = 0;
int count = 0;
void setup() {
Serial.begin(57600);
Serial.println(“Measure light sensor voltage
rev 1.0”);
attachInterrupt(INT0,lightInterrupt,RISING);
}
void loop() {
// The time statements are used to prevent
// multiple interrupts caused by a bouncing
// signal on the pin
if(state)
{ ■ FIGURE 7:
if((time+5) < millis()) Light sensor interrupt
{ serial monitor output.
Serial.print(“Light interrupt #:”);
Serial.println(count++);
time = millis();
}
state = 0; // reset state to 0
}
}
void loop() {
tone(tonePin,i);
■ FIGURE 8: delay(250);
Timer1 interrupt Serial.println(“freq: “);
output. Serial.println(i);
tone(tonePin,0);
}
}
❏ Compile and run the program.
❏ Open the Arduino serial monitor as shown in Figure 11
and observe the frequencies to judge the loudest
sound.
❏ I observed that the loudest sound was around 4,500 —
you may find a different frequency.
❏ Modify your code to bracket the observed frequency
with 500 below and 500 above, and step through it in
50 Hz increments as shown next. Again, note that my
❏ Compile and run this program. You should see the use of 4,500 is not necessarily what you will observe.
serial monitor output shown in Figure 8.
void loop() {
Parts required:
1 Arduino
1 USB cable
1 Arduino proto shield and jumper wires
1 Piezo element
#define tonePin 6
■ FIGURE 9: Piezo element breadboard.
64 December 2014
■ FIGURE 10:
Piezo element
schematic.
■ FIGURE 11:
First frequency
observation.
void loop() {
USB
USB-FIFO
Add USB to your next project--
It's easier than you might think!
USB-UART USB/Microcontroller Boards
RFID Readers Design/Manufacturing Services Available
Absolutely NO driver software development required!
www.dlpdesign.com
HobbyEngineering
Kits, Parts and Supplies
www.HobbyEngineering.com
Got electronics?
www.nutsvolts.com
SERVO MOUNT GEARS For the ElectroNet
online, go to
www.nutsvolts.com
$ 3.0
8 click Electro-Net
'
6(
58
62
(1
&6
5,
&7
/(
2(
27
3+
)
Patented
www.servomagazine.com
66 December 2014
GETTING STARTED WITH 3D PRINTING ■ BY CHUCK HELLEBUYCK
68 December 2014
HELPFUL INSTRUCTIONS TO CREATE AND PRINT
Post comments on this article and find any associated files and/or downloads at www.nutsvolts.com/
index.php?/magazine/article/December2014_GettingStarted3DPrinting.
My YouTube Channel:
www.youtube.com/user/beginner
electronics
My 3D designs:
www.thingiverse.com/elproducts/
designs
Tinkercad:
www.tinkercad.com
Davinci 3D:
us.xyzPrinting.com
Davinci Forums:
www.solidforum.com
www.voltivo.com
under $500. The initial reviews were negative because it adjustments. I found that the auto-calibrating base still left
was not open source and required you to buy their the prints lifting off the heated bed at times. I decided to
filament cartridges. Of course, it was quickly hacked and manually adjust it myself to my own settings, and soon
users were running third party software on it. found the prints were coming out much better and
I didn't want to hack it. I wanted to use it as-is. It sticking to the heated platform during the print without
didn't take long before reviews came in from users who warpage or lifting.
said it printed just fine with the included software. That's Like any tool, you have to learn some of the "features"
what I wanted to hear! to get it to work the way you want. It was really just
It was clearly popular as it sold out often on Amazon, several minor tweaks to fit my needs. I then began to
but after about a month I finally was able to get one. I design my first 3D case for one of my electronic designs. I
received my first 3D printer — the Davinci 1.0 — and created a case for my homemade PICkit 2 clone
within an hour, I had completed my first 3D print. It was a programmer design I feature on my website at
sample print of a keychain token which the Davinci has as www.elproducts.com. Franky, it’s probably one of the
part of its three built-in sample print selections. It went so ugliest case designs I've made, but I learned a lot from it.
smooth, I was hooked. After about 15 prints, I was able to get everything to fit
From there, I started to print some of my Tinkercad together properly and even designed in a snap feature for
designs. The designs came out excellent and I was soon the top. My skills using Tinkercad continued to get better
designing new items to print. I felt like a kid with a new as I could now see the direct results of my designs. I'm
toy. I also found other users at a couple forums. Many now to the point where creating a successful design can
were already hacking their Davincis, but a few people be completed in one or two prints.
were having fun like I was — without modification. With the 3D printer firmly planted in my workshop, I
After several weeks of printing, I discovered that even began to search Thingiverse.com for designs I could build.
though the Davinci was designed to make 3D printing I found a plastic version of an eight-pin integrated circuit in
"out-of-the-box" easy, I could improve it with just a few actual size, but I decided to make it bigger. In fact, I made
70 December 2014
it big enough to hold a small breadboard and have storage and also Thingiverse after the article is published. In most
space inside to hold all the components and programmer cases, the designs will work on other printers as well, so
(of course, for someone to use with my book, you can import the .stl file into any software you want to
Programming PICs in BASIC). print or modify it in as you see fit.
Several people I showed it to thought it was very If you have ideas for 3D prints you'd like to see here,
interesting, so I decided to share the fun I was having send me an email at [email protected]. It's great to
through YouTube videos. I launched a channel at be back at Nuts & Volts to share in the fun of building
youtube.com/user/beginnerelectronics to showcase how electronics and 3D printing with the readers. NV
to get started with both electronics
and 3D printing.
A LL
It was clear to me that the final
step of hardware, software, and
packaging was solved, and many
people were sharing designs on
Thingiverse and elsewhere.
Designing custom packaging for
E LE CT RO NI CS
electronic creations and then easily
www.allelectronics.com
sharing the designs with anybody O r d e r To l l F r e e 1 - 8 0 0 - 8 2 6 - 5 4 3 2
who wanted to print them on their ULTRACAPACITOR PUSH-ON MOMENTARY
own 3D printer was here. 1500 FARADS - 2.7 VDC SWITCH
I know there are still many who Maxwell Technologies C&K # 8531. Single-pole,
are still trying to decide if this 3D # BCAP1500 P270. momentary-on pushbutton switch.
printing is worth the expense, and Ultra-high capacitance Rated 1A 120Vac. 15/32-32 threaded
for extended power bushing. 0.33" diameter red pushbutton.
some are still confused about where availability in a variety of situations. Sealed epoxy body. Solder turret terminals.
2
to start. That’s why I teamed up Allows function to remain available during USA made. UL. $ 50 10 for
with Nuts & Volts again to launch power dips and outages, relieves batteries CAT# MPB-39 each $2.25 ea.
this column. of burst power functions. High current capa-
The goal of this column is all
bility, 100 Amps. Threaded stud terminals, 5K LINEAR POTENTIOMETER
M12-1.75. 85mm L x 60mm D (3.34" x Bourns #PCL1J-C28-CAB502.
25
about helping you get started with 2.36" D), excluding terminals.
$ 00 Single-turn, 0.75W potentiometer.
3D printing for your electronic CAT# UCP-1500 each 6mm diameter flatted plastic shaft.
designs. Over time, we’ll include 9mm diameter threaded plastic
projects that will be first released to 2-8 VDC MINI-MOTOR bushing. 22mm square x 7mm.
CAT# PPT-5KL $ 50
1
Mabuchi # FF-030PA 08250.
Nuts & Volts readers — mostly Body: 15.5 x 12 x 20mm long. each
related to packaging of electronics. Shaft: 1.5mm diameter x 6mm long. Two
However, I will also show 3D tapped mounting holes on 10mm centers, AUTOMATIC WIRE STRIPPER
ISO M2.0 x 0.4. No-load rating: 6Vdc, A quick, easy way to strip a wide
printed tools or objects for your 41mA, 10,500 RPM. Solder terminals. variety of insulated wires and
electronics lab, and helpful tips and
1
CAT# DCM-433 coaxial cables. Squeeze the
tricks. I will try to cover anything
$ 25 handles together to clamp on an
100 for $1.05 each each insulated wire. Continue to fully
new that may make 3D printing squeeze the handle to activate
easier in the future, as well. The FLOAT SWITCH WITH the metal strippers to pull off
5
idea is to help you get started with INTEGRATED THERMISTOR the insulation. $ 35
3D printing so you can create your Horizontal/side CAT# WSI-1 each
mount liquid level
own 3D designs.
To make things less expensive
float switch. For LASER POINTER & 12 LED
sensing rising or POCKET WORK LIGHT
and easier for the beginner, I'll be falling liquid levels.
Nebo 6053 Larry 2.
using my low cost Davinci 1.0 Hermetically
Combination laser
sealed magnet and
printer and the free Tinkercad pointer and
reed switch for accurate, reliable long-life
software to produce the .stl files to extremely bright
operation. Integrated 10K ohm NTC ther-
LED worklight. Magnetic 180° swivel clip for
print. This allows anybody to get mistor allows monitoring of liquid tempera-
attaching the light to any magnetic surface
started and follow along with me ture as well. Threaded 13/16" male Nylon
and freeing up your hands. Water and im-
stem. Polypropylene float, 2.4" long from
for less investment. Any of the pact resistant. Max laser output <5mW / 650
hinge to end. CAT# FLW-1 nm. 6.75" long. Operates on three AAA bat-
designs I produce for this column
will be shared through my website $
675
each
10 for $6.25 each
100 for $5.90 each
teries (included).
CAT# FL-40 16
$ 00
each
December 2014 71
NEAR SPACE ■ BY L. PAUL VERHAGE
CubeSats — Part 1
Photograph from NASA.
describe where to purchase kits and students would never complete this
"Reach low orbit and a model that I’m designing as a practical satellite application, much
stepping stone to the real thing. I less get it off the ground. However,
you're halfway to plan to call this model: My First Dr. Twiggs and Puig-Suari recognized
Satellite. a solution hidden in the satellite
anywhere in the solar named Opal. Opal contained
system." Satellites in Education picosatellites — tiny satellites that
Opal would release after reaching
Robert Heinlein Back in 1999, Professors Bob Earth orbit.
Twiggs and Jordi Puig-Suari utilized a They used the limited volumes
class project to help their Stanford and weights of the Opal picosatellites
Making Satellites students become better aerospace
engineers. They assigned them the
as a standard to force their students
to innovate small lightweight
Space exploration is expensive. task of building two Earth-orbiting satellites. Because of the satellite’s
So much so, that for most of the satellites: Opal and Sapphire. The limited volume and mass, students
“Space Age,” governments were the satellites were microsatellites — were unable to expand the capability
only entities capable of footing the hexagonal airframes 12 inches tall, of the satellite. This left them with a
bill for "Where No Man Has Gone 18 inches across, and weighing 50 satellite they could finish within two
Before." However, universities and at pounds. Their telemetry radios were years, or during the length of their
least one high school (Thomas off-the-shelf amateur radios with an Master’s program.
Jefferson High School for Science output between three and five watts. We call this standard the
and Technology) have or are now Over time, their students kept CubeSat and it’s becoming more
designing, building, and launching adding more subsystems to the two popular. However, it took some time.
their own satellites. satellites. Gradually, the satellites Initially, many in industry felt that
This month, I want to describe became too expensive and far from CubeSats were toys at best. Today,
this new breed of satellites. Later, I’ll ever being launched. Now, their most realize that CubeSats are an
entirely new paradigm in satellite
design with lots of potential. That
potential even includes the
exploration of distant planets.
The CubeSat
Form Factor
The basic CubeSat is a 10 cm
cube (for a volume of one liter)
weighing no more than one kilogram.
This is called a one unit, or 1U
CubeSat. There are 2U and 3U
CubeSats for satellites needing more
avionics. These larger units are
essentially stacks of 1U CubeSats.
The four vertical edges of a
CubeSat are low friction metal rails to
You really get a scale of a CubeSat's size in this picture. which the airframe sides are
You can see solar cells protected in cover slips that are clipped to the
airframe, along with one of the antennas in its deployed position. attached. The airframe is constructed
Image courtesy of NASA. from aluminum panels — a material
72 December 2014
APPROACHING THE FINAL FRONTIER
Post comments on this article and find any associated files and/or downloads at
www.nutsvolts.com/index.php?/magazine/article/december2014_NearSpace.
that’s easy to machine and that holes: one for each corner of the
doesn’t outgas in the vacuum of PCB. The corners of the PC/104 cards
space. Mounted to the outside of the are attached together using spacers.
airframe are the CubeSat’s solar cells This makes the stack of PCBs more
and antennas. rigid and less likely to break apart.
CubeSats use metal tapes for By the way, the number 104 in
their antenna elements. The antenna PC/104 comes from the fact that
elements are lengths of metal there are 104 pins in the Two stackthrough connectors of
measuring tape. The metal tape is stackthrough. The 104 pins are the type I use in my projects.
flexible, so it can be bent back tightly arranged into four rows. The first two The long length of their pins
against the sides of the airframe. rows contain 32 pins each and are ensures there's plenty of
However, because of the curl for the eight-bit bus. The remaining clearance between the
PCBs for the components
along their length, the metal tape two rows contain 20 pins each and soldered to the boards.
snaps back straight if it’s not are for the 16-bit bus.
restrained. As a result, after releasing Like PC cards, there are four bus weight (or ballast) to even out the
their restraint, the metal tapes snap voltages in the PC/104 standard: distribution of their weight.
straight out and wobble back and 12V, -5V, +5V, and +12V. Needless to Secondary payloads like CubeSats
forth until their motion dampens out. say, ground (0V) is also included in make more sense as ballast than a
The antennas are tied to the the rows of pins via multiple passive chunk of metal.
bottom of the CubeSat with plastic redundant ground pins. Remember Opal, the late 1990’s
fishing line prior to being loaded into microsatellite? Its picosatellite
their launcher. After the CubeSat’s Launching CubeSats launcher became the basis for
deployment, a timer triggers a circuit P-POD, or Poly-Picosatellite Orbital
to melt the restraining fish line with a The first CubeSat launch took Deployer. The P-POD mechanism is a
hot nichrome wire. This frees the place in June 2003, but not as the hollow square-shaped tube
ends of the measuring tape so they primary payload of an American containing a spring operated ejection
spring straight out, creating the rocket like the Atlas or Delta. plate in its base. Each P-POD
CubeSat’s antenna. I guess you could That’s because CubeSats are far too contains a stack of three CubeSats.
say that good things come in small small to make enough money for All three CubeSats rest on top of the
boxes. rockets like these. compressed ejection plate. At the
The first CubeSats were the time of release, a latch on the lid of
CubeSat Avionics payload of a repurposed Soviet era the P-POD springs back, opening the
ballistic missile called the SS-19. Ten top of the P-POD and letting the
The avionics inside a CubeSat years later, we find CubeSats are ejection plate push all three CubeSats
consist of a stack of PC/104 cards. launched by the larger rockets, but out into space.
According to the PC/104 Embedded are used as rocket ballast. For proper There’s a switch at the base of
Consortium, these cards are a smaller performance, rockets need dead each CubeSat. As long as this switch
version of the ISA PC and PC/AT bus.
They are too small for PC use; their
small size makes them more
appropriate for embedded systems.
Each PC/104 printed circuit card
measures 3.55 inches by 3.775
inches on a side. There is no vertical
insertion of cards like those that we
find in a PC back plane. Instead, the
cards are stacked together like
Arduino shields using stackthrough
connectors. These connectors have a
female receptacle on top, and long
male header pins on the bottom.
A diagram showing how PCBs like those found in PC/104 cards are
The stackthroughs are located on stacked together. The stackthrough connectors maintain the electrical
one side of each PCB (printed circuit connection between the PCBs, while the spacers maintain
board). There are also four mounting the structural integrity of the stack.
December 2014 73
[email protected]
ICEpower MODULES
50W x 2 (50ASX2) or
170W x 1 (50ASX2BTL)
Just add AC & speaker(s)
$99 USA $119 Worldwide
www.classicaudioparts.com
LIGHTING KITS/PLANS
QKITS LTD
[email protected]
1 888 GO 4 KITS
Arduino • Raspberry Pi
Power Supplies
MG Chemicals
RFID
$8.50
flat rate
HARDWARE shipping
WANTED Visit us at: SERVICES
www.qkits.com
DEC EQUIPMENT
WANTED!!! Sandpiper Electronics Services LLC
Digital Equipment Corp.
and compatibles.
Buy - Sell - Trade
Subscribe today! "design of custom electronics instrumentation"
Circuit design & drawings. PCB layout, fabrication & population
Prototype development for research, industry and inventors.
www.nutsvolts.com
39 years experience in electronics development for research &
flight applications , laser systems & laboratory research
CALL KEYWAYS 937-847-2300 FREE no obligation consultations
or email [email protected]
Only $19.95
from $119
TRIANGLE
RESEARCH
INTERNATIONAL
December 2014 75
For comple t e pr oduct de t ails, visi t our webs tor e!!
The Nuts & Volts WEBSTORE
GREAT FOR DIYers!
Electronics from the Ground Up: The TAB Book of 30 BeagleBone Black Projects for
Learn by Hacking, Designing, Arduino Projects the Evil Genius
and Inventing by Simon Monk by Christopher Rush
by The ultimate
Ronald Quan collection of DIY Fiendishly Fun
Arduino projects! Ways to Use the
Are you fascinated In this easy-to- BeagleBone
by the power of follow book, elec- Black!
even the smallest tronics guru Simon
electronic device? Monk shows you This wickedly
Electronics from the how to create a inventive guide
Ground Up guides wide variety of fun shows you how to
you through and functional program and build
step-by-step experi- gadgets with the fun and fascinating
ments that reveal Arduino Uno and projects with the
how electronic circuits function so you can Leonardo boards. Filled with step-by-step BeagleBone Black.
advance your skills and design custom instructions and detailed illustrations,The You’ll learn how to connect the
circuits.You’ll work with a range of circuits TAB Book of Arduino Projects: 36 Things BeagleBone Black to your computer and
and signals related to optical emitters and to Make with Shields and Proto Shields program it, quickly mastering BoneScript
receivers, audio, oscillators, and video. provides a cost estimate, difficulty level, and and other programming tools so you can
Paper back 544 pages. list of required components for each get started right away.
$30.00 project.
$30.00 $25.00
76 December 2014
Order online @ www.store.nutsvolts.com
Or CALL 1-800-783-4624 today!
EDUCATIONAL CD-ROM SPECIAL
December 2014 77
S
G I F TR CALL 1-800-783-4624 today!
FO S
GEE
K Order online @ www.nutsvolts.com
PROJECTS
Accelerometer Kit Peek-a-boo Ghost Kit 3D LED Cube Kit
be
Can o other
l i e d t
app oliday
h
ays!
displ
Solar Charge Controller Kit 2.0 Geiger Counter Kit Super Detector Circuit Set
78 December 2014
TECHFORUM READER-TO-READER
would naturally be lower, given the connect the voltage dropped wires to
>>> QUESTIONS lower operating voltage. Are 3V the battery terminals inside the battery
sensors really a compromise? pack which, in turn, will make contact
Nixie Tube Specs #12144 Seymour Holland with the camera's internal fixed
I have six F-itron DG10A nixie Peoria, IL contacts.
tubes. I need to find specs and pin- Can you please assist me with a
outs for these tubes to see if they are False Readings "camera safe" regulated circuit to drop
okay. Any info is appreciated. I bought one of those Internet- the 12 volt gell cells to a constant
#12141 Alan Moser aware soil moisture devices a few regulated output level for a Nikon
Memphis,TN months ago. It worked great at first, EN-EL14 lithium-ion battery which is
but now the electrodes are oxidized rated at 7.4 volts at 1,050 mAh (7.8
Unregulated Power Supply and the readings are falsely dry Wh)? Also, battery disassembly details,
I picked up a 9V switching power because of the increased resistance. or if disassembly is not required, how
supply wart from one of the online Scrubbing the electrodes with steel to proceed with the hook-up.
suppliers that advertise in Nuts & wool works for about a week. Any
Volts. Unfortunately, it melted two ideas for a permanent solution? I want to offer some facts that
Arduino's before I realized what was #12145 Harland Foster may help you form your own solution.
happening. Apparently, the no-load Columbus, OH 1 - 7.4 volts happens to be 2X of 3.7
voltage on a switching supply can be volts, and 3.7 volts happens to be the
up to twice the rated voltage — in my
case, 18V. Should I add a load resistor
>>> ANSWERS exact rating of most all cell phone
batteries. Cell phone batteries can be
to the internal circuit of the wart D Cell or Gell Cell Adapter for bought very cheaply via the Internet.
so there's always a load? Any other Nikon Cameras 2 - The next fact is that the battery
suggestions? I have the following three Nikon door on Nikon cameras can be
#12142 Fritz Sommer cameras — D3200, D5100, and D5300 removed. Open it to approx 45
Knoxville,TN — that I want to use in my black bear degrees and gently twist it out.
wildlife research work. There are no 3 - The next fact I would share is
Photomicrographs electrical outlets to recharge the small that a battery grip is a way to attach
I need photomicrographs of some lithium-ion batteries that come with (usually) two batteries, to the bottom
3D printed surfaces for a science fair the cameras in the desolate areas that I of your camera. Some of the grips
poster. Is there a commercial electron frequent. A car inverter to a regular come with interval timers for timed
microscope imaging service that lithium charger is out of the question exposures, they are all made in China,
you can recommend? I tried my local because four-wheel drives can't get and as such, eBay is full of second
community college, but they weren't back to the remote areas that party battery grips for many popular
willing to help. are accessible only by horse and by cameras. The grip might be the better
#12143 Fabian Hoffmann packing on foot. way to modify your cameras without
Seattle,WA I would like to run a bipolar cable damaging them.
from a couple of parallel connected If you were to use cell phone
What’s Up With 3V Sensors? 12 volt/18 amp-hour batteries into a batteries to make your own battery
I'm working with MEMS devices — drilled hole in the camera battery pack, your next challenge would be to
especially the new 3V sensors. snap cover in the camera base. That build a charger for them, since charg-
Compared with older 5V sensors, they probably will require cutting open and ing them one by one would be labor
seem more susceptible to noise. It possibly destroying a battery pack and intensive. Making a battery pack of
seems as though dynamic range removing the lithium-ion cells so as to the cell batteries would require them
to all be the same rated capacity.
All questions AND answers are by readers and NO GUARANTEES Connect them in series — in pairs — to
submitted by Nuts & Volts readers and WHATSOEVER are made by the bring them up to 7.4 volts and parallel
are intended to promote the exchange publisher. The implementation of any
of ideas and provide assistance for answer printed in this column may re- as many as you like to increase capac-
solving technical problems. All quire varying degrees of technical ity to meet your requirements.
submissions are subject to editing and experience and should only be Lastly, NEVER attempt to open a
will be published on a space available attempted by qualified individuals. battery — especially a lithium one. If
basis if deemed suitable by the Always use common sense and you were to expose the lithium to air, it
publisher. Answers are submitted good judgment! most likely will explode and seriously
December 2014 79
TECHFORUM
READER-TO-READER
injure you or result in your death. only be drawing a little over half an what they actually mean is that under
Joseph Massimino amp on the 7.6W fan, and a little ideal conditions, it can produce 30
Jensen Beach, FL under a half amp on the smaller fans. watts. Two panels would assure that
If you find that they get hot, you can the fan would run in less than ideal
[#11142 - November 2014] easily add a heatsink. sunlight.
Brushless Fans and Solar Panels I will also mention that I did Joseph Massimino
I have three 12 VDC brushless fans something similar, running a boom Jensen Beach, FL
and am considering running them from box radio at the beach, and found that
a 12V 30W solar panel. Two of the fans unless the panel is pointed at the sun Carbon or Metal?
are rated at 5.4W and one at 7.6W. constantly, the output will drift when Is there a rule of thumb for when
Unfortunately, the brushless motors fair weather clouds cross overhead. it is better to use carbon film resistors
can tolerate a maximum voltage of So, I connected three 1000000 20V over metal film resistors?
13.8V and the solar panel has an open caps in series, which slowed down the
circuit voltage of over 17V. I am afraid drifting effect caused by clouds. Generally, if you require greater
I could fry the electronics in the fans Another option is to use a solar precision, better stability, and/or less
with this solar panel but I can't find a charger controller like the one I picked noise, you go with metal film resistors.
12V solar panel that outputs no more up at Harbor Freight Tools. You would In the old days, this was an expensive
than 12V. I am sure this is not the first hook up the solar panel to the option, but these days, precision metal
time this problem has occurred. What controller, then the controller to the film resistors have plummeted in cost
options do I have? battery (car/marine), and run the fans — at least for the Asian imports. So,
off the battery. I would still use the use metal film if you're working with
#1 I would use a simple LM7812 LM7812 voltage regulator just to test equipment attenuators, voltage
voltage regulator for each fan. The protect the fans. dividers, and analog timing circuits.
7812 can take up to 18V in and as low Dave Litle
as 5V, and has a current rating of one Lynn, MA Metal Film Is Better:
amp. Based on your specs, you will • If you need a circuit to remain
#2 Your solar within operational specs for a long
panels only show time without periodic adjustment.
that high of volt- • If you’re designing a low noise
age when they audio preamp.
are unloaded. • If you need precise timing for your
Once you put the 555 circuit.
fans on them, the Some notes here:
voltage will adjust 1 - The ancient trick of beginning
to their rated with a carbon composition resistor of
voltage, providing a lower value than needed and filing a
you have enough notch in it until the value was right on,
sunlight to drive gave you a good tight resistor for a few
them properly. minutes. Even if that notch is sealed
The other with clear fingernail polish, carbon
good news is that resistors still have a lousy temperature
the fans will not coefficient. The resistor will change in
burn up when value with any changes in temperature
more voltage is far beyond what you'd want with a
applied to them. precision part. It isn't the same as
They will run using a precision metal film resistor,
faster and wear no matter what some old timer tells
out sooner, but to you.
fry them, you 2 - The second note concerns
would need much power dissipation. The old carbon
more than a comp resistors could take short spikes
single solar panel in power and survive even with short
can produce. bursts of ten times the power rating
The solar because the mass of that slug of a
panel you have resistance element could absorb and
says 30 watts, but dissipate that spike. Carbon film and
80 December 2014
> > > YO U R E L E C T R O N I C S Q U E S T I O N S A N S W E R E D H E R E BY N & V R E A D E R S
December 2014 81
The Holiday
Spotlight!
LED Animated Santa
This animated Santa and rein-
deer display has been our most
popular holiday display for years!
Super-Pro FM Stereo Radio Station Kit It contains a whopping 126 daz-
✔ PLL synthesized for drift-free operation zling colored LEDs which make it a great holiday sign
✔ Built-in mixer - 2 line inputs and one microphone that is guaranteed to draw attention!
input, line level monitor output!
✔ Frequency range 88.0 to 108.0, 100 kHz steps LED animated motion makes it come alive. Runs on
✔ Precision active low-pass “brick wall” audio filter! standard 9V battery or 9-12VDC external power sup-
✔ Dual LED bar graph audio level meters! ply. Dazzle your friends this great display!
✔ Automatic adjustable microphone ducking!
✔ Easy to build through-hole design! FALL FM MK116 LED Animated Santa Kit $21.95
LE! SA
The true professional workhorse of our FM Stereo transmitter line, the FM100B has become the transmitter of
LED Christmas Tree
choice for both amateurs and professionals around the world. From the serious hobbyist to churches, drive-in Electronic Christmas tree features 134
theaters, colleges and schools, it continues to be the leader. Not just a transmitter, the FM100B is a fully function- bright colored LEDs in the shape of a gor-
al radio station and provides everything but the audio input and antenna system! Just add that and you’re on the geous holiday Christmas tree. Includes 18
air! random flashing blinking “candles” on the
PC board! Runs on a 9V battery or external
This professional synthesized transmitter is adjustable directly from the front panel with a large LED digital read- 9-12VDC power supply.
out of the operating frequency. Just enter the setup mode and set your frequency. Once selected and locked you MK117 LED Christmas Tree Kit $24.95
are assured of a rock stable carrier with zero drift. The power output is continuously adjustable throughout the
power range of the model selected. In addition, a new layer of anti-static protection for the final RF amplifier
stage and audio inputs has been added to protect you from sudden static and power surges. LED Animated Holiday Bell
Audio quality is equally impressive. A precision active low-pass brick wall audio filter and peak This PC board holiday bell is animated
level limiters give your signal maximum "punch" while preventing overmodulation. Two sets of to simulate a bell swinging back and
rear panel stereo line level inputs are provided with front panel level control for both. Standard forth! 84 bright colored LEDs will daz-
unbalanced “RCA” line inputs are used to make it simple to connect to the audio output of your zle you with holiday cheer! Includes
computer, MP3 player, DVD player, cassette deck or any other consumer audio source. Get even an on/off switch. Runs on 9V.
more creative and use our K8094 below for digital storage and playback of short announcements
and ID’s! In addition to the line level inputs, there is a separate front panel microphone input. MK122 LED Animated Bell Kit $18.95
All three inputs have independent level controls eliminating the need for a separate audio mixer! Just pot-up the
source control when ready, and cross fade to the 2nd line input or mic! It’s that simple! In addition to the dual 3D LED Christmas Tree
stereo line inputs, a stereo monitor output is provided. This is perfect to drive studio monitors or local in-house
PA systems. The FM100B series includes an attractive metal case, whip antenna and built in 110/220VAC power Not your average LED display! 4 branch sec-
supply. A BNC connector is also provided for an external antenna. Check out our Tru-Match FM antenna kit, for tions give this tree a true 3D look! 16 red
the perfect mate to the FM100B transmitter. We also offer a high power kit as well as an export-only assembled LEDs light it up with yellow LEDs for you to
version that provides a variable RF output power up to 1 watt. The 1 watt unit must utilize an external antenna customize your tree! The base of the tree is
properly matched to the operating frequency to maintain a proper VSWR to protect the transmitter. actually the 9V battery acting as a self support-
(Note: The FM100B and FM100BEX are do-it-yourself learning kits that you assemble. The end user is responsible for complying ing base! Now that’s pretty neat!
with all FCC rules & regulations within the US or any regulations of their respective governing body. The FM100BWT is for export MK130 3D LED Christmas Tree Kit $7.95
use and can only be shipped to locations outside the continental US, valid APO/FPO addresses or valid customs brokers for docu-
mented end delivery outside the continental US.)
FM100B Super-Pro FM Stereo Radio Station Kit, 5uW to 25mW Output $239.95 SMT LED Christmas Tree
FM100BEX Super-Pro FM Stereo Radio Station Kit, 5uW to 1W Output $299.95 Build this subminiature Christmas tree
and learn SMT at the same time. Small
Digital Controlled FM Stereo Transmitters enough to wear as a badge or pen-
dant! Extra SMT parts are included so
✔ PLL synthesized for drift free operation you can’t go wrong! Runs on Li-Ion
✔ Front panel digital control and display of all set- cell.
tings and parameters!
✔ Professional metal case for noise-free operation MK142 SMT LED Christmas Tree Kit $10.95
✔ EMI filtering on audio and power inputs
✔ Super audio quality, rivals commercial broadcasts Sound Activated LED Star
✔ Available in domestic kit or factory assembled
export versions A built-in microphone picks up music
and room audio and the LEDs respond
FALL FM just like a professional LED Vu meter!
SALE! Adjustable sensitivity creates a great holi-
day display in sync with your music or
For more than a decade we’ve been the leader in hobbyist FM radio transmitters. audio! Runs on 9-12VDC.
We told our engineers we wanted a new technology transmitter that would pro-
vide FM100 series quality without the advanced mixer features. They took it as a MK172 Sound Activated LED Star Kit $19.95
challenge and designed not one, but TWO transmitters!
✔ Not your ordinary holiday clock gift! THE NEW STANDARD IN NIXIE CLOCKS!
✔ Today's latest technology with yesterday's display! Our next generation of classic Nixie tube clocks perfectly mesh today's technology with the Nixie era tech-
nology of the 60's. Of course, features you'd expect with a typical clock are all supported with the Nixie
✔ Choice of hand rubbed Teak/Maple or acrylic clock... and a whole lot more! Time wise, the clocks are designed around a quartz crystal timebase, there-
base! fore are not AC power frequency dependent like a lot of clocks. This means they can be used in any coun-
✔ Choice of Nixie tubes types try regardless of power frequency, with the included 12VDC regulated power supply. The clocks are also
programmable for 12 or 24 hour mode, various AM/PM indications, programmable leading zero blanking,
✔ Low-cost GPS receiver timebase option! and include a programmable alarm with snooze.
✔ Programmable color LED tube mood lighting!
✔ The ultimate conversation piece! Unlike most Nixie clocks, the clocks also display the date in DD.MM.YY, MM.DD.YY, or YY.MM.DD format,
which can be programmed to display for a few seconds at the end of each minute either as a static display,
or by a neat scrolling in/out from alternating sides of the display. Display wise, the clocks feature a programmable night mode with dim or blank display, a programmable
master blank tube saver, hard or soft fade digit change, and even have a built-in "Slot Machine" cathode poisoning prevention routine. Programming and setting the clock is
a breeze with simple 2-button entries on the rear panel. The clocks are available in our signature hand rubbed Teak & Maple or futuristic clear acrylic bases.
200-In-One Super Fun Lab Practical Soldering Lab RC Race Car Learning Kit
The front panel contains a built-in Whether young or old, there’s always a One of the neatest and most excit-
speaker, earphone, meter, 7-segment need to hone your soldering skills. ing learning kits for the kids! You
LED digital display, two controls and more to Either learn from scratch or consider it a will be building the Turbo King R/C
make the finished projects fun to use. Now you can refresher, and end up with a neat little speedster from the ground up, ending
build your own AM broadcast station, burglar alarm, project when you’re done! Covers up with a super fast car! At the same time learning
telegraph, sound effects, radios, and more! through-hole design & soldering. transmitters, receivers, switches, gears, and motors!
PL200 200-In-One Learning Lab $84.95 SP1A Practical Soldering Lab $9.95 AK870 R/C Car Learning Kit $29.95