Celebrate World Bicycle Day with these Arduino-powered bike projects
Cycling is a great way to spend time outdoors while simultaneously getting exercise and even as a mode of efficient transportation. And in the last few years due to the recent proliferation of e-bikes on the market and the pandemic, there has been an explosion in the number of people wanting to use bikes on a regular basis. A few people have gone a step further and have taken it upon themselves to create devices that make this experience safer, more convenient, or more fun. For this year’s World Bicycle Day, let’s celebrate these makers and how they were able to creatively embed Arduino products into their designs for a better cycling experience.
The purpose of a transmission is to convert the rotation of the motor into torque for the wheels, with more being needed at lower speeds for acceleration and less when cruising. Similarly, most bikes also have gearing wherein the rider can downshift to get up a hill or upshift to make larger strides on a straightaway. Jan Oelbrandt’s Shift4Me project eliminates the need to consciously think about this since it uses a magnetic cadence sensor attached to an Arduino Nano which allows it to automatically shift up or down depending on how quickly the pedals are moving.
Bikelangelo water “graffiti” trailer
Similar to how a persistence of vision (POV) display moves rapidly changing pixels through the air to produce the illusion of a larger image, maker Sagarrabanana devised a towable bike trailer that sprays water on the ground using seven individual jets which take the place of the pixels in a POV display. Controlled by an Arduino Nano, the jets’ timing is determined by the bike’s speed in order to precisely deposit even lines of water in a dot-matrix pattern. Text from the user is inputted on a mobile phone and sent to the Nano via an HC-05 Bluetooth® module for printing.
Biking position sensing
Bike computers are great for collecting detailed information on speed, cadence, power output, elevation, and more, but none can say whether the cyclist was sitting or standing for a period of time. This is why Fabio Antonini used an Arduino Nano 33 BLE Sense and Edge Impulse to develop such a device. He started by gathering 20 minutes of him sitting on a plane, sitting while going uphill, jumping on the pedals going uphill, and pushing on a flat sprint, then after training, deployed it to the Nano. In order to tell what is being detected, the built-in RGB LED changes color to notify the user.
An unusual two-wheel steering system
Prolific YouTuber and maker James Bruton is no stranger to unique robots and vehicles, and his take on the bicycle is no different. Unlike a traditional design that has a free front wheel and a locked rear wheel, this e-bike has a hub motor in both wheels that can turn independently thanks to an additional pair of motors. When the rider turns the front wheel, an Arduino Uno reads the encoder value and uses it to spin the rear wheel according to one of three modes: lock, mimic the front, and mirror the front. And although the resulting creating isn’t too practical, it’s a great way to see what’s possible when thinking out of the box.
Nearly every bike lock in existence is operated by inserting a key into a cylinder and turning it to release the secured frame and/or wheel from a post. While this approach works, it also lacks several useful features such as keyless entry, mobile connectivity, and location tracking. The TapLock project reinvents the lock by relying on either a series of physical taps on the lock’s enclosure in a certain pattern or a paired phone to unlock. Beyond this, the TapLock’s Arduino Nano 33 BLE Sense communicates with the mobile app to store the current location on a map and even remotely lock the bike.
Compact turn signals
In a car, signaling is as easy as pushing a stock up or down to indicate your intention of changing lanes or turning, but for bikes, this role falls to the rider having to move their arm around. Tom Ouwerkerk’s solution was to buld a very compact signal by combing two eight-LED NeoPixel strips and an Arduino Uno to act as the signal. The strips sit on a gliding mechanism which moves either left or right thanks to a servo motor underneath, and it helps to clarify the intended direction of travel even further.
ML-powered adjustable suspension
Higher-end, modern cars are beginning to add automatically adjustable suspension systems to their drivetrains which help to adapt the car to the current terrain, atmospheric conditions, and the driver’s comfort level. Jallson Suryo was able to create his own thanks to an Arduino Nano 33 BLE Sense and a servo motor that turns the bike’s front suspension fork to increase or decrease stiffness. Terrain recognition was accomplished by training an edge ML model on IMU readings and using them to distinguish between idle, smooth, medium, rough, and sprint conditions.
Connecting a stationary bike to a simulator
Bicycling simulators are a great way to experience races against others, explore trails, or simply enjoy a pleasant ride no matter what the weather outside is. Zwift is one such software, and two important features are that your actual pedaling speed is matched in-game and the game controls the pedaling difficulty. Gene’s Green Machine was able to integrate his bike with the system by connecting an Arduino Nano 33 IoT board to a DPS5020 charge controller for reading the current wattage and setting the target resistance. All of this information is sent and received by utilizing the Nano’s capabilities.
A video game controller
Similar to the previous project, video game creator Jelle Vermandere wanted to ride his bike indoors along a virtual track. But this time, he took it a step further by not only integrating his bike using an Arduino Uno which determines the wheel speed via a magnetic reed switch, but building the game himself in Unity. He had to construct and animate models for himself, the bike, and the scenery. After adding an AI and ranking system to the game, he was able to successfully race within the virtual environment on a real bike.
Responsive LED system
Motivated by the desire for a more advanced lighting system while on her nighttime bike rides, Natasha (TechnoChic) decided to affix strips of NeoPixel LEDs all over her bike that could react to music in real-time. The LEDs are controlled by an Arduino Nano 33 IoT that is, in turn, connected to her boombox via a 3.5mm audio jack for reading the audio signal. Two additional Nano 33 IoT boards were used for the wheels, along with more NeoPixels and batteries for each.
Bicycle theft has been rapidly increasing over the last couple of years, which is why being able to recover a stolen bike has become vital. Johan’s bike tracker project contains an Arduino MKR GSM 1400 which reads motion data from an IMU and uses it to determine if the bike has moved when it is not supposed to. Once movement is detected, the board reads GPS data from a MKR GPS Shield and sends it over an LTE data connection in real-time so that the bike can be found.
Integrated safety features
The majority of mountain bikes lack useful safety features such as integrated lights, turn signals, and speed tracking, which is why Collin Wentzien embarked on his “(not so) electric bike” project. He built a series of features, including automatic brake/turn lights, a headlight, and an electronic horn with the goal of improving safety. Furthermore, his bike also got a bike computer upgrade which contains an Arduino Mega, GPS module, and dual screens for displaying relevant telemetry data.
After losing the display unit for her bike computer, Element14 Presents host Katie wanted to replace it with a DIY version that tracked the current speed via GPS instead of wheel rotations. An Arduino Nano 33 IoT board handled communication between the small 1.3” LCD screen and one of Quectel’s L80 small form-factor GPS modules. On each loop of the program, the time, speed, and distance are all shown on the screen thanks to the 4D Systems genieArduino display library.
BLE-enabled cycling computer
This last DIY bicycle computer was made by YouTuber cubicpixelDE, and it integrates an Arduino Nano 33 BLE Sense along with a myriad of bicycle sensors and a heart rate sensor over BLE to display valuable data to the rider. The entire system combines a 1.8” color TFT screen and the Nano 33 BLE Sense into a single, compact unit which fits alongside the handlebar and reads out data to a mobile app wirelessly.