Summary of Light your Bike, and use your Phone to Control It
This project demonstrates a DIY bike lighting system controlled via a Windows Phone app. The author uses an Arduino MKR1000 paired with a Bluetooth modem to communicate with the phone, which runs a C# Universal Windows Platform application. The system manages a NeoPixel LED strip to provide front and rear visibility for night cycling, utilizing Firmata protocol for communication between the hardware and software components.
Parts used in the Bike Light Project:
- Arduino MKR1000
- SparkFun Bluetooth Modem - BlueSMiRF Silver
- Adafruit NeoPixel Digital RGB LED Strip - White 30 LED
- Windows Phone
- Breadboard
Arduino, NeoPixels, Firmata, and a Windows Phone (picked one up for $30 bucks) to control lighting.

Things used in this project
Story
Introduction
I thought, well I have a strip of NeoPixels that I’m not using…and it’s kinda dark outside when I bike to and from work.
Background
When I took on this project to write an app to control an Arduino, my programming background was mostly in Python. However, I found these two tutorials helpful for picking up C# and understanding how to develop a Windows Universal Application.
https://channel9.msdn.com/Series/C-Fundamentals-for-Absolute-Beginners
https://channel9.msdn.com/Series/Windows-10-development-for-absolute-beginners
Light it up
Launching the app brings up the connection page. Once a Bluetooth connection is made and Firmata exchanges some things your brought to the controls.


Mounting the breadboard to the bike, note the screw on the right side of the breadboard.

Schematics
Code
-
What hardware is required to control the bike lights?
The project requires an Arduino MKR1000, a SparkFun Bluetooth Modem, an Adafruit NeoPixel Digital RGB LED Strip, and a Windows Phone. -
How does the user connect the phone to the Arduino?
The user launches the app to reach the connection page, establishes a Bluetooth connection, and then exchanges data using Firmata. -
What programming language was used for the mobile application?
The mobile application was developed using C# as a Universal Windows Application. -
Can the system be used if I only know Python?
Yes, tutorials on C# fundamentals and Windows 10 development were found helpful for learning the necessary skills. -
Does the light system support multiple colors?
The project uses a NeoPixel Digital RGB LED Strip, which supports color, though the specific implementation shown controls just front and rear lights. -
How is the breadboard secured to the bike?
The breadboard is mounted to the bike using a screw located on the right side of the breadboard. -
Where can I find the source code for the project?
The source code for both the C# universal app and the Arduino sketch is available for download as zip files.



