I’m sharing this not as a detailed how to make but just so as to give anyone interested in trying this a head start on the code. I wouldn’t recommend unless you have some knowledge of bicycle mechanics and practical workshop skills. The mechanical parts design, circuit layout and pin choice are best designed to suit your needs and bicycle. Neither of mine are a truly finished design but can be used as a starting point.
I’ve included every feature in the code so edit out what is not needed. Spreadsheet is provided for calculating values to set up the code for your hub.
Project Perspective
This Enviolo (NuVinci) Road Bike Fully Automatic Shifter is a fun and advanced project that combines basic mechanical and digital interaction. By integrating multiple sensors like speed and cadence, you can build an engaging automatic shifting system for a road bike.
Technical Implementation
The system uses an Arduino Uno as the primary controller to monitor the bike's speed and rider's cadence. Based on a predefined shifting logic, a High-Torque Servo Motor rotates the Enviolo (NuVinci) Shifter Mechanism to achieve the desired continuous gear ratio.
Hardware Infrastructure
- Arduino Uno: The primary controller for the shifting logic and its Sensors.
- Enviolo (NuVinci) Shifter Mechanism: This internal gear hub provides a continuous range of gear ratios without the need for traditional derailleur-based shifting.
- High-Torque Servo Motor: Provides the physical force to rotate the shifter mechanism.
- Speed & Cadence Sensors: Provides data on the bike's speed and the rider's cadence for the shifting algorithm.
- OLED Display: Provides real-time visual feedback on the current gear ratio and the overall status.
- Micro-USB Cable: Connects the Arduino to your computer for power and code.
- Jumper Wires: Connect all the components together.
Shifting Logic and Software Execution
The Arduino code utilizes libraries like AccelStepper and Adafruit_SSD1306 for the OLED display.
- Polling: The Arduino constantly reads data from the speed and cadence sensors.
- Data Integration & Logic: The sensor readings are compared against target cadence and power levels to determine the optimal gear ratio.
- Actuation: The calculated gear command is sent to the high-torque servo motor to adjust the shifter.
- Display: The current gear ratio and system status are shown on the OLED display, providing a responsive and engaging user interface.
Future Expansion
- Custom Shifting Profiles: Add a push button or a potentiometer to allow you to customize the shifting profiles for different terrains and riders.
- Wireless Connection: Add a Bluetooth module to monitor and control the shifting system remotely from a smartphone.
- Power Meter Integration: Integrate with a power meter for even more sophisticated and optimized shifting.
- Advanced Monitoring Integration: Log the shifting data for further analysis.
This Enviolo (NuVinci) Road Bike Fully Automatic Shifter is a perfect project for any electronics enthusiast looking for a more interactive and engaging bike tool!