This project is DEPRECATED, therefore might not be on par with my current coding standards and will not receive any updates now or in the future. Please use my next generation version (BikeBeamer) instead.
This is a bike POV display using readily available parts.
I generally try to minimize dependencies, but I'm a one man crew and can therefore only support Debian-based Linux distributions as I'm running one myself. Anyway, you need to have the following packages installed for everything to work properly:
- Arduino IDE as a way to compile the Arduino code. Install it with
sudo apt install arduino
. - Arduino ESP32 LittleFS uploader for uploading the data. Install it via the installation guide.
- Adafruit NeoPixel library for controlling the LEDs. Install it via the integrated library manager.
- MPU6050_tockn library for communicating with the gyroscope. Install it via the integrated library manager.
This project is relatively straight forward as it mainly consists of an ESP32, an LED strip that's slit into four segments, a MPU-6050 and an USB power bank all housed in 3D printed enclosures and mounted with cable ties. For inspiration take a look at the mounting and assembly image as well as wiring diagram down below:
Below is a full bill of materials with German sources for all non-printable parts:
Quantity: | Item: | Source: |
---|---|---|
1 | ESP32 | Amazon |
1 | LED strip | Amazon |
8 | JST SM 3 pin connectors | Amazon |
1 | MPU-6050 | Amazon |
1 | USB power bank | Amazon |
1 | Cable ties | Amazon |
- Flash the sketch with the following settings:
Arduino Runs On: Core 0
Events Run On: Core 1
Partition Scheme: No OTA (1MB APP/3MB SPIFFS)
- Upload the additional files via the Arduino ESP32 LittleFS uploader.
- After turning on bkpvdsply, give the ESP roughly half a minute to boot up.
- Connect to the Wi-Fi network
bkpvdsply
, open any webpage (or192.168.0.1
if the local DNS server doesn't work) and upload an image (examples are in theimages
folder). - Then just hop on your bike and enjoy the glory of POV displays.