The first prototype ZonCoffee v3 boards have arrived and are nearly up and running. I’m currently porting the code over to Arduino 1.0, as this board uses the Arduino Leonardo bootloader. Read on past the break for more info on the new board.
- 6-Pin AUX port allows use of parallel LCD or custom expansion
- Supports SparkFun serial LCD
- USB port emulates virtual serial port for logging and loading new firmware
- All ports broken out to screw terminals
- Power via USB or external independent power source
- MAX6675-compatible footprint (also supports Maxim-IC’s newer chips)
- 6-Pin ICSP header for flashing custom bootloaders
- Main power and USB power LED indicators
This PCB includes connectors for external power, a SparkFun serial LCD, a pusbutton encoder, a thermocouple probe, a solid-state relay, and an auxiliary port. The auxiliary port pins are all connected to the ADC, allowing additional analog or digital IO for expansion. Note that the logo is silkscreened backwards, which is the only (thankfully superficial!) problem I have encountered with my board so far.
The PCB is populated with an ATMEGA32u4, an 8-bit Automotive-grade microcontroller from Atmel that features a USB interface as well as USART and SPI. This board takes advantage of USART for the SparkFun serial LCD, SPI for interfacing with the MAX6675 thermocouple interface chip, and USB for logging and updating firmware with a computer. All parts on the PCB aside from headers are surface-mount, allowing a very compact design. For permanent installation, screw terminals can be depopulated and wires soldered directly to the board (except for the thermocouple leads, which cannot be soldered).
I have fully populated and tested two of these PCBs so far, and everything is completely functional. There are still a few software quirks from porting my original code to Arduino 1.0, but the boards themselves are fully functional. After a bit of tweaking with the encoder library and creating a drop-in library for attaching a HD44780 LCD to the auxiliary port, this design should be completely usable. I have one board up and running on my espresso machine for both use and development, and I also have a board attached to my roaster (modified Poppery I) that I will be using to experiment with ramping the setpoint for temperature-controlled coffee roasting.
Want to get one?
I’m planning on making a small beta run of boards in the coming months. Drop me an email or a comment below if you’re interested. I haven’t priced the beta boards out yet, but they will be available at a reduced price as long as you’re willing to provide a bit of feedback on the system.
Development on ZonCoffee has been a bit slow lately, as I’ve been working on a more time-critical project. Coincidentally, the project I’ve been working on also uses the ATMega32u4 on a much larger scale, so I can backport some fixes to the Arduino Leonardo specification to this project. I should be able to resume work on this project in the next couple of weeks.
I just wrapped up getting the parallel LCD code up and running, users can now switch between a parallel LCD on the auxiliary port to using a 1-wire serial LCD by changing a single define in the code. The last issue I have to deal with is my rotary encoder handling. I should be ready to do a run of the boards once I get some new encoders in to test with.