

Esp32-caliper
It features a built in 150mAh battery and a USB C interface for charging/uploading code.
- Size
- 58 × 38.3 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 44
- Nets
- 51
- Pads
- 236
- Tracks, vias
- 441, 70
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 6 (file 20211014)
- Created
- 7 Mar 2023
- Updated
- 16 Nov 2024
Overview
Esp32-caliper is an open-source printed circuit board by Mew463, from the Mew463/esp32-caliper repository on GitHub. It is a 2-layer board of 58 × 38.3 mm with 44 parts on 51 nets, routed with 441 tracks and 70 vias.
It is built around the ESP32-C3-MINI-1-N4, LP5907MFX-3.3 and BC846BLT1G(TP), with the JS102011SAQN, SP0503BAHTG and SSM3K36FS,LF among its other parts. Its parts include 14 resistors, 7 capacitors, 6 ICs, 5 diodes and 5 switches. It belongs with the ESP32 and RISC-V boards of this library.
Main components
7ESP32-C3-MINI-1-N4
SMD,16.6x13.2mm-40℃~+85℃ -98dBm 20.5dBm 350mA 3V~3.6V 84mA Integrated temperature sensor、Integrated antenna、Built-in watchdog On-board PCB Antenna SPI、UART、I2C、I2S、USB Transceiver SMD,16.6x13.2mm WiFi Modules ROHSEspressif SystemsRF ModulesLP5907MFX-3.3
SOT-23-5-40℃~+125℃@(Tj) 1 10uVrms 12uA 250mA 250mV@(250mA) 3.3V 5.5V 82dB@(1kHz) Fixed Positive Short Circuit Protection、Thermal shutdown、Enable control、Input under-voltage protection、Output discharge SOT-23-5 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSTexas InstrumentsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsBC846BLT1G(TP)
SOT-23SOT-23 Bipolar (BJT) ROHSTECH PUBLICBipolar (BJT)JS102011SAQN
SMD-40℃~+85℃ 3.5mm 300mA 5,000 cycles 6V 9mm Black Rectangular Columnar SMD(SMT) Tab SPDT Surface Mount, Right Angle SMD Slide Switches ROHSC&KSlide SwitchesSP0503BAHTG
SOT-143-55℃~+125℃ 10A@8/20us 14V 150W@8/20us 30pF、60pF 5.5V 6V 80nA ESD IEC 61000-4-2、IEC 61000-4-5、IEC 61000-4-4 Three channels Unidirectional SOT-143 ESD and Surge Protection (TVS/ESD) ROHSTECH PUBLICESD And Surge Protection (TVS/ESD)SSM3K36FS,LF
SC-75(SOT-416)1 N-channel 1.23nC@4V 10.8pF 150mW 1V 20V 46pF 500mA 630mΩ@5V 7.3pF N-Channel SC-75(SOT-416) MOSFETs ROHSToshibaMOSFETsUSB4105-GF-A
SMD-40℃~+85℃ 1 12P 48V 5A Black Female Surface Mount, Right Angle Type-C USB 2.0 SMD USB Connectors ROHSGlobal Connector Technology (GCT)USB Connectors
README
README.mdSummary
This project adds bluetooth functionality to an ordinary set of calipers with an embedded ESP32 C3. It's main purpose was to speed up CAD Development with it's ability to automatically enter numbers into OnShape.

It features a built in 150mAh battery and a USB C interface for charging/uploading code.

This is meant to be a direct replacement for the GROSS solution that you could just buy for the inexpensive price of $100:

Features
- Realtime battery reporting
- Two User buttons
- Button1 enters numbers and then presses Enter
- Button2 enters numbers and then inserts a space so that the user can add tolerance
- Neopixel indicator (States: Bluetooth pairing, Connected, Button 1 or 2 Pressed, Entering deep sleep)
- 20 day standby time or 2hr usage time
- Charge light
- Snap-on PCB Case
Decoding the Caliper Data
Soldering Wires
My old caliper's data output port looked like this:

Unfortunately I broke the old caliper during this project and had to buy a brand new version of my old caliper. Sometime in the span of 3 years, it seemed that the data output port changed to be adapted for a female micro usb (though there wasn't one soldered on the caliper's pcb).
The smaller pads made it more painful to solder wires to, but it was doable.
With an oscilloscope, I probed each pad to determine which was the clock, data, and ground line.
Logic converter
Because the Caliper's logic level is 1.5v but the ESP32 is 3v3, I needed to use a logic converter. V1 and V3 use the transistor circuit below which shifts and inverts the clock and data lines coming from the caliper. V2 used a IC level shifter which didn't work at all for some unknown reason.
Logic converter
Data protocol
Like many other people who have decoded their caliper, I discovered that there are 24 bits sent out by the caliper:
The bit at index[0] is always 1.
Bits from index[1] - index[15] signify the value with the LCB being first.
Index[21] signifies a negative number.
My old caliper had one bit to indicate the unit, but my new caliper did not have this bit (? idk why).
Creation
KiCAD
Designed in KiCAD 6.0. Bought from Mouser and manufactured by JLCPCB. I assembled them by hand.


