Main PCB
Two custom PCBs were designed and fabricated for this project. The main board, featuring an ESP32S3, manages the input/output (I/O) functions of the coffee machine, and accommodates the requirements of peripheral devices: ToF sensors, liquid height sensor, user interface (UI), and rotary encoder. The main board communicates with the daughter boards and liquid sensor via I2C, the UI via SPI, and the rotary encoder via I/O. It interfaces directly with the Keurig to both sense and emulate Keurig signals, enabling control of the brew process.