

OpenWatts
OpenWatts is a crank-mounted, single-sided cycling power meter built around an ESP32-C3. A bonded strain-gauge bridge and HX711 measure crank torque, while an LSM6DS3 IMU provides cadence and motion wake.
- Size
- 70 × 35 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 41
- Nets
- 54
- Pads
- 199
- Tracks, vias
- 452, 30
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 1 Jul 2026
- Updated
- 3 Sep 2026
Overview
OpenWatts is an open-source printed circuit board by ikonis, from the ikonis/OpenWatts repository on GitHub. It is a 2-layer board of 70 × 35 mm with 41 parts on 54 nets, routed with 452 tracks and 30 vias.
It is built around the ESP32-C3-MINI-1, HX711 and LSM6DS3, with the ME6211C33M5G-N among its other parts. Its parts include 11 resistors, 7 capacitors, 5 ICs, 2 diodes and 2 connectors. It belongs with the ESP32 and RISC-V boards of this library.
Main components
4ESP32-C3-MINI-1
--40℃~+81℃ -89dBm 2.4GHz 350mA 3V~3.6V 82mA ESP32-C3 Chip On-board PCB Antenna UART - WiFi Modules ROHSRF CrazyWiFi ModulesHX711
SOP-16-40℃~+85℃ 1.4mA 10Hz、80Hz 1MHz~20MHz、11.0592MHz 2 2.6V~5.5V 20mV、40mV、80mV 24 Built-in External、Built-in SPI Support Yes SOP-16 Analog to Digital Converters (ADC) ROHSAvia SemiconAnalog To Digital Converters (ADC)LSM6DS3
LGA-14(2.5x3)-40℃~+85℃ 1.71V~3.6V 8KB Accelerometer Gyroscope SPI、I2C X,Y,Z X,Y,Z ±16g ±2000dps LGA-14(2.5x3) Accelerometers ROHSSTMicroelectronicsAccelerometersME6211C33M5G-N
SOT-23-5-40℃~+150℃ 1 120mV@(100mA) 3.3V 500mA 50uVrms 60uA 6V 70dB@(1kHz) Fixed Over Current Protection、Enable、Short Circuit Protection Positive SOT-23-5 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSMICRONEVoltage Regulators - Linear, Low Drop Out (LDO) Regulators
README
README.mdOpenWatts
OpenWatts is a crank-mounted, single-sided cycling power meter built around an ESP32-C3. A bonded strain-gauge bridge and HX711 measure crank torque, while an LSM6DS3 IMU provides cadence and motion wake. Firmware publishes standard BLE Cycling Power Service data and includes calibration, ride recording, battery management, OTA updates, a responsive WebUI, and optional MQTT/Home Assistant reporting.

