Skip to content

atiriko/PythonEnder3BedLevelBLTouch

Repository files navigation

🖨️ Ender 3 Mesh Visualizer & Knob Guide

Python PyQt6 License

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."

📸 Screenshots

Screenshot 2026-02-10 184145 Screenshot 2026-02-10 184609

✨ Features

  • 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.

🚀 How to Run

Option 1: Download the EXE (Windows)

No Python installation required.

  1. Go to the Releases page.
  2. Download EnderMeshVisualizer.exe.
  3. Double-click to run.

Option 2: Run from Source

If you want to modify the code or run on Linux/Mac.

  1. 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
  2. Install dependencies:

    pip install PyQt6 matplotlib pyserial numpy
  3. Run the app:

    python main.py

📖 How to Use

  1. Connect: Plug your 3D printer into your computer via USB.
  2. Launch: Open the application.
  3. Select Port: Choose your printer's COM port from the dropdown (e.g., COM3 or /dev/ttyUSB0).
  4. 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).
  5. 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
  6. Repeat: Make the adjustments and run a new mesh. The app will show the new mesh next to the old one!

🔧 Requirements

  • 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).

📦 Building the EXE (For Developers)

To package this script into a single .exe file yourself:

pip install pyinstaller
pyinstaller --noconfirm --onefile --windowed --name "EnderMeshVisualizer" main.py

About

This is a tool that visualises your bed based on BLTouch datato make bed levelling easier and more accurate

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors