# I Hacked My E-Bike To Earn Power-Ups

Source: https://www.youtube.com/watch?v=ydJ1536Uhtc
Recap page: https://rapidrecap.app/video/ydJ1536Uhtc
Generated: 2026-10-30T15:33:17.989+00:00

---
## The Gist

A cycling creator modifies a Specialized Levo e-bike by reverse engineering its Turbo Control Unit and writing custom firmware, creating gamified ride modes like Mushroom Mode and Gaslight Mode that require pedaling effort to earn motor power.

## Quick Overview

Seth Alvo from Berm Peak hacks his Specialized Levo e-bike to turn exercise into a gamified experience resembling video games like Mario Kart. By decoding the CAN bus communication protocol, building a custom ESP32 microcontroller setup with a touch screen, and writing Python scripts to monitor rider torque, he forces the motor to withhold assistance until the rider earns enough energy joules. This setup introduces custom ride modes like Mushroom Mode for timed bursts of full power and Gaslight Mode to secretly drain rider assistance.

**Key Points:**
- Seth Alvo uses a Specialized Levo e-bike as the base platform for his custom electronic hacking project.
- He discovers an existing open-source GitHub repository by Jamie Magee named specialized-turbo containing Python libraries for BLE communication and telemetry.
- Using a digital multimeter and an FNIRSI oscilloscope, he decodes the bike-side and TCU-side CAN bus wiring pairing 36-volt, 12-volt, and CAN high/low lines.
- He builds a breadboard-based TCU sniffer using an ESP32 microcontroller and a CAN transceiver to listen to conversations between the stock TCU and the motor.
- The custom Mushroom Mode requires the rider to generate 3,600 joules of pedaling effort before rewarding them with sixty seconds of full motor boost.
- Gaslight Mode silently reduces the rider assist level bit by bit to trick them into questioning their own fitness levels.
- The final 3D-printed custom enclosure houses the ESP32 microcontroller, touch screen, and Julep connectors directly inside the bike top tube.

![Screenshot at 16:14: Mushroom Mode activates on the custom top tube display, giving the rider a sixty-second full power boost after earning enough joules.](https://ss.rapidrecap.app/screens/ydJ1536Uhtc/00-16-14.jpg)

**Context:** Modern e-bikes provide motor assistance that makes riding easier and less physically demanding. To counteract this and make exercise more addictive, tech-savvy cyclists can modify the proprietary electronics of their bikes to alter how power is delivered based on earned physical exertion.

## Detailed Analysis

Seth Alvo undertakes a complex reverse-engineering project to modify his Specialized Levo e-bike, aiming to gamify the riding experience by forcing riders to earn motor power through pedaling. After identifying existing open-source Python code on GitHub, he analyzes the CAN bus communication protocols and wiring between the battery, motor, and Turbo Control Unit. By constructing a breadboard sniffer and utilizing an oscilloscope, he maps out the voltage signals and identifies the data streams flowing through the system. He designs custom software running on an ESP32 microcontroller connected to a small touch screen display, replacing the stock TCU functionality. He implements various custom ride modes, including Interval training, Gaslight Mode to subtly decrease assistance, and Mushroom Mode, which rewards accumulated rider torque with temporary full-power boosts. Finally, he 3D prints a custom housing to neatly package the microcontroller, wiring, and connectors into the top tube of the bike frame.

### Prerequisites and Github Discovery

The project begins by checking if anyone else has already hacked the proprietary Specialized e-bike electronics.

- Seth searches online repositories to see if the Bluetooth and BLE communication protocols for the Specialized Turbo e-bike have been cracked.
- He finds a GitHub repository by Jamie Magee named specialized-turbo that provides Python libraries for BLE communication and telemetry.
- This repository allows a computer to connect to the bike, receive telemetry data, and send remote commands via terminal inputs.

![Screenshot at 01:14: The GitHub repository page showing the specialized-turbo Python library used for e-bike communication.](https://ss.rapidrecap.app/screens/ydJ1536Uhtc/00-01-14.jpg)

### Decoding CAN Bus Wiring

Understanding how the bike communicates requires tracing voltage and signal lines.

- Seth uses a multimeter to identify wire functions, finding a ground wire, a 12-volt wire, a 36-volt wire, and a pair of CAN bus wires.
- He connects an oscilloscope to test the CAN high and CAN low lines, observing distinct voltage drops and spikes during data transmission.
- He draws out a complete wiring diagram to understand how the stock Turbo Control Unit interfaces with the motor and battery.

![Screenshot at 04:09: A handwritten notebook diagram showing the voltage allocations for the CAN bus and power wires.](https://ss.rapidrecap.app/screens/ydJ1536Uhtc/00-04-09.jpg)

### Building the TCU Sniffer

To read and replicate commands, a sniffing device must be built to monitor bike communications.

- Seth sets up a breadboard with jumpers and a CAN transceiver to safely tap into the communication lines between the stock TCU and the bike.
- He solders resistors and wires to isolate the CAN high and CAN low signals without damaging the sensitive motor controller.
- The sniffer successfully logs data frames and confirms that the computer can listen to baseline telemetry and send valid commands.

![Screenshot at 04:50: The breadboard setup displaying CAN bus data frames on the small attached screen.](https://ss.rapidrecap.app/screens/ydJ1536Uhtc/00-04-50.jpg)

### Eliminating the Stock TCU

True control requires bypassing the factory unit entirely and communicating directly with the motor.

- Seth realizes that simply listening to the stock TCU is insufficient, and he needs to completely replace it with a custom microcontroller.
- He wires an ESP32 microcontroller and a breadboard directly into the bike frame to take full control of the wake sequence and power states.
- By grounding specific wires for precise durations, he successfully commands the motor to boot up into Eco mode without any factory TCU attached.

![Screenshot at 10:52: The motor successfully operating in Eco mode with the stock TCU completely disconnected.](https://ss.rapidrecap.app/screens/ydJ1536Uhtc/00-10-52.jpg)

### Designing Custom Ride Modes

The hacked hardware enables entirely new software-driven riding experiences.

- Mushroom Mode requires the rider to accumulate 3,600 joules of pedaling effort before earning a sixty-second full-power turbo boost.
- Gaslight Mode secretly and gradually lowers the motor assist level to trick riding partners into doubting their fitness levels.
- Interval Mode alternates between high-effort work periods and recovery zones to structure workouts automatically.

![Screenshot at 14:41: The custom Gaslight Mode menu displayed on the top tube screen before a ride.](https://ss.rapidrecap.app/screens/ydJ1536Uhtc/00-14-41.jpg)

### Final 3D Printed Enclosure and Installation

The raw electronics must be neatly packaged into a durable physical housing that fits the bike frame.

- Seth designs a custom enclosure in CAD and prints it on a 3D printer to house the ESP32 board and touch display.
- He solders Julep connectors to match the factory wiring harness so the custom unit can plug seamlessly into the frame top tube.
- After securing the final housing with screws, the custom display operates smoothly on mountain bike trails.

![Screenshot at 12:36: The assembled custom hardware displaying telemetry graphs inside the newly soldered housing.](https://ss.rapidrecap.app/screens/ydJ1536Uhtc/00-12-36.jpg)

