How to turn your bike into a moveable screen in the city? This instructables aims to answer how to do that cheap and easy with parts most makers already have lying around.

Before we start on how to build the device I would like to thank Ada and her guide on making a POV display. I have used the code from her guide as inspiration, a stepping stone and a huge part of her code exists in my example.

The biggest difference is that I have made the code work with the popular WiFi microprocesser, ESP8266. I'm using a NodeMCU v2 in my example which required a lot of tweaking. My main reasoning behind choosing an ESP8266 device is that it is a powerful piece of hardware, and you can implement wireless communication to control the image, synchronize multiple units or whatever you can come up with. Another difference is that I have implemented an image stabilizer that should make the screen more readable when riding the bike (there is a lot room for improvement but if you want a finished and professional consumer product buy POV from Monkeylectric). The last difference is that I'm using cheaper parts in my build. The SK9822/APA102 is basically the same hardware as Adafruit Dotstar but way cheaper. You can get a NodeMCU for only $3.95 if you can wait for it to ship. And now to the guide!!

Step 1: Components

For this build you will need

  • 1x NodeMcu v2
  • 1x APA102 led strip at least 32 pixel
  • 1x APA102 booster pixel
  • 1x Reed switch
  • 1x Magnet
  • 1x 10k ohm resistor
  • 1x 3 AA battery clip
  • 3x AA batteries
  • 1x SPST switch
  • 1x 1000uf capacitor


As mentioned above, I chose this microprocessor for various reasons. It is fast, cheap, small, and potential for wireless communication.


These LEDs are super fast and great for projects where timing is a critical factor. Compared to another popular choice WS8212/neopixel it got a clock pin to secure that it doesn't go off sync. You can also opt for APA102 clones called SK9822. You can split up the strip and both parts are still functional because each pixel got a driver, so when you buy a meter of LEDs for your POV project, the rest can be used for the other wheel of the bike or another project.

Booster pixel:

You need a single APA102 pixel (cut it off at the end of your strip) as close to your NodeMCU as possible. The reason is that the NodeMCU only outputs 3.3 volts and the APA102 operates at 5 volts but if you put a pixel close enough, it works as a Logic Level Converter, so the clock and data signal gets converted to 5v to the rest of the pixels. In the code we never send color to the booster pixel as its only function is to amp the signal, so we don't need to have the strip close to the NodeMCU. I would like to give a thank to Elec-tron.org for coming up with the idea.

Reed Switch and magnet:

The reed switch gives a pulse every time it passes the magnet, and I'm using this for stabilizing the image while riding the bike. I don't have a link for where i bought this, because i found it in an old magnetic cat door in an electronics dumpster. We are using the 10k ohm resistor as a pull-down to minimize noise.

The rest:

The capacitor is preventing voltage drop when the strip goes from no color to (as an example) all white.

The batteries only provides 4.5 volts but it's more than enough to drive the system.

The SPST switch is used to turn the circuit on and off.

PS some APA102 have switched between red and green. I have both, so that's why some of my pictures on github looks weird.

Step 2: The Circuit

I've made the mistake of making long wires from the NodeMCU to the booster pixel in the diagram. It is VERY important to make those wires as short as possible. The distance from booster to the rest of the pixels can be as long as needed. In the diagram and in my version I have placed the capacitor close to the power supply. I would rather place it close to the pixels but both works fine.

Step 3: Soldering

Step 5: Sketching Images and Concepts

Step 6: Making Images

Step 7: Code

My code can be found on my github.

<p>Friend, I do not know much about programming, can you do a more detailed tutorial?</p>
<p>These are awesome :) I love how versatile these displays are!</p>
<p>Thank you :)</p>
<p>Nice work! Do you have any video of the wheel in action?</p>
<p>I have some but it's difficult to capture properly with smartphones and DSLRs because of the difference between the human frame rate and camera. Thought about installing magic lantern on my camera to make a more &quot;real life&quot; video of it, but it's part of my master thesis and it's writing time (maybe after I hand it in).</p><p>This is from the first iteration of the project <a href="https://www.instagram.com/p/BNMUd6EjEvF/?taken-by=xbakka">https://www.instagram.com/p/BNMUd6EjEvF/?taken-by=...</a></p><p>In the future I would like to add more strips/LEDs, so it's easier to see the image at lower speeds :) </p>
<p>I see the challenge now. Thanks for sharing the video anyway, still looks awesome. Also thanks for the tip on magic lantern, I had never heard of it.</p>
<p>how to make this?</p>
awesome! i want.

About This Instructable




More by nbakh:POV Bike Display - ESP8266 + APA102 
Add instructable to: