Home‎ > ‎

POV (Persistence of Vision) Project


I'll document here progress on my POV project.  The aim is to show some text on a bank of LEDs connected to Bifferboard, with the bifferboard spinning round, battery operated and controlled over either wifi or bluetooth.

LED Array

First off I needed some LEDs.  I created a module to connect to J1, the maximum number of LEDs I can get this way without external silicon being 6 (4 JTAG + serial TX and RX).

The cathode of each LED is connected to a GPIO pin which pulls it low to switch on.  The anode goes via 330 Ohm current-limiting resistor to +3.3v.  The precise resistor required will depend on your LEDs.  The ones below were stolen from a faulty ethernet hub, so there are two banks but the top LED isn't used!

Controlling program

For now, the simplest way to control the LEDs is to use TCC (Tiny C Compiler), TCC has a very handy 'C-script' mode where you can use it as a script parser for C programs.  Since inline assembler instructions are also supported, we can even output to GPIO ports in the script.  The attachments below show a travelling light demo (source code and video) which is fairly pointless, but indicates how I might control the LEDs.

How to setup the software

  1. Mod your Bifferboard to convert JTAG pins to GPIO.
  2. Install OpenWrt JFFS firmware, if it didn't come with your board.
  3. Copy pts-tcc into /usr/bin/tcc on the Bifferboard, using scp/wget or whatever (see TCC page).
  4. Copy travelling.c into /root as above, make it executable.
  5. Now you need to telnet into the board, obviously since this demo uses the serial port
  6. Run /root/travelling.c and the lights should blink.

Biff Eros,
Aug 8, 2010, 4:14 PM
Biff Eros,
Aug 8, 2010, 4:26 PM