Case study -- the 'seahorse'
Earlier this year Jeremy Bennett of Embecosm asked me to design a follow-up to the 'cuttlefish' board. This is what Jeremy was looking for
- Bare-bones Arduino compatible; based on the Shrimp
- Battery powered
- Wearable
- Easy to solder
- Gender neutral
- Interactive and fun
- Cheap
Jeremy intended for the board to be used to teach children and teenagers how to solder, and in doing so get them interested in electronics, hardware, software, and, eventually, optimising compilers. (This is a joke -- Jeremy's Embecosm is a leader in compiler optimisation.)
One is able to teach soldering on a single-sided board in a baggy from Maplin, but that won't be too engaging. There has to be more, something memorable and perhaps something familiar. It also has to be somewhat useful and playful so that it won't be thrown in a drawer and quickly forgotten.
My first set of concept designs resembled aliens and game-controllers -- engaging and familiar. Fairly early on I decided to use infrared transmit and receive as the primary interaction mechanism. This served two of the goals: it's cheap and can be easily explained using simple diagrams. Kids feel very comfortable with the concept of 'wireless' and so IR is one of the simplest ways to explain one of the many ways of 'wireless' communication. It is also relatively easy to follow code that controls the IR transmit and receive for those who want to dig in deeper. Generally, it's important to have people get a sense of achievement very early on, or they quickly lose interest.
I presented these concepts to Jeremy and we eventually decided that it's best to continue the ocean-themed designs (Shrimp, cuttlefish, etc.) I was tasked to find an ocean creature that has the right cartoonish shape to accommodate the physical requirements -- coin-cell battery and the long DIP package of the microntroller. After lots of image searches, I arrived to this concept design
250 of these lovely boards arrived yesterday, and were manufactured by Eurocircuits
The two small break-out boards house an LED and resistor in series, each. Those can be regular or IR LEDs, and the idea is for them to be used for playing with others, creating unique IR transmit patterns and communicating with other boards that are around in line-of-sight.
There are three holes for attaching the board to a garment or something else. All the micro's pins are broken out to headers so that several other 'peripherals' can be attached to the board.
Placing the battery holder on the top allows the circuit board to be flat on the bottom and more convenient as a 'wearable'. Using my solder-dome technique, you can get rid of those pointy solder joints that would stick to clothing.
In terms of the circuit design, there were a few challenges. The board was to be programmed using a 6-pin serial adaptor, which can supply 5V to the board. Since the 'seahorse' is normally battery-powered, this is problematic -- you don't ever want to have both power rails be connected at the same time. An additional problem was that a coin cell only provides 3V, not high enough for running the ATmega328 at 16MHz, which is the Arduino standard.
For cost reasons we chose to use two thin CR2016 stacked into a CR2032 battery holder. This gives us 6V, which we dropped to ~5V using a diode -- a component that was already in the design elsewhere. The 5V from the programmer is 'jumperable' using a fishy solder-blob jumper.
The current capacity of the CR2016 isn't that high, and the board won't run too long on two of them -- particularly with the LEDs on -- but we concluded that it's 'good enough'. A possible alternative is to use a battery holder that can house two CR2032 batteries.
All the headers' holes are staggered, so that pin headers can be plugged and unplugged without soldering them to the board. This is particularly convenient for programming, so you don't need to have the header there during normal operation. The holes can be used for attaching conductive thread, although care must be taken not to short the contacts -- again, this was a usability/functionality compromise -- other 'wearables', like the Lilypad, have large separated pads to avoid this problem.
This is an open source hardware design, and the design files are on our GitHub repo. A photo album for the board is here.