Labalek (Custom 3D Printer)
Labalek is a complete, proprietary ecosystem I created to design and build a custom resin 3D printer. The project unites mechanical engineering, electronics, and firmware programming from end to end.
To structure development, the project's architecture was divided into specialized repositories within the Labalek organization on GitHub.
💡 The Idea & Development
It all started in collaboration with two friends. We were working with a Delta FDM printer and began brainstorming the development of a DLP (resin) printer. From this idea, we developed the ambition to build a printed printer: we wanted to manufacture as many structural and mechanical parts as possible using 3D printing itself, while keeping the production cost as low as possible.
After testing the feasibility, we concluded that a functional DLP printer could be efficiently controlled using simple, highly accessible components:
- An ESP32-WROOM microcontroller.
- A Micro SD card slot to load the print files.
- A single Nema 17 stepper motor (with its corresponding driver).
- Two screens: a dedicated TFT LCD screen for the user interface, and a high-resolution LCD screen used without backlight as the mask for the printing projection system (initially prototyped with the Wanhao D7 2K screen, but later abandoned).
These components are cheap, simple to program, and very easy to find in the maker market, proving that complex embedded hardware systems can be built without a massive budget.
⚙️ Technical Specifications & Principles
Based on the project's official requirement specifications (the complete document is available in French PDF below), the printer was designed under the following principles:
- MSLA Printing Principle: The printer uses Masked Stereolithography (MSLA/DLP). The UV light is projected through an LCD screen (such as the Wanhao D7 2K in the initial prototype, with the backlight removed) acting as an active optical pixel mask. By controlling the transparency of individual pixels, the system allows light to pass selectively and cures specific zones of the liquid photosensitive resin. Note: The Wanhao D7 2K screen was later abandoned in the final project because the 50-pin FPC flat ribbon connector was extremely tedious to solder manually, and the required display controllers were too expensive.
- Sub-Pixel Quality (MIT Grayscale): To improve print quality and dimensional accuracy on the edges of each layer, we implemented a grayscale interpolation algorithm inspired by MIT research. This algorithm allows the system to interpolate light intensity at sub-pixel levels, achieving a fine resolution step equivalent to half a pixel in precision, significantly reducing stepping artifacts on the printed parts.
- Dual Screen UI: The system operates with two physical screens simultaneously: a secondary TFT LCD screen (controlled via the ILI9325D driver) serving as the touchscreen UI to select files, calibrate bed leveling, and monitor debug logs; and the main projection LCD screen acting strictly as the optical mask for the printing system.
- Safety Interlocks: Sensors verify that the printer cover is fully closed before turning on the UV LEDs, protecting the user from harmful radiation.
🔌 Communication Protocols Used
- GPIO: Handles stepper motor micro-stepping, reading limit switch (endstop) states, controlling coolers, and processing safety sensor interrupts.
- MIPI DSI / I2C: I2C protocol for the user interface display, and display video bus for the 2K LCD projection screen.
- SPI: High-speed serial bus for reliable and fast reading of 3D print files from two SD card sockets (internal and user-facing).
- UART: Serial interface for PC connection, firmware upload, and dedicated logging/programming (flash) interfaces.
🎛️ Motherboard PCB Design
We designed a custom-made, compact motherboard with the following physical and electrical properties:
- Board Dimensions: Compact square form factor of 110 mm x 110 mm.
- Power Supplies: Dual 5V and 12V rails to power the microcontroller, LCD screen, and UV LED matrix.
- On-board Features: Integrated USB-to-UART converter, debug box with diagnostic status LEDs, expanded GPIO headers for pulse-width modulation (PWM), and debug test headers for bench-testing.
📊 Bill of Materials (BOM)
The development of the printer went through several iterations. To cut costs, we opted to 3D print as many parts as possible. Below is the detailed breakdown of the mechanical/structural parts acquired versus the electronic motherb### 1. Mechanical and Structural Parts (AliExpress & Maker Shops) To lower project costs, we eliminated metal profiles, brackets, and aluminum corner joints, printing everything in 3D. The Z-axis mechanical parts and raw printing materials actually used cost 58.64€ (including consumed filament material and excluding items marked as useless/abandoned):
| Component / Link | Cost | Project Status |
|---|---|---|
| Nema 17 Stepper Motor 48mm | 8.05€ | Used (Z axis) |
| Linear Guide MGN7h 200mm | 8.33€ | Used |
| 8mm Linear Shaft 30cm (x2) | 6.29€ | Used |
| Trapezoidal Screw T8*2mm 200mm | 2.20€ | Used |
| T8 Lead Screw Nut Housing Bracket | 1.84€ | Used |
| 2mm Trapezoidal Screw Nut | 0.75€ | Used |
| KP08 Bearings (x2) | 3.19€ | Used |
| M4 Screws Kit 304 Stainless Steel | 7.42€ | Used |
| 100x100x2.8mm Acrylic Plate | 2.90€ | Used |
| UV LEDs 395nm 5mm (x100) | 2.67€ | Used (Alternative: VLMU3100 SMD LEDs from Farnell ~30€) |
| PLA Filament (Raw material) | 9.50€ | Used (500g consumed for structure / 19€ per kg) |
| PETG Filament (Raw material) | 5.50€ | Used (250g consumed for VAT/coupler / 22€ per kg) |
| Printed Motor Coupler | 0.00€ * | 3D Printed (PETG filament - replaced 3.96€ flexible metal coupler) |
| Printed Resin VAT | 0.00€ * | 3D Printed (PETG filament) |
| DIY FEP Film | 0.00€ | Homemade (Replaced 12.36€ commercial FEP film) |
| Total | 58.64€ | Actual Cost of Used Parts & Raw Materials |
| * Note: The filament costs associated with printing these structural components are accounted for in the raw material entries above. |
2. Replaced Components (Printed & DIY Alternatives)
To lower the final manufacturing cost, the following commercial components were replaced by 3D printed parts or homemade solutions:
- Chassis / 2020 Aluminum Extrusions (Saved 17.76€): We replaced aluminum profiles (9.31€), corner brackets (2.80€), and T-Nuts (5.65€) with a fully custom 3D printed structural chassis in PLA.
- Metallic Motor Coupler (Saved 3.96€): Replaced by a 3D printed flexible coupler made of PETG.
- Resin VAT: Replaced by a 3D printed resin vat in PETG.
- Commercial FEP Film (Saved 12.36€): Replaced by homemade DIY FEP film.
3. Abandoned Components (Cited for History)
During development, the Wanhao D7 2K 5.5" LCD projection screen (25.56€) and its FPC flat connector (0.75€) were purchased for testing but later discarded. The 50-pin FPC connector proved extremely complex to manually solder, and the high cost of the video controller boards made the system unviable for a low-cost approach.
4. Motherboard Electronic Components (Official BOM)
According to the original Project Specifications (PDF) of the LaBalek motherboard:
| Component | Qty | Supplier | Link |
|---|---|---|---|
| ESP32 wrover | 1 | aliexpress | Link |
| A4988 stepper driver | 1 | aliexpress | Link |
| Dual output power supply | 1 | aliexpress | Link |
| SD01A-01210 socket SD | 2 | aliexpress | Link |
| LCD TFT 3.0 inches | 1 | aliexpress | Link |
| USB Type B female | 1 | aliexpress | Link |
| lot / header pin m-f | 1 | aliexpress | Link |
| lot / 16 boutons | 1 | aliexpress | Link |
| lot / 100 leds | 1 | aliexpress | Link |
| lot / 300 resistances | 1 | aliexpress | Link |
| interrupteur à bascule | 1 | aliexpress | Link |
📂 Ecosystem Structure
🔌 labalek/hardware
Contains the electrical schematics, connection diagrams, and specifications for controller boards, stepper motor drivers (such as TMCs), and temperature sensors required to power the printer.
💻 labalek/software
A repository dedicated to firmware and motion control. It implements cartesian axis interpolation logic, PID temperature loop control, real-time G-Code instruction processing, and filament extrusion commands.
🔩 labalek/3d-files
Physical modeling and CAD files (STL/STEP) of custom-designed mechanical parts (such as motor mounts, extruders, and structural brackets) to be 3D printed and assembled on the physical chassis.
✂️ labalek/slicer
A custom, lightweight slicer adapted for DLP (resin projection) printers, derived from a fork of Formlabs/hackathon-slicer.
📸 Project Gallery
Check out the physical photos of the Labalek printer development process, printed parts, and assembly. Click on any item to zoom in.
















🔗 Official Links & Sources
- GitHub Organization: github.com/labalek
- Project Documentation (Original French PDF): /LaBalek.pdf