The current hardware is the manufactured and field-validated OpenWatts RevA. It has been calibrated and ridden through the working topology:
OpenWatts --BLE CPS--> SmartSpin2K --> MyWhoosh
Current capabilities
- calibrated strain/HX711 torque and IMU cadence
- signed-safe, filtered BLE Cycling Power output
- Normal and Maintenance operating modes
- motion wake and battery-conscious light sleep
- guided Bench Calibration plus runtime Ride Zero
- phone-first live ride dashboard with read-only SmartSpin2K LAN data
- retained Last Ride statistics and modeled road distance/speed
- USB or guarded Maintenance-mode web OTA
- retained MQTT battery/ride reports and Home Assistant discovery
Hardware
- KiCad schematic
- KiCad PCB
- human-readable hardware BOM
- public hardware exports
- manufactured PCBWay RevA package
- installation checklist
- calibration guide
The checked-in KiCad PCB describes the board that was actually manufactured; it is not a hypothetical redesign. Exploratory future lessons are deliberately isolated in REV_B_NOTES.md and are not a development promise.
Firmware
Firmware source, build instructions, and its hardware boundary are documented
in firmware/README.md. Product behavior and validation are
covered by the focused documents in docs/.
Important limitations
- RevA uses light sleep because its IMU interrupt is not connected to an ESP32-C3 deep-sleep-capable GPIO.
- Battery percentage is estimated from voltage; voltage is authoritative.
- MQTT uses unauthenticated plain TCP on a trusted LAN.
- Road speed and distance are modeled estimates, not wheel/GPS measurements.
License
No license file is currently included. Until one is added, normal copyright rules apply; public visibility alone does not grant reuse rights.
Parts
41| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | 100k | Resistor_SMD:R_0603_1608Metric | R_BAT_BOT1, R_BAT_TOP1, R_USB_BOT1, R_USB_TOP1 |
| 4 | 10k | Resistor_SMD:R_0603_1608Metric | R8, R9, R10, R11 |
| 4 | MountingHole_2.7mm_M2.5 | MountingHole:MountingHole_2.7mm_M2.5 | H1, H2, H3, H4 |
| 3 | 100nF | Capacitor_SMD:C_0603_1608Metric | C1, C5, C8 |
| 2 | 1k | Resistor_SMD:R_0603_1608Metric | R6, R7 |
| 2 | 1µF | Capacitor_SMD:C_0603_1608Metric | C3, C4 |
| 2 | 4.7k | Resistor_SMD:R_0603_1608Metric | R4, R5 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R1, R2 |
| 2 | Conn_01x04 | Connector_JST:JST_XH_S4B-XH-A_1x04_P2.50mm_Horizontal | J_BOTTOM1, J_TOP1 |
| 2 | LED | LED_SMD:LED_0603_1608Metric | D2, D3 |
| 2 | SW_Push | Button_Switch_SMD:SW_SPST_EVQP2_MiddlePushTravel_H2.5mm | SW1, SW2 |
| 1 | 10µF | Capacitor_SMD:C_0603_1608Metric | C6 |
| 1 | 2k | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | 4.7µF | Capacitor_SMD:C_0603_1608Metric | C2 |
| 1 | Conn_02x03_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | J2 |
| 1 | ESP32-C3-MINI-1 | Espressif:ESP32-C3-MINI-1 | U5 |
| 1 | HX711 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U4 |
| 1 | JST-PH Battery | Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J_BAT1 |
| 1 | LOGO | LOGO | G*** |
| 1 | LSM6DS3 | Package_LGA:LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4y | U6 |
| 1 | MCP73831-2-OT | Package_TO_SOT_SMD:SOT-23-5 | U1 |
| 1 | ME6211C33M5 | Package_TO_SOT_SMD:SOT-23-5 | U2 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J1 |
Questions
How big is the OpenWatts PCB?
It measures 70 × 35 mm and has 2 copper layers, 1.6 mm thick.
What parts does the OpenWatts use?
41 parts, built around the ESP32-C3-MINI-1, HX711, LSM6DS3 and ME6211C33M5G-N. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the OpenWatts KiCad files?
From the ikonis/OpenWatts repository on GitHub, at the commit this page was made from: the board is OpenWatts.kicad_pcb and its schematic OpenWatts.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the OpenWatts design in my own project?
Its repository states no licence, so its author keeps all rights: ask ikonis before reusing the design.
Similar boards
- 2 layers46.4 × 50 mm

- 4 layers92.7 × 92.7 mm

OSCD demo PCB
tmjnijssen/OSCD_demo_PCB
Open Science Community Delft demonstration PCB
94 parts3CERN-OHL-P-2.0 - 4 layers70 × 45 mm

Mini dyno
EhlOps/mini-dyno
The mini dyno (dynamometer) is a tool created to measure the torque and power output of an engine or motor. The mechanical portion of the dyno functions as a water brake.
58 partsCERN-OHL-P-2.0 - 2 layers36.5 × 46 mm

123-pcb design
ShriyanGote/cse123a-project
This repo contains all the code, hardware notes, and documentation for our Smart Pitcher Base project. The system is made up of three pieces:
22 parts - 2 layers

SkyRizz ESPSOL
SkyRizzAI/SkyRizz-ESPSOL
An open-hardware, coin-sized ESP32-S3 development board with an on-board secure element, 6-axis IMU, PDM microphone, buzzer, USB-C, and Li-Po charging — all on a 40.6 mm (1.6") round, 2-layer PCB.
101 partsCERN-OHL-S-2.0 - 2 layers80 × 60 mm

PCB Reflow Hot Plate
bjkayani/PCB-Reflow-Hot-Plate
The PCB Reflow Hot Plate is a temperature controlled 120 x 70 mm hot plate designed to reflow solder SMD circuit boards.
70 parts1 - 2 layers62.5 × 42.5 mm

- 4 layers17.5 × 17 mm