CAD

Summary
This project took like 40 hours and 3 revisions of pcbs. If you really want a bluetooth caliper just buy one premade, it'll save you a lot of headache. Otherwise this is a fun intro-to-embedded project.
Parts
44| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 50k | Resistor_SMD:R_0402_1005Metric | R1, R2, R10, R11, R12 |
| 4 | 5k1 | Resistor_SMD:R_0402_1005Metric | R3, R4, R5, R7 |
| 3 | 1u | Capacitor_SMD:C_0402_1005Metric | C3, C4, C5 |
| 2 | 10k | Resistor_SMD:R_0402_1005Metric | R13, R14 |
| 2 | 4.7u | Capacitor_SMD:C_0402_1005Metric | C1, C2 |
| 2 | BC846BLT1G | Package_TO_SOT_SMD:SOT-23 | Q1, Q2 |
| 2 | D_Schottky | Diode_SMD:D_SOD-523 | D3, D4 |
| 1 | .1uF | Capacitor_SMD:C_0402_1005Metric | C10 |
| 1 | 100k | Resistor_SMD:R_0402_1005Metric | R6 |
| 1 | 10uF | Capacitor_SMD:C_0402_1005Metric | C9 |
| 1 | 2k | Resistor_SMD:R_0402_1005Metric | R8 |
| 1 | 3.7 | Library:Battery | BT1 |
| 1 | 470 | Resistor_SMD:R_0402_1005Metric | R9 |
| 1 | Boot | Button_Switch_SMD:SW_Push_1P1T_NO_Vertical_Wuerth_434133025816 | SW1 |
| 1 | Current Testing | Connector_PinHeader_1.00mm:PinHeader_1x02_P1.00mm_Vertical | J2 |
| 1 | Dig_Caliper | Library:Caliper | U2 |
| 1 | ESP32-C3-MINI-1-N4 | esp32:XCVR_ESP32-C3-MINI-1-N4 | U4 |
| 1 | InterBoardConnection | Library:InterBoardConnection | U6 |
| 1 | JS102011SAQN | slide switch v3:SW_JS102011SAQN | S1 |
| 1 | LED | LED_SMD:LED_0603_1608Metric | D5 |
| 1 | LP5907MFX-3.3 | 3V3Reg:SOT95P280X145-5N | U3 |
| 1 | MCP73831T-5ACI/OT | mcp738:SOT95P280X145-5N | U1 |
| 1 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1 |
| 1 | NeoPixel | neopixel:LED_1655 | D2 |
| 1 | Rst | Button_Switch_SMD:SW_Push_1P1T_NO_Vertical_Wuerth_434133025816 | SW2 |
| 1 | SP0503BAHTG | ESD Prot:SOT143 | D1 |
| 1 | SSM3K36FS | Package_TO_SOT_SMD:SOT-416 | Q3 |
| 1 | SendEnter | Button_Switch_SMD:SW_Push_1P1T_NO_Vertical_Wuerth_434133025816 | SW3 |
| 1 | SendSpace | Button_Switch_SMD:SW_Push_1P1T_NO_Vertical_Wuerth_434133025816 | SW4 |
| 1 | USB4105-GF-A | USB C:GCT_USB4105-GF-A | J1 |
| 1 | USBC_Probe_Point | Connector_PinHeader_1.00mm:PinHeader_1x06_P1.00mm_Vertical | U9 |
Similar boards
- 4 layers79.8 × 51.8 mm

- 2 layers

- 4 layers100 × 35 mm

Navigator
Mig-M27/Avionics-PCBs
Este repositório é usado para gerir as versões dos projetos KiCAD do sistema de Avionics da Porto Space Team. Está dividido em 2 secções: 1.
107 parts - 2 layers57.9 × 67.9 mm

- 2 layers55.6 × 55.8 mm

- 2 layers25.9 × 44.7 mm

CatiPCB
andreesc/BLE-Temp-Sensor
Hardware, Firmware, and Mechanical Design Files for a Temperature Sensor Board featuring the HDC1080 sensor and Bluetooth Low Energy (BLE) connectivity.
36 parts - 4 layers125 × 100 mm

Macropad
Michael-Lloyd/macropad
A simple macropad powered by an 18650, with bluetooth capabilities.
66 parts - 2 layers98 × 100 mm

Questions
How big is the Esp32-caliper PCB?
It measures 58 × 38.3 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Esp32-caliper use?
44 parts, built around the ESP32-C3-MINI-1-N4, LP5907MFX-3.3, BC846BLT1G(TP) and JS102011SAQN. 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 Esp32-caliper KiCad files?
From the Mew463/esp32-caliper repository on GitHub, at the commit this page was made from: the board is esp32 caliper.kicad_pcb and its schematic esp32 caliper.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Esp32-caliper design in my own project?
Its repository states no licence, so its author keeps all rights: ask Mew463 before reusing the design.