Automatic Bed Level Measuring Tool (with external dial indicator)

Summary:

  1. Connect dial indicator to ESP32
  2. Mount dial indicator and ESP to Snapmaker 2.0
  3. Connect to Snapmaker via Luban
  4. Start python-Script
  5. Copy Values from Python script to excel (or whatever)

Pre-Condition: Know the token for the communication between Luban and Snapmaker (Use Wireshark for Network Analysis (Filter: IP of Snapmaker and HTTP)

View from Snapmaker:

View from Desktop

Modifications to ESPDRO (see Credits)

  • I had to modify the code, because sometimes single bits flipped (my ESP to slow, or dial indicator strange, not sure what’s the cause).
  • Only Values that are within 0.5 resp. 2.0 times the previous values are displayed / transmitted.
  • Value transmitted was only 1/10 from the actual value (until the moment I realized this, I was very pleased with my head bed ^^). But just a quick’n’dirty-Fix without messing with the decimal-sign-position. There should be a much nicer fix for this. But the flipping bits killed all my patience :wink:

My modified ESPDRO-Code (see Credits for the Original-Code) and my Python-Script:
messuhr_automatisch.zip (5.8 KB)

Credits to:
Quick Tool changer: snapmaker 2.0 quick tool changer by fips - Thingiverse
Holder for dial indicator: snapmaker 2.0 holder for dial indicator by fips - Thingiverse
ESP32 DIY Digital Readout: GitHub - MGX3D/EspDRO: ESP32 DIY Digital Readout
Used dial indicator: https://www.amazon.de/gp/product/B07C9MZ858/

2 Likes

Sorry for the question, but what is the benefit of the measurement?
Can I send the much more detailed and more precise data to my snapmaker so the print will be better?
Is there any howto for that?

I don’t know if this is possible. I was just curious and will probably try to use the information to improve the flatness via hardware (with shims or something similar)

You can modify the mesh using G29:
https://marlinfw.org/docs/gcode/G029-mbl.html
So it might take a small amoount of coding, but doable. I think the SM mesh has a max of 24 points (I might be wrong, it’s been awhile since I explored this), so you wouold have to reduce the set of values by interpolation (probably not a good idea) or decimation.

@sightz: Probably the only worthwhile hardware fix is a glass bad. I’m a bit surprised that SM has gone through all the engineering trouble of improving the linear modules and redesigning the base unit fot the X and J series, but hasn’t offered a simple glass bed. Presumably, the danger of someone using the automatic levelling probe on a glass bed is what kills the idea.