Puzzlemation - Frequently Asked Questions
When I showed Puzzlemation at the Bay Area Maker's Fair, people
had a number of questions. Here's an FAQ:
- How do the tiles communicate with each other?
They don't. The tray controller (PCB to the left in the photo)
broadcasts the animation to the tiles via the copper strips running
across the tray. The tiles have spring loaded contact pins to
pick up the data. The data is sent as 9600 baud serial. Each
tile has a uniquie identifier. A tile listens to the broadcast,
and picks up the animation data when it's portion of the animation
is sent. A "start" command is then broadcast. Once
the start command is sent the tiles are free running. Crystal
controlled clocks on each tile keep them in sync. The copper
strips are only used for sending data when the animations are
broadcast. Each tile has its own battery power.
- How do the tiles know where they're located?
They don't. If you mix up the the tiles, the animation is
mixed up. Putting them back in order is where the "puzzle"
in Puzzlemation comes from.
- How do you create the animations?
Anything that makes a series of PNG files or an animated GIF
works. I've used both Adobe
Flash and Photoshop
to produce animations. I also had our kids make cut-out animations
with red, green and yellow construction paper, which were then
photographed. These were processed in Photoshop and made into
Once the animation is in PNG/GIF format, I have a Python script
that chops the image and produces the bitmapped format used by
Puzzlemation. This is downloaded into the tray either via an
SD Card or Ethernet.
- How long do the batteries last?
In theory they should go for at least six hours, but in practice
they've done better than that. It depends on the duty cycle of
the paricular animation. I've had great luck using Eneloop
AAA batteries. Come to think of it, 32 AAA's (two per tile) is
actually a lot of juice...25 A/hr to be exact. Each tile has
a boost voltage regulator (based on the Minty
Boost design). This provides a stable 3.3v source even as
the batteries run down, and help suck every last electron out
- What chip did you use?
Each tile has a PIC24FJ64GA004
microcontroller. This is a 16 bit chip, programmed in C with
Microchip's MPLab IDE.
The tray uses a PIC24FJ64GA002 (same chip w/28 pins). It runs
a TCP/IP stack and a FAT file system on the SD card, using libraries
available for free from Microchip. Not bad for a $3 chip with
60K of code. A ULN2803 provides the current drive to run the
LED display. The LED matrix displays are from SparkFun.
- How much do the tiles cost?
For my prototype it ran about $63 per tile, but $33 of that
was for PCB fabrication. I was on a contest deadline when I made
the PCB's so I paid a premium for getting them done quickly.
With a longer lead time, the PCB's would run about $3-5/tile.
Even purchasing components in large quantities it'd be tricky
to get the parts cost below $15 / tile.
- Are you selling them?
At the moment, it's not a commercial venture. It's a bit
pricey for the toy market. The use of SMD components limits the
market for selling kits.
Back to Puzzlemation