
Blinkekatze
TobleMiner/blinkekatze
Blinkekatze, a replacement PCB to turn cat themed night-lights into interactive light displays
Curl Tracker is a wearable bicep curl tracker that uses an ESP32-C3 Super Mini alongside a MPU-6500 IMU to count reps, measure curl speed, and evaluate form in real-time.
Curl tracker is an open-source printed circuit board by terryzhw, from the terryzhw/curl-tracker repository on GitHub, published under the MIT licence. It is a 2-layer board of 50 × 60 mm with 55 parts on 52 nets, routed with 447 tracks and 72 vias.
It is built around the ESP32-C3-MINI-1, TPS63001DRC and BMI270, with the USBLC6-2SC6, AO3400A and DMP2035U among its other parts. Its parts include 17 resistors, 16 capacitors, 5 ICs, 4 connectors and 3 diodes. It belongs with the ESP32 and RISC-V boards of this library.
Curl Tracker is a wearable bicep curl tracker that uses an ESP32-C3 Super Mini alongside a MPU-6500 IMU to count reps, measure curl speed, and evaluate form in real-time. It uses a on-device classifier to distinguish good reps from common curl form faults. Curl Tracker displays live rep metrics to a SSD1306 OLED and streams data over MQTT to be plotted on a Python/matplotlib client. It also provides haptic feedback and monitoring of device state.
Power: 3.7V LiPo (range: 3.0V - 4.2V) with a TP4056 module for charging managment. MT3608 module converts the varying 3.7V Lipo to a stable 5V source. A mechanical switch is used as a on/off switch.
MCU & Peripherals: ESP32-C3 Super Mini is the MCU that serves as the brain for the project. MPU-6500 IMU and SSD1306 share a I2C bus which the ESP32 uses to communicate. A push button is used to provide data collection input to label reps while gathering training data for the classifier.
Feedback: A status LED exists which turns on if any of the electronic malfunction. The OLED displays rep count, sets, and status of MQTT. The vibration motor, paired with a flyback diode circuit for back-EMF protection, is used for haptic feedback.
![]()
ESP32-C3-MINI-1 module: Using a pre-certified module means the RF design is already done and the FCC/CE certification carries over, so I avoid the antenna layout, matching network, and re-testing that a bare C3 would require.
MPU6500 → BMI270: The MPU6500 is end-of-life and no longer recommended for new designs. The BMI270 is Bosch's current-generation IMU with active vendor support and drivers in most major frameworks.
TP4056 → MCP73831: Swapped the TP4056 for Microchip's MCP73831. Better documented, properly sourced through mainstream distributors, and easier to justify in a design review.
MT3608 → TPS63001: A LiPo swings from 4.2 V down to 3.0 V, which straddles the 3.3 V rail from both directions. A boost-only converter or an LDO can't hold regulation across that whole range, so the TPS63001 buck-boost keeps 3.3 V stable through the full discharge curve, including the current spikes when the ESP32's radio transmits.
USB-C: The current connector standard: reversible, mechanically more durable than micro-B, and what any user will already have a cable for.
JST-PH for battery and motor: Keyed housings so the connectors can't be seated backwards, and they're cheap, common, and rated well past the current this board draws.
![]()
| Qty | Value | Footprint | References |
|---|---|---|---|
| 7 | 100nF | Capacitor_SMD:C_0402_1005Metric | C6, C8, C10, C13, C14, C15, C16 |
| 6 | 10k | Resistor_SMD:R_0402_1005Metric | R3, R6, R9, R10, R16, R17 |
| 6 | 10uF | Capacitor_SMD:C_0805_2012Metric | C1, C2, C3, C4, C7, C9 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3_Pad | H1, H2, H3, H4 |
| 3 | 100k | Resistor_SMD:R_0402_1005Metric | R1, R4, R5 |
| 3 | SW_Push | Button_Switch_SMD:SW_SPST_TL3305A | SW1, SW2, SW3 |
| 2 | 100 | Resistor_SMD:R_0402_1005Metric | R2, R15 |
| 2 | 4.7k | Resistor_SMD:R_0402_1005Metric | R7, R8 |
| 2 | 4.7uF | Capacitor_SMD:C_0805_2012Metric | C11, C12 |
| 2 | 5.1k | Resistor_SMD:R_0402_1005Metric | R11, R12 |
| 2 | JST-PH | Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | J1, J4 |
| 1 | 1N5819 | Diode_SMD:D_SOD-123 | D3 |
| 1 | 1uF | Capacitor_SMD:C_0805_2012Metric | C5 |
| 1 | 2.2uH | Inductor_SMD:L_Coilcraft_LPS4018 | L1 |
| 1 | 470 | Resistor_SMD:R_0402_1005Metric | R13 |
| 1 | 5k | Resistor_SMD:R_0402_1005Metric | R14 |
| 1 | AO3400A | Package_TO_SOT_SMD:SOT-23 | Q2 |
| 1 | BMI270 | BMI270:XDCR_BMI270 | U4 |
| 1 | DMP2035 | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | ESP32-C3-MINI-1 | PCM_Espressif:ESP32-C3-MINI-1 | U2 |
| 1 | LED | LED_SMD:LED_0603_1608Metric | D2 |
| 1 | MBR120 | Diode_SMD:D_SOD-123 | D1 |
| 1 | MCP73831-2-OT | Package_TO_SOT_SMD:SOT-23-5 | U3 |
| 1 | SSD1306 OLED | Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical | J3 |
| 1 | TPS63001 | Package_SON:Texas_DRC0010J_ThermalVias | U1 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U5 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J5 |
It measures 50 × 60 mm and has 2 copper layers, 1.6 mm thick.
55 parts, built around the ESP32-C3-MINI-1, TPS63001DRC, BMI270 and USBLC6-2SC6. 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.
From the terryzhw/curl-tracker repository on GitHub, at the commit this page was made from: the board is design_files/curl_tracker.kicad_pcb and its schematic design_files/curl_tracker.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

TobleMiner/blinkekatze
Blinkekatze, a replacement PCB to turn cat themed night-lights into interactive light displays



Ethansuttor/drone_PCB
An 80×80 mm STM32F405 flight controller for a 4S freestyle quad, running Betaflight off a custom target I wrote.

PHS-SMCS/falcon-core
Lightest ESP32-based blimp controller with the works; 9-DoF, ToF altimetry, motor drivers, and Wi-Fi enabled camera streaming, all on a single 300mAh LiPo. >1hr of battery life.

NuttyShell/NuttyBadge
NuttyBadge: A NuttyShell crafted multi-tool. Opensourced Hardawre and Software

Benedikt3141/Smart-Irrigation-System
A smart irrigation system for irrigation of up to 6 plants. It monitors the moisture, temperature, CO2 concentration, air quality ... and displays the data on a 2.4" TFT Display using an ESP32 DevKit C as processor.
