So I want a Bluetooth digital indicator for work, the boss is pretty loose on what we can get tool wise, but a $700 price tag is beyond what he's comfortable with. He was willing to spring for the DIY option though, and since I have an unhealthy amount of unrealistic confidence I decided to do it.
Digital indicator is the cheapest 1 inch travel version with an output port. I suspect the manufacturer knows people are going to hack it as the supposed data cable for it goes up to $200-400, wildly exceeding the cost of the $35-50 indicator.
I got the cheapest ESP32s that ran USB C and cheapest digital indicator (Clockwise Tools DIGR-0105) off Amazon to figure out the idea.
After a couple evenings fiddling about I've got it mostly worked out.

I butchered a bunch of USB Micros until I found one that actually had all four data wires in it and plugged it into the indicator. White wire is the clock signal, green is data, black is ground, and red is a VERY steady -1.5v signal I still can't figure out. The clock and data signals are negative relative to ground so they needed to have NPN transistors to register to the ESP32. I was never so happy that I had a oscilloscope as when I put it on the clock and data wires and could count the peaks to find a 24 bit packet being continuously sent, also a happy surprise, the DIGR-0105 doesn't really turn 'off' so much as just shut off the display. Great for me and maybe a mild inconvenience for battery life.
Anyway, binary breakdown:
The first bits 0-20 are the counts on the indicator scale.
Bit 21 is the positive or negative indicator. A value of 0 means it's positive, a value of 1 means it's negative.
Bit 22 sets the unit of measure, value of 0 is metric, value of 1 is inches.
Bit 23 isn't really used that I can see on this indicator.
The code is well outside of my wheelhouse though, so I leaned heavily on an AI to get it written I'm not going to post it here begging for help, it works on the Hosyond ESP32 DevKit, I'm pretty sure I can eventually muddle through and get it to work on the XIAO C3. There's a free app called Touch DRO that can understand the input and calibrate to the indicator regardless of how many steps per inch. There was some weirdness with how Clockwise tools handles output of +/- signals and also sends different input for metric and inches.
One of the biggest issues I saw during my brief interaction with a Motionics unit my boss had was the refresh rate. It looked like it was running at about 2-4Hz, which is not terrible for most needs, but I suspect it can hit a higher refresh rate. I've got mine running at the native refresh of the indicator, which is about 8.5Hz. That speed is enough for nearly anything I could want, part of me wishes it was higher, but honestly I don't know that I would notice a change upward in the refresh rate.
Future plan

So the wiring diagram shows where I'm going to go, I've got those boards and batteries on order. I'll be 3d printing a back enclosure for the battery and ESP32. I'll be running the power for the indicator off one of the other GPIOs on the board since it won't exceed the ratings on it (3v at about 0.1mA). My favorite thing is that the XIAO ESP32-C3 that's going to go in this will handle battery charging from the USB-C port without my meddling. Considering I want this to be as idiot proof as possible I'm seriously considering removing the USB Micro port on the indicator if I make one for other folks.
It looks like the board in the indicator has a lot of blank and unused space out towards the rim, I drilled through a spot to allow me to solder wires on to the battery terminals and directly into the clock and data pins of the RS232 port. That will allow me to pass through the back plate and into the XIAO. I've got one unit that is there for stupid ideas and this idea seemed a perfectly stupid idea and ripe for such a thing.
If you have any ideas what the red -1.5v wire in the 4 wire RS232 is doing, let me know. I put it on the scope and there's no signal there, just a solid reference voltage. I'm guessing it is something to do with their data output dinglebob that costs almost 10x what the indicator does.
Second, while TouchDRO works fine, I want a single axis dedicated app to do the job. All of the existing Bluetooth indicators have one, sure, but they also have stuff that stops them working with anything else, both Motionics and Mitutoyo won't read anything but their indicators. I leaned hard on the robot (AI) overlords and got something very simple knocked together, once parts arrive I can start troubleshooting. I've run it with some fake data to make sure the app compiled, but there's nothing like actually seeing it work with actual equipment.
I'm open to input on things, I'm thinking on how to get this all up on GitHub to have a better unified explanation of what the heck I'm doing.