Timer DIY

This forum contains various threads with photos on how to perform various maintenance and repairs on your S1.
Post Reply
pev
Latte
Posts: 22
Joined: Wed Apr 17, 2019 9:03 pm
Location: UK

Timer DIY

Post by pev »

Heya,

Has anyone properly looked at how to DIY a timer alternative? I searched the forum and a few people mentioned thinking that it uses a serial protocol - is it documented or has anyone tried reverse engineering it? I guess if there's anyone in the UK with a timer I could have a look at it wouldn't take long to work out...
Glenn
Americano
Posts: 6
Joined: Sun May 31, 2020 1:32 pm
Location: Oklahoma

Re: Timer DIY

Post by Glenn »

I’ve wondered about this myself for my Vivaldi II. It seems to me that knowing the serial RS-232 commands, the machine could easily be controlled through home automation software and something like a Global Cache iTach.

Does anybody know where we could find a table of the serial commands?
User avatar
chas
Vivaldi Dreamer
Posts: 3044
Joined: Wed Jun 02, 2004 11:52 pm
Location: Central Maryland
Contact:

Re: Timer DIY

Post by chas »

Two things:

1) I have never seen the serial protocol used between the front panel and the controller board documented.

2) To remotely turn the machine on and off, that protocol is not what is used anyway. All you have to do is momentarily ground the right pin on the front panel. If you use the Search feature on this forum you should be able to find any number of different solutions folks have come up with the implement this method.
Chas
LM GS/3 & LaSpaziale Dream v 1.25 (US 120V)
Mazzer Kony E, Customized Rocky
Hottop P/B
Glenn
Americano
Posts: 6
Joined: Sun May 31, 2020 1:32 pm
Location: Oklahoma

Re: Timer DIY

Post by Glenn »

Thank you, chas.

Yes, I’ve seen much of the discussion about this here on S1 Cafe. I was reluctant to break out the soldering iron when my machine was still under warranty but I might consider doing that now. I’ve also been reluctant to spend the money on the stock optional timer for scheduled operation since it only does on/stby and not Boiler on/off independently. (Most of the time I make only espressos and prefer for the boiler to be turned off).

It was a comment you made from 2012 that got me thinking there might be an easier, more direct way than the simulated button-press approach. You pointed out that the stock optional timer communicates with the machine through a serial interface. If we knew the serial commands (say, at least the commands for on/stby and Boiler on/off), maybe it would be as simple as plugging in a device, in the same way as the stock optional timer, which can deliver those serial commands. That device would be operated remotely by a smartphone app or by home automation. But, I guess, getting ahold of the proprietary serial codes is the catch.

I’m not an electrical engineer by any means, but the OP of this thread, pev, brought up the idea of possibly reading the serial commands generated by the stock optional timer. I wonder if it would somehow be possible to decipher those commands coming from the front panel instead.
User avatar
GDK
God Shot
Posts: 166
Joined: Thu Jan 20, 2011 9:06 pm
Location: Ottawa, Canada

Re: Timer DIY

Post by GDK »

You can with similar level of difficulty convert your machine to a smart home device, not only allowing for timer control but on/off from anywhere via smartphone as well as Google/Alexa voice/automation controls. The only intrusive part in my case was to add wires to the on/off button so that you can use a relay in parallel. Such addition does not affect manual operation either.
Glenn
Americano
Posts: 6
Joined: Sun May 31, 2020 1:32 pm
Location: Oklahoma

Re: Timer DIY

Post by Glenn »

Thanks, GDK. It sounds like that's the way to go.
pev
Latte
Posts: 22
Joined: Wed Apr 17, 2019 9:03 pm
Location: UK

Re: Timer DIY

Post by pev »

Hey all,

