Skip to the content
2 layers65 × 45 mmBb kicad, the printed circuit board in 3D

An ESP32-based Bluetooth-enabled scaling device for climbing training,compliant with the Tindeq Progressor API, with firmware available in Micropython or Rust.

Size
65 × 45 mm
Copper layers
2
Thickness
1.6 mm
Parts
57
Nets
42
Pads
181
Tracks, vias
414, 110
Pours
2
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
6 Jan 2025
Updated
9 Dec 2025

Overview

Bb kicad is an open-source printed circuit board by FilMarini, from the FilMarini/bigbanger repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 65 × 45 mm with 57 parts on 42 nets, routed with 414 tracks and 110 vias.

It is built around the ESP32-C3-WROOM-02-H4, HX711 and LESD5D5.0CT1G, with the MMBT4403 among its other parts. Its parts include 15 capacitors, 13 resistors, 5 diodes, 4 ICs and 2 switches. It belongs with the radio and wireless and sensors and measurement boards and the ESP32 and RISC-V boards of this library.

Main components

4

README

README.md

BigBanger :boom:

BigBanger v1.0

BigBanger is an ESP32-based open-source project that combines firmware and hardware to create a Bluetooth-enabled scale, mainly designed for climbing training.

The firmware can be chosen between micropython, easy to read and customize, but poorer power consumption, or rust, where it gets a bit more complicated but improves the efficiency.

This scale is fully compatible with the Tindeq Progressor API, enabling easy integration with apps that support them, including the official Tindeq Progressor app.

The BigBanger board is designed to exploit the housing of cheap scales that you can buy on Amazon/Aliexpress.

Currently, the supported housing are:

This is not the first open-source Tindeq Progressor-like project. The hangman is a very similar example. BigBanger was developed from scratch as a personal learning experience.

Repository structure

  • firmware:

    • upython contains the micropython firmware for the ESP32-C3
    • rust contains the rust firmware for the ESP32-C3
  • hardware: contains the Kicad project for the PCB

Prerequisite

Micropython

Rust

  • Rust toolchain and tooling installation compatible with ESP32-C3. Please follow the steps outlined here

How-to Hardware

  1. Build the PCB from the Kicad project. Design is fully compliant with JLCPCB rules

    • The JLCPCB gerbers and assembly files are available in the release page

    • If you assemble the PCB with JLCPCB, go to step 3

  2. Buy the components. Here is a full Digikey list of parts

  3. Get to soldering!

    Battery wiring:

    • B+: Red
    • B-: Black

    Load cell wiring:

    • E-: Black
    • A-: White
    • A+: Green
    • E+: Red
  4. Turn on the BigBanger and connect to PC using the microUSB

    • Device should appear as /dev/ttyACM* or /dev/ttyUSB*

How-to Firmware

Micropython

  1. Flash the ESP32-C3 micropython firmware. Instructions and firmware files are here

  2. Copy the .py files in the 'firmware/upython' folder into the ESP32. Copy the hx711/hx711_gpio.py file into the ESP32. For this you can use rshell

    • Modify the main.py file. You need to specify the Bluetooth name for your device (If you want it compatible with the Tindeq Progressor, name must start with Progressor) as well as the crane scale used (Supported values are WH-C07 and WH-C100)

    • With rshell:

      bash
      git clone --recursive https://github.com/FilMarini/bigbanger.git
      cd bigbanger/firmware
      rshell -p /dev/tty<your device> cp bb_gatt_server.py ble_advertising.py config.py hx711_bb.py utils.py hx711/hx711_gpio.py main.py /pyboard # Probably requires sudo privileges
  3. Start training!

Rust

  1. Install the rust toolchain for ESP32-C3. Please follow the guide

  2. If you want to modify the Bluetooth advertisement name, change it in firmware/rust/.cargo/config.toml under PROGRESSOR_NAME. Bear in mind that the advertised name must start with Progressor_ in order to be recognized from the Tindeq App.

  3. Once the toolchain is set up, go into the Rust firmware directory and build in release mode:

    bash
    cd firmware/rust
    cargo build --release
  4. With the BigBanger connected, flash the firmware:

    bash
    cargo run --release
  5. Start training!

Calibration

The BigBanger scale comes pre-calibrated, but if for any reason the calibration is lost, you can recalibrate it using the built-in two-point calibration system. This system requires two weight measurements with a 10 kg difference—typically one at zero weight and another at 10 kg.

How to calibrate

  • Turn on the BigBanger scale and ensure it is disconnected from any device.

  • Press and hold the Unit button until the LED D5 turns on (this takes a few seconds).

  • When the LED turns on, the scale performs the first measurement (normally at zero weight).

  • Add 10 kg weight on the scale.

  • Press the Unit button again. The LED D5 should turn off.

  • The scale is now calibrated and you can now connect to it.

Acknowledgements

