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:
- 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
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.
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.
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).
Designed in KiCAD 6.0. Bought from Mouser and manufactured by JLCPCB. I assembled them by hand.
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.