Countertop grind-and-drip appliances
A local start sequence, separate grinder and heating commands, and jug/water contacts form the control layer for an atmospheric-pressure drip-coffee appliance.
COFFEE-CTRL-A01
An autonomous STM32 controller handles the coffee cycle and sensor interlocks. A separate ESP32-C3 board provides OLED information, local keys and Wi-Fi configuration.

COFFEE-CTRL-A01 separates appliance control from the user interface. The main board receives temperature, three water-level contacts and a jug-presence contact, then controls distinct heater, warming and grinder command circuits. The interface board communicates over a 3.3 V UART link.
START and STOP are physical contacts wired directly to the STM32. Wi-Fi does not provide a start command. A power cycle returns the controller to idle; a new local START press is required for a new cycle.
A local start sequence, separate grinder and heating commands, and jug/water contacts form the control layer for an atmospheric-pressure drip-coffee appliance.
An OLED presents machine and sensor information. The dedicated local STOP path remains available without a network connection, while water and jug inputs govern the active cycle.
Separate main and UI boards allow the display, keys and antenna to be placed away from the control circuits. Connector tables, harness definitions and STEP files support electrical and mechanical integration.
Three low-voltage indicator loads, serial diagnostics and offline NTC calibration tools help inspect wiring, command sequences and sensor conversion using the same documented interfaces.
STM32G030K6T6
127 × 85 mm · 2-layer FR-4, 1.6 mm
The STM32 owns the state machine, real ADC sampling, physical START/STOP, input interlocks, relay commands and watchdog. It runs the control loop independently of the display and Wi-Fi tasks.
ESP32-C3-MINI-1-H4X
100 × 50 mm · 2-layer FR-4, 1.6 mm
The ESP32-C3 handles OLED pages, MENU/UP, buzzer indications, UART polling and physical-button Wi-Fi setup. START/STOP contacts pass through the board to the STM32 without connecting to ESP32 GPIO.
Isolated 12 VDC → MAIN 5 V → UI 5 V; each board derives its own 3.3 V logic supply. The board-to-board harness carries power, ground, UART TX/RX and the two physical key contacts.
| Function | Specified device | Design role |
|---|---|---|
| Autonomous control | ST STM32G030K6T6 | Cortex-M0+, LQFP32; 32 KB Flash / 8 KB RAM |
| Wi-Fi and interface | Espressif ESP32-C3-MINI-1-H4X | 4 MB Flash; antenna region extends beyond the UI PCB edge |
| MAIN power conversion | RECOM R-78C5.0-1.0 + Microchip MCP1700T-3302E/TT | 12→5 V module, 1 A; separate 5→3.3 V supply for MAIN logic |
| UI power conversion | Diodes AP63203WU-7 + Bourns SRN6045TA-4R7M | 5→3.3 V switching supply with 4.7 µH inductor |
| Three command channels | Omron G5LE-1 DC12 × 3 + AOS AO3400A × 3 | COM/NO dry contacts; low-side coil drivers, pull-downs and flyback diodes |
| Temperature input | TDK B57891S0103F008 | 10 kΩ at 25°C, ±1%; B25/100 = 3950 K, ±1%; dry surface probe assembly |
| Display and sound | Waveshare 2.42inch OLED Module + Same Sky CMI-1295IC-0585T | White SSD1309 128×64 OLED, 3.3 V four-wire SPI; 5 V active buzzer |
| Reserved actuator circuit | TI DRV8871DDAR | 12 V H-bridge and two end-stop inputs; both drive inputs remain low in the supplied firmware |
| Connector | Signals / supply | Use |
|---|---|---|
| MAIN J1 | 12 VDC / GND | External isolated DC supply |
| MAIN J2 | V12 / V12_SAFE | Normally closed low-voltage protection chain; coil supply return |
| MAIN J3 | 3.3 V REF / SWDIO / SWCLK / NRST / GND | Local SWD programming; reference pin is not a power input |
| MAIN J4 ↔ UI J201 | 5 V / GND / TX / RX / START / STOP | Six-wire connection; 3.3 V UART, 115200 bit/s, 8N1 |
| MAIN J5 | JUG / GND | Jug contact closes to ground when present |
| MAIN J6 | WATER1 / WATER2 / WATER3 / GND | Independent low / middle / high contacts |
| MAIN J7 | NTC / GND | 10 kΩ NTC to ground, 10 kΩ pull-up to 3.3 V; ADC_IN0 |
| MAIN J8 / J9 / J10 | HEAT / WARM / MOTOR — COM + NO | Three SELV dry-contact command interfaces |
| MAIN J11 / J12 | DOOR_A / DOOR_B; OPEN / GND / CLOSED | Reserved door motor and two limit contacts |
| UI J202 | GND / 3.3 V / SCK / MOSI / CS / DC / RESET | External OLED; adapter harness maps signals to the module’s different pin order |
| UI J203 | GND / 3.3 V REF / TX / RX / EN / BOOT | UART0 programming and logs; 3.3 V TTL adapter |
The heating command uses temperature hysteresis during the timed BREW stage; grinder and warming commands remain off.
A dedicated dry-contact circuit separates warming from the main heater. The supplied firmware configuration leaves K2 off.
The timed GRIND stage activates only the grinder command. The cycle then moves to BREW; no pump channel is assigned.
ADC_IN0 measures the 10 kΩ NTC divider. The software checks open/short limits and sample age, then converts the ADC value with a lookup table. The download includes a 25°C/90°C offline calibration tool that accepts recorded ADC and reference temperatures and generates traceable conversion data without changing firmware or network settings.
Water contacts close to ground at low, middle and high positions. Legal numeric masks are 0, 1, 3 and 7: empty, low, low+middle and all three. Empty water prevents start; inconsistent combinations latch a fault. Losing water or the jug during an active cycle switches off commands and latches the fault.
ADC_IN1 monitors V12_SAFE through a 47 kΩ / 10 kΩ divider. Opening the low-voltage NC protection chain removes relay-coil supply and latches a software fault; chain recovery does not restart the cycle. This chain does not remove DRV8871 motor power or open welded contacts, so final heat protection belongs in the separate load circuit.
STOP takes priority over START. With inputs safe, a new two-second local STOP hold clears a latched fault to idle; a further new START press is required. Holding START during power-up does not trigger a cycle. Invalid or stale samples and cycle time limits also turn commands off.
Use the output-locked MAIN image for wiring and sensor inspection. The SELV bench image runs a 5 s GRIND and at most 90 s BREW sequence with current-limited dummy loads, accepting a new physical START only when required inputs permit operation. Temperature conversion and thresholds are configured in the local engineering sources; the web interface does not change them.
MENU and UP navigate five OLED pages: machine information, sensors, Wi-Fi, serial diagnostics and the setup password. Temperature and contact information come from MAIN diagnostic frames.
C1 carries STATUS or STOP; R1 returns the state, fault and H/W/G software command bits. MAIN sends D1 diagnostics every second with temperature, raw ADC0/ADC1, water mask, jug, protection chain and sample validity. CRC-8/ATM checks transmission errors; it is not authentication.
UI polls STATUS every 500 ms. After three seconds without a valid reply or diagnostic sample, the corresponding data is shown as offline or unknown. H/W/G values describe commands, not relay-contact or load-current feedback; a valid ADC sample is not an overall operating permission.
Release MENU and UP, then hold both for three seconds to open a 180-second local setup window. A fresh 12-character WPA2 password appears on the OLED. Join the COFFEE-… access point and open 192.168.4.1 to enter a network’s SSID and password. Credentials are saved only after that network supplies an IP address.
The setup page offers network configuration, read-only information and STOP. There is no network START, fault-clear or cycle-parameter command. AP and HTTP close when the setup window ends; normal boot does not reopen the setup AP.
| Frame | Direction | Contents |
|---|---|---|
| C1 | UI → MAIN | STATUS query or STOP request |
| R1 | MAIN → UI | Request sequence, result, state, fault, H/W/G software commands |
| D1 | MAIN → UI | Temperature, raw ADC0/ADC1, water mask, jug, protection chain, validity and mode; every 1 s |
Mean Well GST25A12-P1J 12 V supply; TDK dry NTC assembly; three RSF54Y100RC float switches; Littelfuse 59140-1-S-02-A reed sensor with 57140-000 magnet for jug presence.
The external 2.42-inch OLED uses a signal-mapped adapter harness. The package specifies board-to-board, sensor, protection-chain, display and programming wire connections with connector and terminal selections.
The dry electronics enclosure is defined at 220×160×80 mm with separate main/UI mounts and an external OLED carrier. STEP, DXF and mounting drawings connect enclosure geometry to the boards’ mounting holes.
STLINK-V3MINIE with a STDC14-to-5-pin adapter serves MAIN; a 3.3 V USB-UART serves UI. The SIM3 enclosure provides three separate low-voltage indicator circuits. Serial CLI and calibration templates accompany the wiring and measurement guides.
These images are exported from the editable PCB and mechanical models included in the download.
Open the editable design, inspect the 3D assemblies, review the selected parts or rebuild the firmware. The package retains the original engineering filenames and includes file checksums.
Editable main/UI hardware, CAM, BOMs, 3D models, target firmware, harnesses, tools and documentation in one archive.
ZIP · 17.50 MB · ↓PCB and assembly dataGerber layers, plated/non-plated drills, component placement and per-board BOMs with full manufacturer part numbers.
ZIP · 173.7 KB · ↓3D and enclosure filesMain/UI assembly STEP models, enclosure and OLED-carrier STEP/DXF, and mounting views exported from the CAD design.
ZIP · 8.26 MB · ↓Firmware and programming filesC99 control sources, STM32 target project with output-locked and SELV bench BIN/HEX/ELF/MAP files, plus ESP-IDF UI sources, bootloader, partition table and application image. Both MAIN modes leave warming and door motion off.
ZIP · 5.00 MB · ↓Wiring, calibration and inspection guidesPin maps, wire-by-wire harness tables, serial tools, calibration records and measurement instructions.
ZIP · 146.1 KB · ↓BOM and procurement workbookBoard parts, procurement summary, accessories and source references in a spreadsheet.
XLSX · 33.8 KB · ↓Board component BOMReference designators, quantities, manufacturer part numbers and component specifications for both boards.
CSV · 15.2 KB · ↓Accessory selection tablePower, sensors, display, harnesses, enclosure and programming accessories with catalog or custom specification identifiers.
CSV · 15.5 KB · ↓Share your coffee process, supply voltage, load interfaces, enclosure dimensions and sensor placement. These define the control configuration, power assembly and mechanical integration work.