Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions README.en-US.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Tutorial for Connecting XDS Power Meter to ANT+ Bike Computer

## Hardware List

- Adafruit feather nrf52840 express

- ESP32 devkit c v4 (32D)

- 3.7v Li-ion battery (to power the feather)

- *5v Li-ion battery (to power the ESP32)*

- *ESP32 power expansion board*

The power supply method for the ESP32 does not have to be the same as mine (I used a 5V battery because of my power expansion board); just choose the method that suits you. **For everything else, it is recommended to stay consistent with my setup to increase the success rate.**

## Development Environment Setup

Download and install Arduino IDE.

Configure the protocol stack for the feather and modify the relevant library files: [ANT+ Device Development Guide | 知者不言](https://neuronx.top/2025/09/25/ANT-%E8%AE%BE%E5%A4%87%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97/)

## Flashing Code

[GitHub - 1wpc/PowerMeter_Arduino: XDSHacker function: XDS -> nrf52840 -> magene](https://github.com/1wpc/PowerMeter_Arduino) (feather)

[GitHub - 1wpc/xds_repeater](https://github.com/1wpc/xds_repeater) (ESP32)

## Usage

1. Start the AD350 power meter first; when the green light flashes, it has started successfully (Note: ensure the power meter is not connected to any other device at this time).

2. Power on the ESP32.

3. Power on the feather (when the blue light changes from flashing to solid, it is operating normally).

**Following the sequence of the steps above can ensure a higher success rate.**

## Related Information

The Bluetooth service of the XDS power meter is `0x1828` (Mesh Proxy Service) and the characteristic value is `0x2A63` (Cycling Power Measurement).

<img title="" src="https://github.com/1wpc/xds-tutorial/blob/master/d3c369fd352335afadc29b018a0c1bec.jpg" alt="d3c369fd352335afadc29b018a0c1bec.jpg" width="409">

Additionally, connecting the nrf52840 directly to the XDS power meter does not receive data, so the ESP32 is currently used as a relay. Therefore, there is still room for optimization in this system, ideally solving it with a single board.