• Models
  • Contests
  • Slicer
  • Login
  • Start Here
    thingiverse-iconprintables-iconcults3d-iconmakerworld-iconmyminifactory-icon

    3D GO

    3D ModelsContestsCollectionsSaved ModelsOn a mobile device?

3D GO

Privacy Policy
Experimental DIY Digital Level 3D Printer File Image 1
Experimental DIY Digital Level 3D Printer File Image 2
Experimental DIY Digital Level 3D Printer File Image 3
Experimental DIY Digital Level 3D Printer File Image 4
Experimental DIY Digital Level 3D Printer File Image 5
Experimental DIY Digital Level 3D Printer File Image 6
Experimental DIY Digital Level 3D Printer File Image 7
Experimental DIY Digital Level 3D Printer File Image 8
Experimental DIY Digital Level 3D Printer File Image 9
Experimental DIY Digital Level 3D Printer File Image 10
Experimental DIY Digital Level 3D Printer File Image 11
Experimental DIY Digital Level 3D Printer File Thumbnail 1
Experimental DIY Digital Level 3D Printer File Thumbnail 2
Experimental DIY Digital Level 3D Printer File Thumbnail 3
Experimental DIY Digital Level 3D Printer File Thumbnail 4
Experimental DIY Digital Level 3D Printer File Thumbnail 5
Experimental DIY Digital Level 3D Printer File Thumbnail 6
Experimental DIY Digital Level 3D Printer File Thumbnail 7
Experimental DIY Digital Level 3D Printer File Thumbnail 8
Experimental DIY Digital Level 3D Printer File Thumbnail 9
Experimental DIY Digital Level 3D Printer File Thumbnail 10
Experimental DIY Digital Level 3D Printer File Thumbnail 11

Experimental DIY Digital Level

ruidan avatarruidan

April 11, 2026

makerworld-icon
DescriptionCommentsTags

Description

Boost Me 

Description:

A compact, experimental DIY digital level built around an ESP32-C3, MPU-6050, and a 0.96" OLED display. It provides real-time pitch and roll measurements with a clean bubble-style interface, multiple display modes, and adjustable tolerance. The device includes onboard calibration, battery monitoring, and a simple 3-button interface, all designed to fit into a small 3D-printed enclosure.

 

This project is intended for makers who want a customizable, portable digital level and a fun electronics build.

 

Features:

  • Real-time bubble level for instant alignment feedback
  • Multiple display modes (bubble, large pitch, large roll, single axis)
  • Screen color inversion when within tolerance for clear visual feedback
  • Smooth and stable readings using Kalman filtering and averaging
  • Zero button for calibration on any surface
  • Adjustable tolerance (±0.5° to ±5°)
  • Freeze/hold function to lock readings
  • Battery voltage indicator
  • Auto sleep after 30 seconds of inactivity
  • Splash screen with button reference
  • Left Button: Tolerance, Middle Button: Calibrate, Left Button: Modes
  • The USB-C port is only for uploading code and serial communication. It is not for charging the batteries.

 

Parts List:

Microcontroller: Lolin ESP32-C3 Mini

IMU: GY-521 MPU-6050 (6-axis) ()

Display: 0.96" OLED SSD1306, 128×64, I2C ()

Voltage sensor: DC 0–25V voltage sensor module

3x Tactile buttons: 6×6mm 4-pin tactile push buttons

Simple On-Off Switch

4 Slot AA Battery pack: I used four 1.2V rechargeable batteries from Ikea → If you want to build this, make sure that your batteries don't exceed 5V in total

M3 screws and threaded inserts

 

Links suggestions (from Aliexpress):

Microcontroller: https://de.aliexpress.com/item/1005004740051202.html?spm=a2g0o.productlist.main.13.67c9eCpreCprux&algo_pvid=a82db511-a799-47f7-906c-ea14bbf0647a&pdp_ext_f=%7B%22order%22%3A%221275%22%2C%22eval%22%3A%221%22%2C%22fromPage%22%3A%22search%22%7D&utparam-url=scene%3Asearch%7Cquery_from%3A%7Cx_object_id%3A1005004740051202%7C_p_origin_prod%3A

Display: https://de.aliexpress.com/item/1005006141235306.html?spm=a2g0o.productlist.main.1.4dff6752CTsnKO&algo_pvid=a49af0b4-37f3-42b1-b0ce-23efaf13660e&pdp_ext_f=%7B%22order%22%3A%2219897%22%2C%22spu_best_type%22%3A%22price%22%2C%22eval%22%3A%221%22%2C%22fromPage%22%3A%22search%22%7D&utparam-url=scene%3Asearch%7Cquery_from%3A%7Cx_object_id%3A1005006141235306%7C_p_origin_prod%3A

IMU: https://de.aliexpress.com/item/1005007989748804.html?spm=a2g0o.productlist.main.1.3af75b26XydamT&algo_pvid=73531846-37d6-4437-9d25-ca1aee29f528&pdp_ext_f=%7B%22order%22%3A%221555%22%2C%22spu_best_type%22%3A%22price%22%2C%22eval%22%3A%221%22%2C%22fromPage%22%3A%22search%22%7D&utparam-url=scene%3Asearch%7Cquery_from%3A%7Cx_object_id%3A1005007989748804%7C_p_origin_prod%3A

 