Huge thanks to Tindeq for improving climbing training for all of us with their innovative product and for making their API available to third-party developers, enabling projects like this one. If you find this useful, consider supporting them by getting one of their products—they’re well worth it!

Special thanks also to kesyog for their excellent open-source project hangman, which provided valuable guidance and inspiration for the Rust firmware implementation. Since I started with zero Rust knowledge, having a working example to learn from was incredibly helpful — some parts of the code resemble the original hangman implementation.

Parts

57
QtyValueFootprintReferences
6100nCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC6, C8, C10, C13, C14, C15
6MountingHoleMountingHole:MountingHole_2.2mm_M2H1, H2, H3, H4, H5, H6
410kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR3, R9, R10, R13
422pCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC3, C4, C11, C12
4TestPointTestPoint:TestPoint_Pad_2.0x2.0mmTP2, TP3, TP4, TP5
310uCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC2, C7, C9
34k7Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR6, R7, R8
3LEDLED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolderD3, D4, D5
2100Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR14, R15
2LESD5D5.0CT1Gmod:TVS_LESD5D5.0CT1GD1, D2
2SW_Omron_B3FSButton_Switch_SMD:SW_SPST_Omron_B3FS-101xPSW1, SW2
11uCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC5
120kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR12
13u3Inductor_SMD:L_0603_1608Metric_Pad1.05x0.95mm_HandSolderL2
14u7Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC1
1562kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR2
18k2Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR11
1976kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1
1BATTGNDTestPoint:TestPoint_Pad_2.0x2.0mmTP7
1BATTIN_TPTestPoint:TestPoint_Pad_2.0x2.0mmTP1
1ESP32-C3-WROOM-02RF_Module:ESP32-C3-WROOM-02U3
1HX711Package_SO:SOP-16_3.9x9.9mm_P1.27mmU4
1Jumper_2_BridgedJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1
1MAX16054AZT_Tmod:SOT95P275X110-6NU2
1MCP1640Bx-xCHYPackage_TO_SOT_SMD:SOT-23-6U1
1MMBT4403_mod:SOT23-BECQ1
1SHIELDTestPoint:TestPoint_Pad_2.0x2.0mmTP6
1USB_B_MicroConnector_USB:USB_Micro-B_Amphenol_10118194-0001LF_HorizontalJ1
1WE-TPC_2813mod:WE-TPC_2813L1

Similar boards

  • 4 layers81.2 × 81.2 mmView base, the printed circuit board in 3D

    View base

    SeedLabs-it/smartknob-hardware

    PCB and CAD files for smartknob devkit

    259 parts47
  • 2 layers68 × 81.5 mmController, the printed circuit board in 3D

    Controller

    orlopau/coffee-scale

    Scale for espresso and filter coffee.

    55 parts11
  • 2 layers101.2 × 89.2 mmHX711, the printed circuit board in 3D

    HX711

    SolderedElectronics/Load-cell-ampfilier-HX711-board-hardware-design

    Hardware design, BOM, gerbers and 3D files for Load-cell-ampfilier-HX711-board designed by Soldered Electronics.

    580 parts8
  • 2 layers48 × 32 mmMito, the printed circuit board in 3D

    Mito

    jvasilakes/mito

    A tiny, cheap, hackable, completely open-source force gauge for isometric finger strength training.

    31 parts6
  • 4 layers90.6 × 58.1 mmEcoApi pcb, the printed circuit board in 3D

    EcoApi pcb

    EcoApi/EcoApi_BeeHiveMonitoring

    describ options with 0R resistors. etc ...

    179 parts4GPL-3.0
  • 4 layers75 × 100 mmTest rig black box, the printed circuit board in 3D

    Test rig black box

    callumsnowden/aero21412_test_rig

    AERO21412 Avionics Coursework 1 – Wind Tunnel Test Rig "Black Box"

    102 parts1MIT
  • 2 layers83.8 × 61 mmThrust v2, the printed circuit board in 3D

    Thrust v2

    jmajew/thrust_tool

    DIY tool for measurements of thrust, torque, etc., of an electric motor with propeller

    187 parts1GPL-3.0
  • 4 layers51.5 × 76.5 mmProduction, the printed circuit board in 3D

    Production

    smvumbaco/Fitolux-FA24

    Generate Hardware - Fitolux Fall 2024

    50 parts1

Questions

How big is the Bb kicad PCB?

It measures 65 × 45 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Bb kicad use?

57 parts, built around the ESP32-C3-WROOM-02-H4, HX711, LESD5D5.0CT1G and MMBT4403. 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 Bb kicad KiCad files?

From the FilMarini/bigbanger repository on GitHub, at the commit this page was made from: the board is hardware/bb_kicad/bb_kicad.kicad_pcb and its schematic hardware/bb_kicad/bb_kicad.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Bb kicad design in my own project?

Its repository publishes it under the Apache-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).