Controller
phorton1·Arduino-cnc-cnc3018·docs/kicad/controller/controller.kicad_pcb
About the Controller PCB
Controller is an open source ESP32 PCB design by phorton1, published on GitHub under the GPL-3.0 license. It is a 2-layer board measuring 144.8 × 104.1 mm, with 66 components from 41 distinct parts.
Its main chip is the ESP32_DEV_0, from the ESP32 family. Other key parts include the 74HC165. By type, the board carries 26 connectors, 17 resistors, 15 capacitors, 5 modules, 2 ICs and 1 switch.
It belongs with the iot & wireless and robotics & motion designs in this gallery.
From the project
A FluidNC based implementation of a controller for a cheap cnc3028 machine
Home -- History -- Hardware -- Electronics -- Software -- Installation -- Version2
esp32cnc3018 is my implementation of an inexpensive 3-axis CNC machine that makes use of the ESP32** processor. Essentially I bought the cheapest 3-axis CNC machine I could find on Ebay, and then designed and implemented my own controller board, limit switches, and extensions to that machine.

Main components on the Controller
Controller bill of materials (BOM)
66 components, 41 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | ESP32_DEV_0 | ESP32-DEV_0 | U1 |
| 1 | 74HC165 | myDip16 | U2 |
| 3 | A4988 | a498 | M1, M2, M3 |
| 1 | BUCK01 | BUCK01 | M4 |
| 1 | SD_TYP0 | my6Pin | M5 |
| 1 | X_AXIS | my4pin | J1 |
| 1 | Y_AXIS | my4pin | J2 |
| 1 | Z_AXIS | my4pin | J3 |
| 1 | PWM_1A | my2pin | J4 |
| 1 | PWM_1B | my2pin | J5 |
| 1 | PWM_2A | my2pin | J6 |
| 1 | PWM_2B | my2pin | J7 |
| 7 | bbb | my1pin | J8, J9, J10, J12, J13, J25, J26 |
| 1 | Jack-DC | myBarrelJack | J11 |
| 1 | X_ZERO | my2pin | J14 |
| 1 | X_LIM | my2pin | J15 |
| 1 | Y_ZERO | my2pin | J16 |
| 1 | Y_LIM | my2pin | J17 |
| 1 | Z_ZERO | my2pin | J18 |
| 1 | Z_LIM | my2pin | J19 |
Show 21 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | PROBE | my2pin | J20 |
| 1 | UNUSED | my2pin | J21 |
| 1 | Display | my8Pin | J22 |
| 1 | WS2812B Strip | my3pin | J23 |
| 1 | 5V Jumper | my2pin | J24 |
| 1 | POWER | SW_DPDT_BLUE_LEVER | SW1 |
| 3 | 100uf | my2pin | C1, C2, C3 |
| 1 | 10uF | my2pin | C4 |
| 1 | 330uf 50v | mySkip1 | C5 |
| 8 | 100nf | my2pin | C6, C7, C8, C9, C10, C11, C12, C14 |
| 1 | 472nf | my2pin | C13 |
| 1 | 220uf 10V | my2pin | C15 |
| 2 | 10K | mySkip2 | R1, R16 |
| 2 | 100 | mySkip5 | R2, R17 |
| 2 | 10K | mySkip3 | R3, R14 |
| 2 | 100 | mySkip4 | R4, R15 |
| 2 | 10K | mySkip4 | R5, R12 |
| 2 | 100 | mySkip3 | R6, R13 |
| 2 | 10K | mySkip5 | R7, R9 |
| 2 | 100 | mySkip2 | R8, R10 |
| 1 | 10K | myResistor | R11 |
Controller design files
The KiCad project lives in the phorton1/Arduino-cnc-cnc3018 repository on GitHub; these links point at the commit this page was built from.
Controller: common questions
What microcontroller does the Controller use?
The Controller is built around the ESP32_DEV_0, from the ESP32 family.
How big is the Controller PCB?
The Controller measures 144.8 × 104.1 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the Controller?
66 components, from 41 distinct parts. The full bill of materials is listed on this page.
Where can I download the Controller design files?
From the phorton1/Arduino-cnc-cnc3018 repository on GitHub, which has the KiCad layout; the links under Design files point to each one.
Can I use the Controller design in my own project?
Yes, under the terms of its GPL-3.0 license, which phorton1 chose for the repository.
Can I test firmware for the Controller without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug ESP32 firmware against it before you order a PCB.
More boards in Arduino-cnc-cnc3018
Similar boards
ESP32
Open Book Abridged Edition
joeycastillo
85 × 115 mm65 parts2LCC-BY-SA-4.08.1kESP32
Powertrain
byrantech
64 × 45.4 mm171 parts4LMIT4.3kESP32
Esp32 minimal
atopile
36.2 × 26.8 mm20 parts2LMIT4.0kESP32
Badge
atopile
56.3 × 39 mm239 parts4LMIT4.0kESP32
Controller
StuckAtPrototype
29 × 74 mm58 parts4LApache-2.03.8kESP32
Racer
StuckAtPrototype
36 × 50.2 mm70 parts4LApache-2.03.8k