Tips:

  • Use hot glue to secure components
  • Print button caps in TPU
  • Use "The Perfect TPU Profile" by AllFor3D for best button cap results

 

Pin Reference:

 

SignalGPIO Pin
I2C SDA (IMU + OLED shared)GPIO 8
I2C SCL (IMU + OLED shared)GPIO 10
Voltage sensor signal (S)GPIO 1
Button — MODEGPIO 4
Button — CALGPIO 3
Button — TOLGPIO 2
All VCC (IMU, OLED)3.3V
All GNDGND
Battery +VBUS

Wiring Diagram:

 

ESP32-C3 Mini
┌─────────────────────────────┐
│  3V3     ────────────────────────┼──► IMU VCC
│                   └─────────────────────┼──► OLED VDD

│                                                                               │
│  GND   ────────────────────────┼──► IMU GND
│                   ├─────────────────────┼──► OLED GND
│                   ├─────────────────────┼──► BTN other legs
│                   └─────────────────────┼──► Voltage sensor V-
│                                                                               │
│  GPIO 8  (SDA) ───────────────────┼──► IMU SDA
│                           └──────────────────┼──► OLED SDA

│                                                                               │
│  GPIO 10 (SCL)      ─────────────────┼──► IMU SCL
│                        └───────────────────┼──► OLED SCK
│                                                                               │
│  GPIO 1  ───────────────────────┼──► Voltage sensor S
│  GPIO 4  ───────────────────────┼──► MODE button
│  GPIO 3  ───────────────────────┼──► CAL button
│  GPIO 2  ───────────────────────┼──► TOL button

│                                                                               │

│  VBUS  ───────────────────────   ┼──► Battery +
└─────────────────────────────┘


IMU (GY-521)                OLED (SSD1306)
┌─────────┐          ┌─────────┐
│ VCC──3V3    │          │ VDD─3V3      │
│ GND──GND │          │ GND──GND │
│ SCL──G10    │          │ SCK──G10    │
│ SDA──G8     │          │ SDA──G8      │
│ XDA──NC    │           └─────────┘
│ XCL──NC     │
│ ADO──NC   │
│ INT──NC     │
└────────┘
NC = Not connected

G = GPIO


Voltage Sensor Module                    Battery
┌──────────────┐              ┌────────┐
│ V+ (screw)   ──────┼─────┼───   BAT+ │
│ V- (screw)    ──────┼─ GND ┼───  BAT-   │
│ S  ──── G1   ─────│             └────────┘
└──────────────┘


Buttons (all identical wiring)
 GPIO 4 ──┤MODE├── GND
 GPIO 3 ──┤CAL ├── GND
 GPIO 2 ──┤TOL ├── GND

 

 Use opposite legs of the 4-pin button
 (left leg → GPIO, right leg → GND) → i recommend to wire the GNDs of the Buttons in series to save space

 

ON-OFF Switch

Connect Switch to the Battery's positive pole and the ESP32 VBUS/Voltage Sensor + Screw Terminal

 

Code (On GitHub):

https://github.com/ruidan-web/esp32-digital-level/tree/main

 

Project Status:

This is an experimental DIY project. Accuracy may vary depending on calibration, assembly, and component quality

 

Disclaimer:

This project is provided for educational and experimental DIY purposes only. The design, documentation, wiring diagrams, and software are provided as-is, without any guarantees of accuracy, completeness, or safety.

 

By building or using this project, you agree that you do so at your own risk. I am not responsible for any damage, injury, malfunction, data loss, incorrect measurements, or other issues that may occur from the use, assembly, or modification of this project.

License:

MakerWorld Exclusive License

Related Models

The $30 3D scanner V7 updates preview image

The $30 3D scanner V7 updates

daveyclk profile image

daveyclk

75,863

Prusa Enclosure V2 - MMU2S preview image

Prusa Enclosure V2 - MMU2S

Ondřej Stříteský profile image

Ondřej Stříteský

4,003

Miter Box – 45° / 22.5° / 90° | Schneidlade preview image

Miter Box – 45° / 22.5° / 90° | Schneidlade

Sakul profile image

Sakul

2,511

Stackable Battery Holders preview image

Stackable Battery Holders

adoniram profile image

adoniram

58,103

STYR-01: The Self-Stabilizing Rolling Robot preview image

STYR-01: The Self-Stabilizing Rolling Robot

Judhini Prints profile image

Judhini Prints

6,530

Market Selling Bins (NO SUPPORTS) preview image

Market Selling Bins (NO SUPPORTS)

NES 3D profile image

NES 3D

2,635

Baby Groot preview image

Baby Groot

Byambaa profile image

Byambaa

54,717

NAS ITX PC Case with stackable expansions [MODCASE MASS] preview image

NAS ITX PC Case with stackable expansions [MODCASE MASS]

Haydn Bao profile image

Haydn Bao

3,286