Thanks for the replies - so I'm an embedded systems engineer by trade and reverse engineering the protocol used should really be a pretty trivial matter if I can get one of the stock timer controllers to look at with my logic analyser. I'd expect that it's not doing anything glamorous and it would be pretty trivial to emulate using something like an M5Stack (off the shelf microcontroller with display and buttons) to drive the protocol and have a very cheap solution to both timer / counter functionality as well as integrating Siri functionality. I've already put together a proof of concept demo using one that can be talked to via siri to schedule on / off etc...

I wouldn't want to follow the direction of hacking the control panel as per other posts as it's really not ideal from my perspective. As a second track i actually bought a second secondhand S1 mini which Ive got the long term goal of building a completely new controller / GUI board for which would allow me control of all this sort of thing directly as well as using it as a fun prototyping and development platform...

As an interim measure and as a cheap option for others as an easy retrofit, reverse engineering the serial protocol would be preferable!

I've got a whole load of info I've worked out already and some notes on the technical details of what the stock control PCB does that I'll put up somewhere publicly once a bit more complete and tidied up...
Glenn
Americano
Posts: 6
Joined: Sun May 31, 2020 1:32 pm
Location: Oklahoma

Re: Timer DIY

Post by Glenn »

Pev, It’s cool that you, as an embedded systems engineer, are working to understand how this could be done.

I’m not familiar with the M5Stack – I’ll check it out. I had envisioned using a Global Cache iTach to deliver serial codes to the control board, https://www.globalcache.com/products/itach/wf2slspecs/ .

You mention reverse engineering the protocol used by the stock timer which I think would give you only machine ON/STBY. Would your logic analyzer be able to read the communication coming from the control panel SER2? In that case, the commands for Boiler on/off might be obtained as well. Or is that a different protocol than what is used at the timer connection, which is likely where we would connect?
pev
Latte
Posts: 22
Joined: Wed Apr 17, 2019 9:03 pm
Location: UK

Re: Timer DIY

Post by pev »

Funnily enough I'd just been looking at mine when I saw this...
Glenn wrote: Thu Jun 11, 2020 1:03 pm I’m not familiar with the M5Stack – I’ll check it out. I had envisioned using a Global Cache iTach to deliver serial codes to the control board, https://www.globalcache.com/products/itach/wf2slspecs/ .
That won't work I'm afraid - it's a generic board that does RS232. There are actually a lot of different types of serial communication out there, and the S1 speaks a different kind...
Glenn wrote: Thu Jun 11, 2020 1:03 pm You mention reverse engineering the protocol used by the stock timer which I think would give you only machine ON/STBY.
I suspect it's a lot more than that - If you look at La Spaz's manual, they also made a "coffee counter" module that they sold that did things like count cups made. I wouldn't be surprised if there are also other things hidden in the protocol as well.

https://www.manualslib.com/manual/10340 ... valdi.html
Glenn wrote: Thu Jun 11, 2020 1:03 pm Would your logic analyzer be able to read the communication coming from the control panel SER2? In that case, the commands for Boiler on/off might be obtained as well. Or is that a different protocol than what is used at the timer connection, which is likely where we would connect?
Actually I looked at that already - It's not a serial bus but a more traditional parallel connection for the buttons and LEDs so cant be accessed in that way. Who knows though, the serial interface may have that kind of operation implemented as well?
pev
Latte
Posts: 22
Joined: Wed Apr 17, 2019 9:03 pm
Location: UK

Re: Timer DIY

Post by pev »

This is a capture of the machine trying to talk from earlier - just need to work out what the protocol is and build something for it to talk to and see if there's anything obvious one can do!


Screenshot 2020-06-12 at 02.28.48.png
Glenn
Americano
Posts: 6
Joined: Sun May 31, 2020 1:32 pm
Location: Oklahoma

Re: Timer DIY

Post by Glenn »

Pev, I can see this is quite a bit more involved than I had realized and well over my head regarding the technology. I’ll be very interested to see how it goes as your investigation progresses. I looked up the Pico oscilloscopes and PicoScope 6. Looks like a sweet tool. So in the sample chart that you show, were you testing to see if the protocol is 1-wire?
pev
Latte
Posts: 22
Joined: Wed Apr 17, 2019 9:03 pm
Location: UK

Re: Timer DIY

Post by pev »

Yep. Ive just had another look at it trying to work out what protocol it's using. I've ruled out a bunch of the obvious candidates now. It's a bit frustrating though as it would be a lot easier if I could find a timer to borrow and capture a two way conversation in process as I could replicate / emulate it if that was the case. What Im doing at the moment is pretty much a total shot in the dark seeing only one side of the story...
Glenn
Americano
Posts: 6
Joined: Sun May 31, 2020 1:32 pm
Location: Oklahoma

Re: Timer DIY

Post by Glenn »

Pev, I wish you luck in finding a timer to test.
Check your inbox for a PM.
bgour
Macchiato
Posts: 38
Joined: Sat Jan 24, 2009 2:56 am
Location: Vancouver, British Columbia

Re: Timer DIY

Post by bgour »

I'm using the the simulated button press approach (ESP8266/GoogleAssistant, as documented by TruthBrew here: http://s1cafe.com/viewtopic.php?p=25499#p25499)

But, I would love to tap into the serial interface especially if it offers more than just on/off and counts (temps for example). If you decode the protocol please update us. Good luck!
Vivaldi S1 V1, timer
Mazzer Mini
User avatar
gschroeder81
Macchiato
Posts: 46
Joined: Wed Apr 29, 2015 1:03 pm
Location: Prescott, AZ

Re: Timer DIY

Post by gschroeder81 »

I'm working on a web-connected timer for my Spaz. I have a proof of concept working but should have something to show soon. My goal is to get out of this in the neighborhood of $50 and use as much existing platforms as possible (less time investment).
Spaz S1V1
Compak K3, Rocky
Cafflano Kompresso, Krinder
PID'd Poppery I roaster
3D printed Thermofilter
pev
Latte
Posts: 22
Joined: Wed Apr 17, 2019 9:03 pm
Location: UK

Re: Timer DIY

Post by pev »

gschroeder81 wrote: Wed Jul 22, 2020 12:37 pm I'm working on a web-connected timer for my Spaz. I have a proof of concept working but should have something to show soon. My goal is to get out of this in the neighborhood of $50 and use as much existing platforms as possible (less time investment).
Ah, interesting - how did you get on? Is yours using the serial comms to the main board, or over-riding things?
User avatar
gschroeder81
Macchiato
Posts: 46
Joined: Wed Apr 29, 2015 1:03 pm
Location: Prescott, AZ

Re: Timer DIY

Post by gschroeder81 »

pev wrote: Sun Aug 08, 2021 1:15 pm
gschroeder81 wrote: Wed Jul 22, 2020 12:37 pm I'm working on a web-connected timer for my Spaz. I have a proof of concept working but should have something to show soon. My goal is to get out of this in the neighborhood of $50 and use as much existing platforms as possible (less time investment).
Ah, interesting - how did you get on? Is yours using the serial comms to the main board, or over-riding things?
So I just intersected the ribbon cable coming from the front panel. And no I did not decode the cereal protocol or anything. The project has suffered from some feature creep, and now I am in the process of working with a friend on building a custom BCB with power supply and everything on it to run the temp sensor, shot timer, and OLED screen.
Spaz S1V1
Compak K3, Rocky
Cafflano Kompresso, Krinder
PID'd Poppery I roaster
3D printed Thermofilter
pev
Latte
Posts: 22
Joined: Wed Apr 17, 2019 9:03 pm
Location: UK

Re: Timer DIY

Post by pev »

Nice! Is that replacing the original main PCB completely then? I'd wondered about doing that to make things easier but haven't had much time recently...

I'd also considered re-programming the PIC as that would be pretty easy to implement additional features such as PID control and a new I/O board with display but for some reason my old pic debugger wont talk to the board so I need to upgrade...
User avatar
gschroeder81
Macchiato
Posts: 46
Joined: Wed Apr 29, 2015 1:03 pm
Location: Prescott, AZ

Re: Timer DIY

Post by gschroeder81 »

pev wrote: Mon Aug 09, 2021 5:34 am Nice! Is that replacing the original main PCB completely then? I'd wondered about doing that to make things easier but haven't had much time recently...

I'd also considered re-programming the PIC as that would be pretty easy to implement additional features such as PID control and a new I/O board with display but for some reason my old pic debugger wont talk to the board so I need to upgrade...
No, simply creating a carrier for the Particle Argon I'm using for running the little bit of logic I am and driving the OLED, temp sensor, power supply for Argon.
Spaz S1V1
Compak K3, Rocky
Cafflano Kompresso, Krinder
PID'd Poppery I roaster
3D printed Thermofilter
pev
Latte
Posts: 22
Joined: Wed Apr 17, 2019 9:03 pm
Location: UK

Re: Timer DIY

Post by pev »

gschroeder81 wrote: Sun Aug 15, 2021 7:56 pm
pev wrote: Mon Aug 09, 2021 5:34 am Nice! Is that replacing the original main PCB completely then? I'd wondered about doing that to make things easier but haven't had much time recently...

I'd also considered re-programming the PIC as that would be pretty easy to implement additional features such as PID control and a new I/O board with display but for some reason my old pic debugger wont talk to the board so I need to upgrade...
No, simply creating a carrier for the Particle Argon I'm using for running the little bit of logic I am and driving the OLED, temp sensor, power supply for Argon.
Ah, interesting…. So an esp32 with a feather form factor? I’d considered hacking the main pcb to interface an esp instead of the pic as a low rent solution! Will be interested to keep an eye on your progress!
cucanunes
Freeze Dried
Posts: 1
Joined: Wed Sep 29, 2021 9:41 am
Location: Sao Paulo/Brazil

Re: Timer DIY

Post by cucanunes »

pev wrote: Thu Jun 11, 2020 7:27 am As an interim measure and as a cheap option for others as an easy retrofit, reverse engineering the serial protocol would be preferable!
Hi Pev,

I saw in the other thread, you ordered the vivaldi timer, so do I.
I started to take some values from the communication between machine and the module, but looks like it’s not a 1wire serial… I got more than 12v on the vcc a s gnd pins, and can’t connect a serial interface straight on it.
Have you made any progress on it?
pev
Latte
Posts: 22
Joined: Wed Apr 17, 2019 9:03 pm
Location: UK

Re: Timer DIY

Post by pev »

Hi, I did - I did a dump of the transaction it performs and stared at it for a while but it doesn’t look like any serial protocol that I’m familiar with (which slid a few!) I’m going to build a test box that replicates what it does with an arduino / esp32 when I have some time and I’ll post the code & info to GitHub. I’ll post here when I’ve succeeded!
dtprnl
Freeze Dried
Posts: 2
Joined: Mon Nov 13, 2023 5:27 pm
Location: Canada

Re: Timer DIY

Post by dtprnl »

Any progress in the last two years? Looking at the diagram above, it appears to be a strange, custom protocol. Each bit is encoded using four bits: 1010-start, 1000 - 0, 1011 - 1 for total 36 bits per transmitted byte. I don't have the timer to go further, but if you have more data it would be nice if you post it here.
dtprnl
Freeze Dried
Posts: 2
Joined: Mon Nov 13, 2023 5:27 pm
Location: Canada

Re: Timer DIY

Post by dtprnl »

Hi,

Any progress on this? I don't have the timer to get the data, but looking at the diagram above it looks as if each bit is actually encoded as four bits:

1001 - start
1000 - 0
1010 - 1

So the diagram above shows 2 bytes (4x18 = 72 bits total) as follows

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 1 1 0
1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 1 1 0

in ASCII it reads X| which isn't much to go on. If anyone has more data I'd be happy to help to decode it if its not already done.

Cheers!
Post Reply

Return to “Maintenance and Repair”