Persistence of Vision on a bicycle wheel!

Persistence of Vision (POV) can be used to display text and graphics on moving objects. For one of the Team Projects that I did, we had to make a POV display on a bicycle wheel using LEDs.

An ATmega 328P was used as the microcontroller for the project. 32 RGB LEDs were controlled via two 16-channel LED drivers and three FETS. The FETs were used to switch between which colour was displayed at any given time (red/green/blue).

An image had to be visible on the wheel between 60 and 200 RPM. In addition to this, an advanced mode was used to measure distance and speed.

We used a magnet mounted in a fixed position on the wheel supports and a hall effect sensor to measure the speed of the wheel to work out how quickly to change the colours on the LEDs.

My main contribution to the project was the PC software, the bootloader code and soldering/testing. The software was used to make custom images to display on the wheel and see what they would look like when the project was running. It also communicated with the AVR over USB to download data to it. The bootloader code was used to save an image (~11.5kB) onto the internal flash memory of the AVR. This removed the need for external EEPROM storage. My PC software code is available on Github (see the link to my Github account on the right).

Now for some pictures! First of all, the PCB:

The PCB that was mounted on the bicycle wheel showing the 32 RGB LEDs (centre), the power supply (bottom right), and the USB connector (top left).
The PCB that was mounted on the bicycle wheel showing the 32 RGB LEDs (centre), the power supply (bottom right), and the USB connector (top left).
The underside of the PCB showing the AVR, FETs and 9V battery used to power the board.
The underside of the PCB showing the AVR, FETs and 9V battery used to power the board.

Then we have some images of the project in action:

What the wheel displayed (the red LED is the power LED that was later moved to the underside of the board so it wouldn't continue to interfere with the image).
What the wheel displayed (the red LED is the power LED that was later moved to the underside of the board so it wouldn’t continue to interfere with the image).
What the software predicted the image would look like.
What the software predicted the image would look like.
A full rainbow - what the software showed.
A full rainbow – what the software showed.
What we saw on the wheel.
What we saw on the wheel.

A more complex pattern:

What the wheel showed (without the text).
What the wheel showed (without the text).
The complex pattern in the software (text was added after data was uploaded to the board).
The complex pattern in the software (text was added after data was uploaded to the board).
It can also display text.
It can also display text.
And the advanced mode showed speed and distance.
And the advanced mode showed speed and distance.