August 7, 2021

Hacking the Fresh Roast SR800 home coffee roaster

I bought one of these in July, 2021. Electronics and software is my thing and after only a week I am beginning to wonder what is going on inside of it. It has some kind of temperature sensor -- what kind and where exactly is it? Clearly it has a microcontroller running the show -- what kind and what are the possibilities for monkeying with it?

SR700 USB control

I just learned that the earlier SR700 had a USB interface available to the user. The idea was that you could control fan and temperature settings via USB and develop a "roast profile". Once you had a roast profile developed and tested, you would have repeatable roasting. Sounds great! But for whatever reason there is nothing like this on the SR800. Of course this was all driven by Windows software, which would have annoyed me to no end. Open source is the only answer to that. I read that they are working on a USB version of the SR800 and even reached out to open source developers. There is open source software called "open roast" written in Python.

The protocol includes a 2 byte field that is the roaster temperature in degrees F.

Artisan

Artisan is open source coffee roasting software! It looks to be mostly written in Python.

How 'bout some thermocouples?

Open 'er up (the SR800)

This will require a tool to remove T15 Torx security screws. I had such a bit in a set of security drivers, but had to order a special tool for the SR800. Two of the screws are deep in holes and require a dedicated Torx T15 security driver. I found one on Amazon and had it in hand the next day. After removing the 8 screws (6 readily visible and 2 in recessed holes) the bottom cover comes off easily with nothing attached. Now you get to look at the guts.

The brain of the unit is a PIC16F690 chip. Nearby is TI chip labeled HC164. This is an 8 bit shift register (an IO expander almost certainly).

Two wires vanish into the air plenum (the thermocouple to sense temperature). Six wires connect the logic PCB to the power PCB. Two of these are labeled on the power PCB as ground (black) and 12V (blue). The other four are yet to be determined.

Two TO220 power devices are readily visible on the power board. One is a BTA16-600B, which is an ST part. This is a "logic level 16A triac" with a 600 volt rating. The other is a BTA08-600C, which is also an ST part, another logic level triac, this one rated for 8 amps.

So a person might guess that PWM is being used to control both the fan and the heater. The bigger 16 amp triac is probably for the heater and the 8 amp triac is for the fan. It is somewhat suprising they don't use the same 16 amp part for both, but they must save enough money on the 8A part to make using two different parts worthwhile.

There is another 8 pin surface mount part on the power board. I can't get a good angle to read the part number without removing the power board, which I'm not ready to do today. My bet is that this is the regulator for the 12 volt power supply.

So, that is all I can learn from a quick peek. Sadly there is no hidden but unpopulated USB connector. I don't even see any pads that might be a serial console or JTAG or anything of the sort. I had hoped for an STM32F103 ARM chip with an SWD connector exposed and no security fuse blown, but no such luck.

All back together and working fine. I have only two tips on that. One it to realize that the screws thread into plastic, so turn them in reverse to find the original threads, then tighten only to "snug" to avoid stripping the plastic. The second tip is that the bottom is two pieces of plastic. Get them both into position before installing any screws.

Remember, no user serviceable parts are inside. If you don't know what you are doing, don't. Finally - don't do any of this with the machine plugged in. Caveat emptor.


Have any comments? Questions? Drop me a line!

Tom's coffee pages / tom@mmto.org