Once every month I ride with "Critical Mass" cycling group of 300+ riders roaming city at night. I want to pimp up my bicycle with unique colorful lights that react to how I ride to catch some attention.

What it does

Interactive bike motion lights controller and display

  • Colorful LED patterns flashes and scrolls responds to bikes motion
  • Color change over vibrating bumpy road. Waving and turning. Accelerating and braking.
  • Control light patterns using smartphone over Bluetooth. Display speed / distance Speedometer and tachometer display.
  • Tracking distance traveled / health exercise counter.
  • Safety night riding with added breaking light effect and headlights.

How I built it

Parts: Arduino 101,push button, magnets, slide potentiometer, Reed switch, LCD display, led , addressable LED lights strips. Relay. 5V DC regulator. High power LED lights.

Operation ( see wiring diagram )

  • Reed switch to count tire rotation to determine speed, distance and light effect.
  • Build in gyro and accelerometer in Arduino 101 triggered light effect.
  • Break switch to trigger all strip lights to bright red to warn trailing motorists.
  • Using phone running Blynk GUI App connected to Arduino as optional display and controller.
  • App displays Speed graph, distance. Allow color and light effect selection.

Break switch wiring I wired a continuous close circuit loop that when a break in the handle bar will break the circuit. Interrupt will trigger all strip lights to red to warn tailing riders

Reed switch wiring I used the home security reed switch tied to the front wheel frame. Magnets secured to the wheel spool with groove cut into corners and sealed with duct tape.

Headlight Relay Used a relay for powering the 12v high white LED head lights. Physical switch should suffice. But I want to control it via phone arduino for other power devices. Such as musical horn.

LED light strip mounting To spread colored LED lights more evenly. I mounted the colored led strip under the bike central bar and wrap acrylic tube to spread lights. I used angled tube plastic cover leftover from windshield wiper blade packaging. The thin angled acrylic cover reflects the LED lights like mirror and creates illusion of multiple strips of light from a single strip. - a nice surprising effect.

Wire all switches to a wire harness and connected to the arduino with the pre-tested prototype.

Blynk GUI APP Download Blynk app. Scan the QR code to obtain the Bike LED Display GUI. Press bluetooth button.

  • Select Bike Display. Wait for bluetooth connection.
  • Press back button to return to interface after establish BLE connection to Arduino.
  • Press Play button on upper right corner.
  • Wait for Speed and graph to update.
  • View, control color and light effects with the GUI app.


This project has been a proof of concept for motion controlled canvas. I learned a lot about Bluetooth LE communication, timing, multiple interrupts and input. I had to adapt codes using Currie library instead of using existing LED codes library with AVR. Research version compatibility of Blynk Bluetooth App with Aruduino 101 by downgrade to older firmware version 1.0.7 from latest 2.0.2. Everything worked out well in the end. Using BLynk App to communicate with Arduino 101 saves a lot of custom coding with Bluetooth library.


It’s been a fun challenge. I plan to add more lights to the bikes with larger capacity battery. And use the concept learned here for other interactive light projects and art installations.

Built With

Share this project: