Task
The Independent Design Challenge (IDC)  tasked students with identifying and addressing a personal pet peeve by designing and producing an interactive object. The emphasis was on tackling real-world challenges through a combination of creative problem-solving and technical proficiency, utilizing Arduino as the foundation for a functional solution. 
My chosen pet peeve stemmed from the occasional difficulty of maintaining pace while cycling with friends, which often led to disruptions in group dynamics and slowed down the overall ride. This challenge necessitated the creation of a real-time feedback system to help cyclists stay aligned with the group’s pace. The solution also had to be user-friendly, non-distracting, and adaptable to a variety of cycling environments.
Goal
The primary goal of this project was to create a functional product (prototype) capable of monitoring speed and elevation changes in real-time, with an additional "motivational" feature in the form of escalating punishments. The punishments, delivered through servo movement and synchronized buzzer sounds, were designed to alert and motivate the rider to return to the target speed range. The device needs to be lightweight, battery-powered, and easily attachable to a road bike, for usability and convenience for cyclists.
Development
The device was developed using the following components:
Arduino Uno R3: The main microcontroller used for programming and interfacing with all sensors and outputs.
TinyGPS++ GPS Module: Used to measure real-time speed with high accuracy.
SparkFun MPL3115A2 Altimeter: A barometric pressure sensor used to measure elevation changes for calculating elevation gain.
Active Buzzer: Dual buzzers were used for audio feedback, with synchronized outputs for enhanced sound intensity.
Micro Servo Motor: Used to deliver physical feedback by moving back and forth at varying speeds.
The device was programmed in C++, utilizing the TinyGPS++ library for speed calculation and the SparkFun MPL3115A2 library for altitude measurements. The punishment system was implemented using custom functions for synchronized buzzing and servo movements, ensuring escalating feedback over multiple intervals.
Testing was conducted to calibrate the sensors and verify the feedback system under various cycling conditions, including flat terrain and inclines.
Design
The Cycling Pace Monitor is built around a modular design that prioritizes portability and integration with road bikes. The device features a seat post mount bracket, which is separate from the main enclosure, allowing the user to easily attach or remove it as needed. This modular approach enhances convenience and is compatible with various setups.
The enclosure is made from sleek black acrylic material, selected for its  lightweight properties and aesthetic appeal. The black acrylic goes well with my road bike, aligning with its modern visual style. This ensures that the device blends seamlessly with the bike while maintaining a discreet yet professional appearance. Future iterations of the enclosure could adopt a 3D-printed aerodynamic design for an even more integrated look.
Functionalities
The Cycling Pace Monitor integrates several key components to monitor performance and provide feedback:
Speed (mph):
Measured using a TinyGPS++ GPS module, which calculates speed based on changes in the cyclist's location over time.
If the speed falls outside the target range of 9-20 mph, the punishment system is triggered. (0mph is excluded for safety reasons)
Elevation Gain (ft/mile):
Calculated using a SparkFun MPL3115A2 barometric pressure sensor, which measures changes in altitude.
If the elevation gain exceeds 100 ft/mile, the device grants amnesty by pausing punishments, accounting for the natural slowing effect of steep climbs

All powered through a 9V battery.
Outputs Based on Intervals
The device provides feedback (hammers the user in the butt) using a micro servo motor, and audio feedback using the active buzzers, delivering escalating punishments over a series of 15-second intervals:
Level 1: A small beep using the dual buzzers, acting as a gentle reminder to adjust speed.
Level 2: Slow servo movement combined with moderate beeping, providing physical feedback to the rider.
Level 3: Slow "movie bomb" beeping paired with deliberate servo movements, creating a sense of urgency.
Level 4: Faster beeping and faster servo movements, further escalating the intensity.
Level 5: Rapid beeping paired with continuous servo movements, mimicking the final moments of a bomb countdown.
Level 6: Fastest possible beeping and near-constant servo movement, delivering the most intense feedback as a final escalation.
The system resets if the cyclist returns to the target speed range, and amnesty ensures punishments are paused during steep climbs.
Final Product
The final product is a functional prototype that properly monitors speed and elevation while delivering escalating punishments to the cyclist when they fall out of the target speed range. The punishment system begins with a small beep, progressing through slower bomb-style countdown effects, and culminates in the fastest possible beeping with rapid servo movement. While the current prototype displays data only through the Arduino serial monitor, future iterations could integrate a standalone display for a more polished user experience. The device successfully meets its goal of providing real-time feedback to cyclists, serving as an innovative and interactive tool for pace training
Future Iterations
Future improvements to this project could focus on enhancing usability, functionality, and design integration. Adding a visual interface, such as an LED or LCD display, could provide real-time feedback on speed, elevation gain, and punishment levels directly to the cyclist, eliminating the need for external monitoring devices. Integration of a Bluetooth module would allow the device to connect to a smartphone app, enabling customizable speed ranges, elevation thresholds, and tracking of performance metrics.
To improve power efficiency, future iterations could incorporate a rechargeable lithium-ion battery, offering longer operation times and a more sustainable energy solution. The current enclosure design could also be upgraded to include a hinged door mechanism for easier access, replacing the lace lock system. Alternatively, a 3D-printed aerodynamic enclosure could be developed to better match the contours of the bike and enhance the overall integration with its design.
Finally, the punishment system could be expanded to include visual alerts, such as flashing LEDs, providing an additional layer of feedback that is both motivational and intuitive. These improvements would make the device more versatile, user-friendly, and aligned with the needs of both casual and performance-oriented cyclists.