Show HN: Wireless video streaming on POV bike display

youtube.com

63 points by polishdude20 9 hours ago

It took me a few years of fits and starts but I've finally got my DIY persistence of vision bike light to display video!

I designed and built the PCB for it and wrote the code for the wifi streaming of video frames with a bit of help from Claude. This was actually one thing I was dreading as I was hitting a wall being burned out on this project. With a little bit of Claude's help in getting the ESP32 wifi stack working It's finally finished!

Some tech specs: Using an ESP32 42 LED's per strip, 4 strips total spaced 90 deg apart. Angular resolution of the image is 1 deg so it updates all 168 LED's , 360 times per rotation.

The LED's are SK9822 individually addressable LED's (also known as DotStar from Adafruit).

Uses a magnet and hall effect sensor to keep track of rotation speed.

The server can be run from a phone and using termux with a python server to serve locally to the esp.

I need to periodically spin it up every time it slows down.

My video camera shutter speed needs to be slow to show the correct effect otherwise it is either incomplete or it shows too many "frames" in a video frame.

Gonna get around to making a blog post at some point to talk more about it in detail!

Gys 8 hours ago

Amazing! Do I understand this correctly: the leds are on the wheel, so you can ride your bike in the dark and show (for example) a tiktok video?

  • polishdude20 8 hours ago

    That's right! Although you'd need to have the video clip as a file on your phone rather than just a link to it.

    • Gys 8 hours ago

      You should consider selling this as a kit or something? There must be some people in Northern Europe who love this!

      • tweetle_beetle 7 hours ago

        A company called MonkeyLectric did make a quality commercial product for displaying video, but it retailed for around $900 so I suspect they didn't sell too many and they seem to have shut down. There seems to be stuck off their cheaper simpler models floating around still.

        This demo looks like it's been achieved with cheap commodity hardware which is cool, but I suspect it's pretty heavy and awkward.

        https://www.kickstarter.com/projects/minimonkey/monkey-light...

        • polishdude20 6 hours ago

          Not commodity at all! Unless you count custom PCB and circuit layout "commodity". Also, I suspect mine is lighter than the MonkeyLectric since it doesn't have any supporting backing or weatherproofing. It's just raw PCB zip-tied to the spokes.

      • polishdude20 6 hours ago

        Selling as a kit would be cool but the weatherproofing would be difficult to get right I think. Lots more is needed to be done to get it rugged enough for consumer use.

        Also, all 168 LED's were hand soldered here but I'd need to get them machine laid out and soldered if selling as a kit.

elephant81 3 hours ago

You should sell this as a kit, really impressive!

mandeepj 2 hours ago

Amazing! Maybe Divvy should fit it in their bikes. Parallel going traffic will not see it; only the pedestrians. So< i guess it's not a traffic risk. Another revenue for them?

gpm 8 hours ago

This is great!

How many rpm do you need to make it look reasonably good in person?

  • nubinetwork 3 hours ago

    If it's anything like the colour wheel television, 1500rpm to get 144 fields per second, which should make 24fps look decent

nubinetwork 7 hours ago

Okay that was not what I was thinking of when I read the title, but that's an interesting take on the mechanical tv colour wheel concept...

unangst 4 hours ago

This is fantastic! What’s next for this project?

nirav72 7 hours ago

This is neat. Are you using some kind of slipring to pass the signal to the LEDs?

  • polishdude20 6 hours ago

    Nope! All the processing is done on the spinning wheel. The microcontroller is on one of the arms and it's using wifi for streaming data. The battery is taped to the inner hub.

ge96 7 hours ago

So funny the hand spinning, thought it was an e-bike but nvm

shove 5 hours ago

UDP? Websocket?

  • polishdude20 4 hours ago

    Post requests! UDP could send the packets out of order (which could be fixed maybe). Websocket turns out to have the same speed as just a big 64kb post request!

fragmede 3 hours ago

shut_up_and_take_my_money.jpeg