A modern, standalone GUI tool for Ender 3 (and other Marlin-based) 3D printers. This tool visualizes your bed leveling mesh in 3D and tells you exactly how much to turn each bed knob to get a perfect first layer.
Key Feature: As you re-level your bed, the app keeps a history of your meshes in a grid, so you can visually track your progress from "Warped" to "Flat."
- 3D Mesh Visualization: View your bed's topology in an interactive 3D plot (Rotate, Zoom, Pan).
- Knob Adjustment Guide: Automatically calculates how many "minutes" (clock face) to turn each screw (CW/CCW) to level the bed.
- History Grid: Keeps a visual history of previous scans side-by-side so you can see if your adjustments are working.
- Dual Mode:
M420 V: Instantly load the stored mesh from printer memory.G29 T: Run a fresh auto-leveling sequence and watch it update live.
- Dark Mode UI: Modern, eye-friendly interface built with PyQt6.
No Python installation required.
- Go to the Releases page.
- Download
EnderMeshVisualizer.exe. - Double-click to run.
If you want to modify the code or run on Linux/Mac.
-
Clone the repo:
git clone [https://github.com/YOUR_USERNAME/Ender-Mesh-Visualizer.git](https://github.com/YOUR_USERNAME/Ender-Mesh-Visualizer.git) cd Ender-Mesh-Visualizer -
Install dependencies:
pip install PyQt6 matplotlib pyserial numpy
-
Run the app:
python main.py
- Connect: Plug your 3D printer into your computer via USB.
- Launch: Open the application.
- Select Port: Choose your printer's COM port from the dropdown (e.g.,
COM3or/dev/ttyUSB0). - Visualize:
- Click "Load Stored Mesh" to see the current state instantly.
- Click "Run New Mesh" to force the printer to re-probe the bed (takes ~2-5 mins).
- Adjust: Look at the "Adjustments" text box on the left. It will tell you:
- Front Left: TIGHTEN (Right) 15 mins
- Back Right: LOOSEN (Left) 30 mins
- Repeat: Make the adjustments and run a new mesh. The app will show the new mesh next to the old one!
- Printer Firmware: Marlin 1.1.9 or newer (Standard on Ender 3 v2/Pro/S1).
- Hardware: A Bed Leveling Probe (BLTouch, CRTouch, EzABL) is required for
G29. - Drivers: Ensure you have the CH340 Drivers installed (common for Creality printers).
To package this script into a single .exe file yourself:
pip install pyinstaller
pyinstaller --noconfirm --onefile --windowed --name "EnderMeshVisualizer" main.py