This project is provided "as is", without warranty of any kind (see license).
ESP32 controller (PCBs, screen, case) with 1 encoder and 2 steppers. It can be used to control machinery e.g. a metal lathe or a gear cutter. Device can easily be programmed with Arduino or similar IDEs via a USB port.
- 2x custom PCBs
- LCD 2004 standard 4-line screen
- 12-pin same-side 1mm pitch FFC connector 5cm
- 4x 3D-printed plastic parts
- 13x M3 bolts
- Optionally, 2x M5 threaded inserts for mounting
Schematics and PCB layout can be viewed and edited using EasyEDA by copying projects from easyeda
folder to your local computer and opening them in the editor.
Gerber, BOM and pick-and-place files can be found in the gerber
folder. Smallest production run of these boards on JLCPCB would cost $200 for 5 boards each.
Note: when ordering, JLCPCB sometimes doesn't recognize the FFC terminal part. Use the "Find part" feature, find and select C14431. Also, exclude the 2.54 headers from PCBA since you probably don't need them.
Case is designed to be 3D-printed and consists of 4 parts. It assembles together with 12 M3 bolts, each 5mm long. Galvanized steel bolts are ideal since printed threads are usually too tight for nylon bolts. FreeCAD source file is also provided so it's easy to change models.
Front panel can be printed on a regular printer from this PDF with 90% scale, window cut out with a knife and then laminated. Medium thickness double-sided tape is applied on the case around buttons and front panel is glued to it.
If you want to design your own panel, you can start by editing this file on figma.com for free.
One sample program for this controller is a single-axis electronic lead screw for a metal lathe, see espinaels folder.
This project "archived" - I decided to completely re-design it so making this historical version available for free. Drawbacks of the current design are suboptimal LCD viewing angles, older ESP32 version, lack of ESD protection, only 2 axes, old-style USB port. This version of the ELS software might not be developed much further.
Please report any bugs or problems. For changes and improvements, consider forking the repository and developing in parallel.