Home > Arduino, Electronics, Programming > Controlling Micronova pellet stove motherboard – Stufe a pellet Aria Idro IR telecomando seriale

Controlling Micronova pellet stove motherboard – Stufe a pellet Aria Idro IR telecomando seriale

October 18th, 2015 Leave a comment Go to comments

Here is how to control a pellet stove with a Micronova controller remotely either via IR commands or using the serial line.

They installed a Laminox pellet stove in our house. It is a nice thing to have over the winter. Problem is that sometimes I am outside and I want to turn on the stove remotely so that when I arrive, it will be warm inside. So I needed a way to control it remotely. By google searching pellet stove controllers I noticed that mine looks very similarly as those made by Micronova so it was clear – the controller inside my stove is some board from Micronova (i023, i050 or who knows). It is used by various stove manufacturers like Laminox, Extraflame, Evacalor, Dalzotto, Ungaro, Arcestufe, Karmek, Tecnoflam, Termoflam, Clam, Cadel, Zibro, Sicalor, Kepo, EcoTeck and many others. I noticed a DB9 connector at the back of my stove but no! It is not an RS232, there is 20V on one of the pins and I destroyed my UART interface trying to connect it to the stove (right, I should have checked the voltage levels on each pins first, lesson learned, but the interface is not expensive and I have more pieces at home anyway).

I contacted one of Micronova employees just asking if it is possible to turn on the stove via that connector or if it would be just waste of my time trying to figure out how to do it. And he replied that if I am not from one of their partner companies they can’t tell me anything. Right, thank you. I bought this stuff and it’s now mine so I want and will do what can be done with it myself! So I decided to spend some time with this.

Fist I did some research on IR remote. Later I found some helpful information about the serial communication in Italian at stufapellet.forumcommunity.net (thanks!). It was not all in one place there and not complete. As I also recently purchased a Rigol oscilloscope and had a Salea logic analyzer available so I did more work on this subject and I am finally able to describe it in more details.

IR commands

telecomando

This is the original IR controller

It’s not difficult to send IR commands for this stove using an Arduino.

Here is a table of commands I created by recording the IR LED voltage with a PC line-in sound card port, then analysing the recording with Audacity (before I had a logic analyser at hand):

== Setting the power ==
r up   11111111 00011110 01010011 10101010 01110010 11000000
       0xFF     0x1E     0x53     0xAA     0x72     0xC0

r down 11111111 00011110 01010011 11101010 01111010 11000000
       0xFF     0x1E     0x53     0xEA     0x7A     0xC0

== Setting the water and air temperature ==
l up   11111111 00011110 01010011 01101010 01101010 11000000
       0xFF     0x1E     0x53     0x6A     0x6A     0xC0	 

l down 11111111 00011110 01010011 11001010 01111100 11000000
       0xFF     0x1E     0x53     0xCA     0x7C     0xC0	 

== Power up ==	   
power  11111111 00011110 01010011 01001010 01101100 11000000
       0xFF     0x1E     0x53     0x4A     0x6C     0xC0

38 kHz modulation seems to work fine (36 kHz may work too). I created a testing Arduino code based on Infrared library. It sends the ‘power setting down’ command every four seconds. Just connect an IR LED to GND and D3 pins (ideally with a 100 Ohm resistor in series).

Serial communication

Well, first I was thinking of parsing LCD segment bits and getting textual LCD data as a form of feedback. But that is quite crazy and unnecessarily complicated. I knew there is a DB9 connector at the back of the stove and while I didn’t know the pinout I suspected that it may be connected to the SERIALE connector (CN13) on the main board. I have read some italian threads. They were mentioning there is ~20V, GND, +5V pins. Right. First – GND is not connected to stove’s metallic frame. This metallic frame is connected to protective earth but the stove has it’s own GND reference for all communication stuff. So I picked up known GND from the controller panel and measured voltages on every pin. Turned the stove off and measured resistance between GND and those pins. And here are the pinouts.

Out of curiosity, when the stove was off, I also measured resistance between IR pin on the controller panel and all pins in the DB9. And also resistance between +5 pin in the controller panel and all pins in the DB9. And guess what! There is about 500 ohm between IR pin and serial pin. Aha, so it uses almost the same path for IR as well as serial commands. Interesting. It seems that 500 ohm resistor is on the DB9 (CN13) side and there is no resistor on the IR side.

Unfortunately, as they mentioned in the forum, only one pin is used for RX and TX. UART logic levels are ~5V for logic 1 and ~0V for logic 0 (for exact ranges see 5V CMOS logic). When the stove or the PC wants to write a bit with logic value 0, it needs to pull down this serial pin (~ <1V). When it wants to send a bit 1 it can keep it at 5v (it is pulled up apparently so no need for an extra pull up resistor). In the forum they made some crazy schematics with optocuplers and transistors (here and there). :D But there was one simple schematic. I don’t have that chip nearby but it made me start experimenting. I created an arduino sketch again to just simulate me this NC7WZ07 device. You can connect TXD from CP2012 to pin 2 and on pin 3 you will get output to go on the stove’s serial line. UPDATE: you can use a diode instead of it, read on.

 

I created this simple schematic with just one PNP transistor and one diode. It works fine with 5V tolerant USB-to-TTL converter based on CP2102 and it doesn’t echo the sent bytes if the diode has higher forward drop, let’s say 0.7-1V. It’s a bit of trial and error but it works with SeramiNet.

 

It works like this: when TXD is logic 0 it’s 0V so the diode will act almost like a wire (with Vf though) so there will be Vf (around 0.8V depending on your diode on the serial line so the 5V stove logic will pick it up as a logic 0, when TXD is logic 1 it will be on 3.3V on that side, that will be reducing stove controller’s serial voltage to 3.3+Vf max (from it’s default pulled up 5V). But because the stove is pulled up with a high resistance pullup, there will be a very tiny current flowing so it’s fine. Because there will be ~0.8V on the stove’s serial line, it won’t be picked up by 3.3V logic of RXD (higher than it’s max low level voltage), thus cancelling up the echo, yay! To illustrate here are some screens from the oscilloscope at stove’s serial line and RXD of the CP2102 for the same request and response. White line is 1V, 0V is at the bottom of the screen. At the serial line of the stove there is max 3.8V.

I intend to control the stove using Espressif ESP8266, a cheap chinese SoC with wifi and IP stack. It is 3.3v and it’s not 5V tolerant. While receiving can be done using a voltage divider (two resistors), sending is problematic. UPDATE: as Gus suggested in the comment, one diode and NPN transistor is a better way to do the half-duplex trick. Also NPN transistors are probably more common. So for my ESP8266 project I used this idea and just added one zener diode on the TX side of the ESP to protect TXD from getting voltages higher then 3.6V. Here is the schematic I use and the board made in free version of Eagle:

ScreenShot 2015-12-17 at 16.59.50 ScreenShot 2015-12-17 at 17.01.43

What you see as REGULATOR is a tiny switching regulator to convert 20V from DB9 connector to the 3.3V needed for the ESP8266. Don’t use LDO (linear regulator) for that purpose as the voltage difference is high and current can be ~200 mA meaning it would produce more heat than the ESP would be consuming. :D

Serial Protocol

Their protocol is called Rwms. It’s a simple binary serial protocol which works half-duplex. You are either sending or receiving.

There are two accessible memories on board. RAM and EEPROM. RAM is volatile memory which can be rewrote many times safely. EEPROM is the memory used for storing settings which are preserved after the stove is turned off. EEPROM should not be rewrote many times as writing cycles are limited (commonly 10-100k depending on the memory technology).

Connection parameters are: baud rate 1200, 8 data bits, 2 stop bits, no parity, no flow control. There are two commands – Read and Write.

Read

two bytes (TYPE+ADDR_MSB) ADDR_LSB
– where TYPE is 0x00 for reading from RAM and 0x20 for reading from EEPROM
– ADDR_MSB optionally the most significant byte part if the address is longer than 8 bits (you can put 0 there/ignore it)
– ADDR_LSB least significant byte of address (item index) to write to
– ADDRESS is just a memory position index, starting from 0x00 to 0xFF

response from the stove are two bytes CHECKSUM VALUE
– CHECKSUM is (TYPE+ADDR_MSB+ADDR_LSB+VALUE) & 0xFF
– VALUE is the returned value (it can be 255 decimal max)

To read a temperature (looks like ambient temperature for my board) you would send 0x00 0x01. It seems that indices may be different for different board so you have to experiment. Index 0x67 was hour and 0x68 minute while for Italian forum people it was 0x65 for hours and 0x66 for minutes.

Write

four bytes (0x80+TYPE+ADDR_MSB) ADDR_LSB VALUE CHECKSUM
– TYPE again 0x00 for writing to RAM, 0x20 for writing to EEPROM
– ADDR_MSB optionally the most significant byte part if the address is longer than 8 bits (you can put 0 there/ignore it)
– ADDR_LSB least significant byte of address (item index) to write to
– VALUE value to write (so it can be 255 decimal max)
– CHECKSUM is ((0x80+TYPE+ADDR_MSB)+ADDR_LSB+VALUE) & 0xFF

stove responds with two bytes: ADDR_LSB VALUE
– repeating the values sent there

Known Variables

These are variables mentioned on the Italian forums. These addresses seem to be different for different boards though so it’s more just for a reference…

== RAM ==
0x00 internal timer of the program (ranging from 0-255 continuously)
0x01 temperature multiplied by 2
0x0D pellet loading in use (formula !!)
0x21 power state (0-stove off, 1-stove start)
0x37 speed 'fan fumes using (formula !!)
0x5A smoke temperature
0x63 seconds current
0x64 DOW (day of week)
0x65 current time
0x66 minutes current
0x67 date current
0x68 current month
0x69 current year
0x73 intake air temperature
0x7D copy of the set temperature from EEPROM

== EEPROM ==
0x08 FAN SMOKE IN POWER 5
0x7D set temperature

You can turn on the stove by writing 1 to 0x21 in RAM so the bytes to send would be 0x80 0x21 0x01 0xA2. The stove responds with 0xA2 0x01.
UPADTE: Another parameter table is mentioned in this thread.

UPDATE2: Parameters for my hydro pellet stove (all RAM):

0x00 some internal timer, constantly changed over time
0x01 ambient temperature (multiplied by 2)
0x02 ??? (started around C, maxed around 95)
0x03 water temperature
0x19 stove power control? Must be set in EEPROM I guess
0x21 state (0-off, 1-starting, 2-load pellet, 3-flame light, 4-work, 5-cleaning, 6-, 7-cleaning final)
0x34 current stove power
0x3B water temperature (copy of 0x03)
0x3C water pressure (multiplied by 10)
0x5A smoke/fumi temperature (started around 24 deg C, maxed to around 126 deg C)
0x65 current second
0x66 current day of week?
0x67 current hour
0x68 current minute
0x69 current day
0x6A current month
0x6B year since 2000
0x6D stove water temp control

My first custom control board (telecontrollo)

This was the first board I made (left). I decided to power it directly from the stove’s control panel. It was hidden in the stove. Worked fine, but one night I realised it may not be ok to stress the stove’s 5V regulator so much. ESP8266 can draw ~200 mA which is not that small. So I made a new board with switching regulator and DB9 connector to be connected at the back of the stove as an accessory.

telecontrolo pins

My second control board

This is the final board I made. It looks like an accessory and has the board edge connector for programming the ESP8266. Currently I use my own firmware written in C but I am actually working on a scriptable firmware which I may opensource at some point. I didn’t want to use NodeMCU or Arduino for ESP because NodeMCU is unnecessarily big and consumes a lot of memory and both can’t be updated too easily remotely. But both are cool projects so you can definitely consider one of them if you don’t plan more projects and don’t need rapid updates over wifi.

IMG_20151217_171259

Micronova stuff

Micronova have some “Serial interface”. It probably has an Atmel microprocessor inside which just does the half-duplex trick. And there will be some RS232 transceiver or USBtoUART chip. :)

serial

Some crappy “serial interface” gadget I don’t own

They have a proprietary software SeramiNet. It can be used for reading RAM/EEPROM parameters. It has also a console allowing you to write values. There is also a tool for flashing firmware but I am not sure if it uses the same serial interface or the JTAG pins on the board. If you ever wanted to write a firmware though, you would have to get some .enc, .hex or .ben file from Micronova and I am almost sure they won’t give you one unless you are a partner company. :P That may be because it would be an executable Atmel code and you could potentially decrypt it and flash into your own Atmel chip. This one makes sense – not blaming them for that.

UPDATE3: Micronova developed their own remote control based on ESP8266 and Atmel and it looks quite nice. I haven’t tested it as I have my controller. It look like their board connects to their server and registers. Then you create an account at efesto.micronovasrl.com and somehow associate the device with your account. Then you control the stove through that website. This is how “cloud services” work normally nowadays.

So that’s it. As I had told the Micronova employer that I will figure it all out, I did. Hope it will help more people.

Categories: Arduino, Electronics, Programming Tags:
  1. Mads
    October 2nd, 2015 at 10:46 | #1

    Hi, I found this very interesting. I have a EcoTeck pellet stove with a MicroNova board, and I am stuck on their protocol as well. I have been trying to get info from the DB9 connector without any luck. I have tried to scope on the signal going to the display. It is a 2 wire display and I have asked on a forum about the signal I am recieving and it should be a “amplitude modulation” signal which I know nothing about.

    I will continue to see if I can come up with some kind of solution to this.

  2. k3a
    October 3rd, 2015 at 19:53 | #2

    @Mads
    I’ve just made an update with all the details. Enjoy! Note: will also add some oscilloscope images and list of paramaters mentioned on their forum. Those parameters may be different for your stove but it’s good to have them here for reference.

  3. Mads
    October 6th, 2015 at 11:21 | #3

    Wow thank you, this is a lot for me to understand, but i am very impressed with the work you are putting in to it!

    Thank you, I will see what I can do with your finding!

  4. Vladimir
    October 7th, 2015 at 17:06 | #4

    Hello,

    I must say that I’m impressed. I also have pellet stove with micronova electronics and I was looking for solution for remotte controlling, and as I don’t have experience with arduino I will continue to read future updates, and if I can help somehow, for testing and so on, I’m available. My stove is from Kepo, serbian manufacturer.

    http://www.kepo.rs/wp-content/uploads/2015/06/Kepo-MC-15-2.jpg

  5. Gus
    November 6th, 2015 at 22:11 | #5

    In your opinion would the serial interface with the diode work with the Seraminet and a USB to 5V TTL or do I need something else (looking for a easy to build set up)

    Regards
    Gus

  6. k3a
    November 6th, 2015 at 22:24 | #6

    @Gus
    You need to try play with it. Problem is for Seraminet to work you need to cancel out the echo of sent commands. In my schematic it was cancelled by voltage drop of the diode, maybe it will be enough. There is like 40k pull up in the stove to 5V on the signal line. Idle state is high (5v). It’s really more about trial and error. If you manage to it simpler, let me know. Also more pople will like it. Later I will share my schematic for ESP8266 integration. It is a 3.3v device not 5v tolerant so it was a little bit more complicated.

  7. Gus
    November 7th, 2015 at 04:48 | #7

    http://nerdralph.blogspot.ca/2014/01/avr-half-duplex-software-uart.html

    Good explanation for the 2 wire to 1 wire TTL no echo

  8. Gus
    November 11th, 2015 at 20:49 | #8

    Built the interface and I was able to do a Eprom backup using Seraminet and USB to 5v TTL
    serial adapter

    Later

  9. k3a
    November 11th, 2015 at 20:54 | #9

    @Gus
    Nice! :) And thanks for the link, I like his 2wire->1wire circuit.

  10. Gus
    November 11th, 2015 at 23:54 | #10

    http://www.dx.com/p/esp-01-esp8266-serial-wi-fi-wireless-module-adapter-module-3-3v-5v-compatible-for-arduino-404644#.VkOVuLerTIU

    With this set up and the 2 wire 1 wire interface you think I should be able to run the Seraminet via wireless to the 5Volt TTL Micronova board?

  11. k3a
    November 12th, 2015 at 21:06 | #11

    @Gus
    Yes, this board seem to have the 5V->3.3V logic shifter and even 5V regulator, it should work. It looks similar to what I made (the last photo on this page). Soon I will also release my Eagle schematic and board design too.

  12. Adrien
    November 18th, 2015 at 12:38 | #12

    Hello,

    I have a Superior Monia stove (Micronova board), and I want to connect it to my homeautomation system (OpenRemote hosted on a QNAP NAS).

    First of all, many thanks for this thread with very usefull informations, and for the description of all the step you achieve !

    For the moment, I’m thinking about the way to connect the Micronova and Openremote, and I think that Raspberry pi could be a solution. It has an 3.3V UART port (RX,TX seperated), so with the explained circuit, I should be able to communicate with the stove. I will then have to expose the serial commands to a TCP/IP protocol to access-it from OpenRemote.

    I’m not an Ardino Expert, but does the component given by Gus be able to replace Raspberry ? How do you configure the Wifi configuration of the board ? How do you communicate with the board from the remote computer ?

    Thanks for your answer,

    Adrien

    • k3a
      November 22nd, 2015 at 21:21 | #13

      RaspberryPi would work but GPIO pins of it are NOT 5V tolerant. You should only apply 3.3V max on them. I use ESP8266 board which is also not 5V tolerant and I’ve made a circuit which does 5V< ->3.3V logic level shifting. Before I share it though, I plan to include the echo-cancellation suggestion from Gus. I have no more time today but I will update it soon and let you know by mail.

  13. Vladimir
    December 8th, 2015 at 20:50 | #14

    These days I’m planning to take some time and try to figure out how to communicate with my stove. First problem I have is that I don’t have DB9 connector at the back of my stove.

    1. I didn’t understand so well, is CN13 on main board serial connector, can I grab pins from there or I must take it from the controller/LCD board?

    2. If I understand correctly, there are no separate pins for Rx and Tx, so I must find some way to “translate” UART /RXD levels… and later HC42, USB-to-TTL based on CP2012… and then I lost focus because I have very poor knowledge about electronics.

    After reading comments here, and comments from italian forum, I have no idea which solution to try, because for each step there are several different solutions and both have pros and cons (echo) so I have no idea what to do.

    Can you please, post more photos of your projects but with more details: how do you connect stove to computer (cables, adapters, level shifters, dc-dc converters…), which software did you use for sending commands (some special or standard Hyper Terminal)… and so on.

    I hope that some of you will find some time to answer to these questions. Thanks in advance.

  14. Gus
    December 11th, 2015 at 05:16 | #15

    @Vladimir
    Vladimir

    1) I have the IO 23 board CN13 should have Ground , I/O (5Volt) , and power ,not sure what the power lead is used for maybe to power the Micronova serial interface and or the Bootloader

    2) They use a 1 wire data transfer, you will need a 2 Wire to 1 Wire interface ,here is a simple and easy to build http://nerdralph.blogspot.ca/2014/01/avr-half-duplex-software-uart.html
    A USB to 5V TTL works

    This should get you started ,with this set up I am able to communicate using Seraminet
    (Micronova software)

    Regards
    Gus

  15. Vladimir
    December 13th, 2015 at 01:24 | #16

    Thanks Gus,

    That’s exactly what I was planning to try. I ordered USB to RS232 adapter based on CP2102, bread-board for easy experimenting with transistors and diodes, jumper wires…

    You said that you are able to use Seraminet with this setup. That means that you dont have echo effect? What specific transistor and diode did you use?

  16. k3a
    December 13th, 2015 at 19:14 | #17

    @Vladimir
    Hey Vladimir. It doesn’t really matter, any general-purpose NPN transistor should work. I used S9014 SMD transistor. Same goes to diode, any generic diode should work.

  17. Vladimir
    December 14th, 2015 at 12:14 | #18

    Thanks. I got some parts today:
    – BC546 transistor
    – 1N4148 diode

    Wish me luck :)

  18. k3a
    December 14th, 2015 at 12:30 | #19

    @Vladimir
    It’s always a bit of trial and error. Transistor should be fin, I am not sure about the diode though. Datasheet for your diode says Vf=1V. If it will be 1V difference in this schematic too it would mean when the CP2102 sets the TX line to 0V, it will be 1V after the diode on the stove’s side. And it may not be low enough to be registered as logic 1 by the stove (see https://cdn.sparkfun.com/assets/6/d/7/7/4/515385fdce395f0905000000.png) especially as there is 500ohm resistor between Atmega in the stove and data pin. I hoped you would get a diode ~0.6 or 0.8V Vf max. You can try it with this diode too. But in the board I made 2 days ago I used a higer voltage zener with Vf=0.9V as I don’t have a normal smd diode and I am suspecting that this is why it doesn’t work (measured around 0.9V on stove data line when TX is on 0V). Will solder a different diode today and let you know if that helped.

  19. Gus
    December 14th, 2015 at 23:08 | #20

    k3a

    Used 1N5817 get the odd error but checksums Ok

  20. Gus
    December 17th, 2015 at 00:38 | #21

    k3a

    on another note I think the Amega 328 (micronova board) is 5 Volt CMOS

    http://www.allaboutcircuits.com/textbook/digital/chpt-3/logic-signal-voltage-levels/

  21. k3a
    December 17th, 2015 at 15:17 | #22

    @Gus
    Yes, you’re right. Atmega is CMOS. In that case 1V forward drop diode should be fine too. My problem was in the software, not the diode. I managed to connect 3.3v (no 5v tolerant) ESP8266 by just adding one zener diode on TX side. I see some short, higher-voltage (~3.7V) spike on RX line after rising edge, this is probably related to the transistor, but does it mean it conducts in reverse (so current going from E to C for a short period)? http://postimg.org/image/jetcp11u5/ It works and it’s roughly in the voltage limit of this chip so I won’t probably try another transistor… I will update the blogpost soon and split it into two posts, so this one will be communication only, the other will be that LCD stuff as it’s not that useful generally.

  22. Gus
    December 17th, 2015 at 19:49 | #23

    k3a

    Excellent ,I have the esp8266 as well with the 5Volt interface trying to use it as a transparent
    bridge but no luck yet . So you are able to communicate with the Micronova board at 3.3V ?
    Which 2Wire/1Wire interface are you using?
    Not sure 100% but if I remember correctly the TXD and RXD pins on the AT328 are connected
    together on the circuit board ,would be possible to cut the trace and bring out the TX and RX on a 2 Wire and avoid all this 1Wire problem

    Regards

  23. k3a
    December 17th, 2015 at 20:10 | #24

    @Gus
    Yes, I am using esp8266 to communicate with the stove. I’ve updated the blogpost with my latest schematic. See the image at 1/4th of the page. It’s the schematic you mentioned with just one zener on txd. I used 3.3v zener but 3.6 or so would be ok too. It works fine, no echo. I don’t know how they did it on the atmega side, never disassembled the stove to access the majn board, maybe they just used one gpio of that atmega, switching between output and input pin mode.

  24. Gus
    December 17th, 2015 at 20:57 | #25

    k3a

    Shot in the dark, maybe the response time of your zener could give you the 3.7Volt overshoot

    Later
    Gus

    PS
    When you update the blog fell free to delete streamline all the non relevant info from my posts ,so the next guy does not need to read the B.S. (Bullshi#)

  25. Vladimir
    December 19th, 2015 at 08:13 | #26

    Sorry for asking stupid questions but I’m trying to figure it out :)

    1. What is voltage of TxRx wire that coming from the stove in idle state? I grab 4 wires from main board serial connector (CN13), and I have GND, +15V, and two +5V wires. Don’t know which one is correct one.

    [IMG]http://i65.tinypic.com/30adtep.jpg[/IMG]

    2. If I use regular multimeter (not scope) can I see changing levels when pressing something on keyboard (when keyboard communicates with main board). I guess that these changes are with high frequency so multimer can’t display it but just asking.

    3. I’ve got new diode, some schottky BAT43 and tried to build 1 wire-2 wire circuit without success. Using Serial Port Monitor for monitoring all traffic across serial port and it looks like I’m sending something but I don’t get anything from the stove. That’s the reason why I’m thinking that I don’t use correct wires…

    Thanks

  26. k3a
    December 19th, 2015 at 14:23 | #27

    @Vladimir
    None are stupid, that’s the way to learn. ;) I am also still learning.
    1) It’s basically 5V. It’s pulled to 5V via a ~35k ohm resistor internally. This is the state of the line when idle or logic 1. On logic 0 it brings down the line near GND to make it lower then lowset voltage level for 5V CMOS. For more info on this topic https://learn.sparkfun.com/tutorials/logic-levels. Your problem may be in the GND. Voltages are always relative, you compare potential between one level and the other. Don’t use stove’s metallic enclosure as GND, while it is grounded to safety, it is not connected with logic GND and there is a few voltage difference. Try to take GND from the mainboard somewhere. If you figure out the CN13 pinout, please let us know, it may help others.
    2) Yes, you are right. Multimeter updates only few times in a second, depending on the type, but usually something like 5 updates per second. Baud rate here is 1200 meaning 1200 changes can happen per second. One change is approximately one bit of data. Approximately because there are two stop bits after every byte. To debug these things you either use a scope or a logic analyser. There are some cheap chinese Saleae clones for $12 which work ok. The difference between this and the scope is that logic analyser often gives you logic values only (1 or 0) and can do the protocol analysis while the scope measures the actual voltages over time so you can see the exact voltage levels.
    3) It’s difficult to say without seeing the traffic. But it’s quite possible your problem is wrong wires. Also ensure that you are setting 1200 baud rate with 2 stop bits, 8 data bits and no parity.

  27. Vladimir
    December 19th, 2015 at 17:33 | #28

    @k3a

    1. Yes, you already wrote about difference between GND (logic reference) and safety earth so I used your photo (LCD/controller back) which shows which pins you used. I turned off the stove, and checked if some of my 4 wires (from serial connector) is short conected to some of yours pins on LCD/controller board.

    http://i64.tinypic.com/2v3osoo.jpg

    Marked pin on photo is direct connected to one of 4 pins on serial connector. I assumed that it is ground. A connected black contact of multimeter to that wire, and measure reamining 3 wires, and all voltages are positive, so I’m pretty sure that it is GND. I must figure out which of these remaining wires are power supply for Micronova “Serial interface” and which is TxRx. :)

    3. Yes, at the beginning I configured COM port with that settings. Also, I tried to communicate with stove using SeramiNet, but although I installed english version of application, plenty of options are still in itallian so I don’t know what I can to click but to avoid making some problem. I selected com port, configure baud rate and everything else and at the bottom of the application seems like it’s connected but I don’t know how to test :)

    Back to the laborotory :)
    Thanks for help

  28. k3a
    December 19th, 2015 at 21:46 | #29

    @Vladimir
    1. That gnd should be ok, yes. You can also measure the voltage on the lcd back to verify. I commented that back for you here http://postimg.org/image/a8jeval71/
    3. You can use RealTerm for windows http://sourceforge.net/projects/realterm/ and set Display as Hex, configure the port and send two bytes 0x00 0x01, stove should respond with 2 bytes if it works. For SeramiNet, you select the port and click Open or something like that. Then the best way of testing it is opening EEPROM or RAM memory page. It will scan various addresses and read values. If it is reading 0xFF it doesn’t work. If it works you will see some numbers there.

    Hope it helped.

  29. k3a
    December 19th, 2015 at 21:57 | #30

    @Vladimir
    Oh and also if your multimeter can measure resistance you can turn the stove off and measure resistance between what is marked as IR pin and all the CN13 pins. There is ~500 ohm resistance between IR and RxTx, it’s almodt the same line. Higer resistance (kohms) means it’s not the pin you want.

  30. Vladimir
    December 19th, 2015 at 22:44 | #31

    @k3a

    I think we made some progress :)
    http://postimg.org/image/5hyki5ik9/

    Many thanks again. I will experiment tomorrow so I will send report what I’ve done.

    • k3a
      December 20th, 2015 at 13:51 | #32

      Looks like it works for you. This is what I meant by viewing memories. It automatically refreshes all parameters 0x00 – 0x7F. http://postimg.org/image/rekq4au8h/ I’ve been recording this screen on video and then watching parameters change during all common stove phases to get the params I needed. I found all params I need this way but of course someone can plot these variables in chart to better understand all of them. Maybe even seraminet can plot them somehow but I don’t know how. It seems they have some file with mapping which you would load into seraminet and it would define which parameter is located on which address. This doesn’t seem to be public so we have to find the addresses ourselves. You can use addresses I mentioned in the post, they may be the same for you, or at least some of them.

  31. Vladimir
    December 20th, 2015 at 23:19 | #33

    Yes, I opened that table, and you are right, it refreshes values every 2-3 seconds and I already recognized some values thanks to your instructions but, as you can see on screenshot, at the bottom of the application some communication error appears.

    http://s23.postimg.org/8dn6gopff/RWMS_error.png

    I guess this isn’t good?

  32. k3a
    December 21st, 2015 at 00:38 | #34

    @Vladimir
    Hmm, it isn’t good. It sent 00 14 trying to read value at address 14 and received 15 02. It should have been 15 01 or 16 02. So maybe one bit was missed or added somewhere. Maybe a different transistor would work better, who knows, hard to say without a scope. :( Overall it appears to work though. So in reality it may be no big deal if sometimes some commamd fails. You can repeat. Depenig om your requirements.

    What is the CN13 pinout btw please?

  33. December 21st, 2015 at 16:22 | #35

    Hello, i find you have Great ideas..
    My pelletstove is a extraflame bella
    With a micronova motherboard..
    The controlpanel is an Old LED and
    If possibel i wana change it to the
    Same like you use…
    If i Start my stove, its showing
    Programm 40
    User
    Time
    I want to make an update, is it
    Possibel over the DB9 ???
    And dies it give an direkt adapter
    From the stove DB9 to the PC rs232
    To buy???
    Best regards
    Lui

  34. Vladimir
    December 21st, 2015 at 23:20 | #36

    @k3a

    I will try with different transistor, who knows what is the problem. I was watching and analyzing and this error appears once in a 2-3 minutes. I hope it’s not big deal as you said. :)

    Guy from italian forum who post “crazy schematics with optocaplers…” was right with his pinout of serial connector. :)
    http://s23.postimg.org/pjjsonbfv/Konektor.png

    This is pinout which I use
    http://s11.postimg.org/xrqk32d5v/Konektor2.png

    On second screenshot I marked two pins which are required for communication. Other two are probably for powering “official micronova serial interface”.

    I tried to communicate with stove using third party applications (RealTerm, SerialPortMonitor, Putty…) but I don’t get any response from stove. I configured serial port (1200,N,8,2) and send commands as strings. Am I doing something wrong?

    Can you send a few more examples of commands and what should be response from stove? Thanks

    • k3a
      December 23rd, 2015 at 08:44 | #37

      Make sure not use the port in another app. Then RealTerm requires reopening the port after changing connection params, make sure to press some button (don’t know the button name by heart). Then send commands as hex numbers (or other numbers but you are sending binary bytes not a string). So something like 0x00 0x01 would instruct the stove to read value at addresss 1 and will report something like 0x23 0x22. Checksum will be +1 because there is only 1 in the sum of the request bytes. You can configure RealTerm to display hexnumbers, maybe even decimal. This command is the simplest and you can change the second byte to read different addresses e.g. 0x00 0x0A to read byte at address 10 (0x0A in hex). In the blogpost there is also command to power on the stove by writing some value. I will also add command to change stove power setting. It works the same way just writes into a different memory. Is it working? If not I will make some screenshots but I am away from my house for a week.

  35. Vladimir
    December 25th, 2015 at 07:36 | #38

    @k3a

    Hello,

    I have to commend that with your help I managed to communicate with my stove. The point was sending HEX command while I’m obviously out of experience, kept sending commands in ASCII format that stove ignored.

    I was successfully read some of the “mapped” values, and I was able to light the stove with command which is extra. What I planned is to try to figure out in which addresses are defined time of switching on and off in the chrono mode, as well as the parameters of the snail and fan. After that, I will try to write software for microcontroller (arduino) which would send the commands, and as a frontend would presumably used Blynk platform for Android, because I would say that it seems a lot easier for creating a functional interface rather than a web server and a responsive page …

    I’m happy. Thanks so much for helping :) I will inform about my progress. :)

  36. Gus
    December 26th, 2015 at 15:37 | #39

    Very good you guys -35C at the moment I am not playing with stove :)

  37. Vladimir
    December 26th, 2015 at 22:26 | #40

    @Gus

    Where are you from Gus? In Serbia is pretty hot for this time of year, average daily temperature is around +5C. Last year in december was a lot colder. Global warming I guess. :)

  38. Gus
    December 27th, 2015 at 01:16 | #41
  39. doppiaemme
    December 27th, 2015 at 12:44 | #42

    Hi, I’ve been following this thread for a while but the board I have seems a different model then all the ones I’ve seen mentioned.
    Mine is a pellet boiler (not a stove), model is MCZ Logika and the board inside says N050.
    It all seems it’s a Micronova one (the components used, the labels etc) but I’m not 100% sure.
    The only reference which lead me to think it’s a Micronova is the wiring diagram of the boiler, where the serial connector is marked as “SERAMI”.
    My need is quite basic indeed, I want to check whether the boiler is not in error status mainly. It happened a few times the pellet wasn’t loading properly from the external tank and the boiler went into protection mode. Of course it happened during the night and I realized that only when it was already freezing my ears off.
    Well it would be great to control/set the temperature etc.
    Do you think it would be just a matter of different EEPROM addresses/values?
    thanks

    • k3a
      December 31st, 2015 at 13:12 | #43

      It’s hard to say. You can see how Micronova boards look like in google images (https://www.google.cz/search?q=micronova+stufe+scheda&tbm=isch). If you see a 4 pin CN13 connector it may be it. You can use a multimeter and measure voltages on these pins relative to a GND on the board. If it is a Micronova board with a serial connector, it almost surely will be possible to control it the described way.

  40. JLC
    January 7th, 2016 at 22:33 | #44

    Hi,
    i’ve got a stove which trademark is Superior.
    It has got a DB9 connector backside.
    I plugged in DB9 and communicated with it.
    Code to start is okay, but I met problems to stop it.

    When I send 0 to 0x21 (state), stove stops but without cleaning. It may be dangerous.
    When I send 5 to 0x21 (state), stove may start cleaning indefinitely without stopping.

    Does anyone know what procedure to apply to stop correctly the stove please ?

    Thank you for your site and all your information.

  41. JLC
    January 8th, 2016 at 08:59 | #45

    Hi,
    My pelletstove is a Superior.
    I use its DB9 to send commands as described here.
    I can switch on and off my stove ! :-)
    But I met problems with stopping the stove.
    Writing 0 to 0x21 stops the stove without cleaning.
    Writing 5 to 0x21 starts cleaning but without stopping the stove… don’t know why…

    Have you met such a problem ?

    Could you please tell me the command sequence to write to 0x21 to stop correctly the stove ? Or explain why it is not as simple to stop it (do I have to launch cleaning during a while, then have to send the stop command by myself ?).

    Thank you for your help.

    Regards,
    thank you for sharing all those informations.

  42. JLC
    January 8th, 2016 at 09:00 | #46

    @JLC
    Sorry for the double Question, I did not see my previous question (thinking it had not been taken).

  43. Vladimir
    January 9th, 2016 at 09:00 | #47

    @JLC

    In my case, when I write 0 to 0x21, my stove automatically switch to “cleaning final” mode (not instantly OFF). At first test I thought I have identical problem because after 10 minutes stove was still in “cleaning mode” but it turned out that it takes a little longer for stove to turn off when use command relative to using power button on LCD/controller.

    Same as you, if I write 5 to 0x21, stove stay in cleaning mode permanently.

    Commands I use for turning on and off:
    Turning ON 80 21 01 A2
    Turning OFF 80 21 00 A1

  44. JLC
    January 12th, 2016 at 07:34 | #48

    @Vladimir
    Hi,
    Thank you for your help.
    I’ll try those commands.
    I will come back to give my return.

  45. JLC
    January 12th, 2016 at 23:12 | #49

    Hi,
    I’ve made some tests :
    I switched on the stove by my self pushing its on button. Stove has worked for 3 hours.
    I tried to stop it using some commands :
    – First : I sent OFF command : 80 21 00 A1. Stove stopped, pellets stopped falling, but pellets that were in the brasero continued to burn. Cleaning procedure did not start.
    – Then I sent cleaning command : 80 21 05 A6. Cleaning procedure started, and reading stove state returned 5 code. BUT, pellets restarted to fall and stove as well. Reading stove state returned then 4 code : stove is working… !
    – Then I sent this cleaning command : 80 21 06 A7 (code 06). Cleaning procedure started without stopping itself. I’v been waiting for 30 minutes… then I stopped by my self sending OFF command.

    I’ll try new tests.

  46. k3a
    January 13th, 2016 at 01:57 | #50

    @JLC
    Maybe you are sending cleaning firepot instead of cleaning final? Can you watch states during a standard manual power off? Maybe your stove uses different codes.

  47. Vladimir
    January 13th, 2016 at 03:51 | #51

    I can’t figure out how to read error codes. That’s last thing I want to be able to read, before I start writing my arduino code.

    http://s1.postimg.org/d6mfcqcdb/DSC_0382.jpg

    In my instruction manual I have list of alarms so I assumed that last character (1-9, A, B) is reference of error code but after days of testing and simulating, I didn’t manage to find out on which memory locations is stored information about alarm. Maybe it’s not just value, maybe there is some math… Here is the list:

    AL1 – Blackout
    AL2 – Smoke probe
    AL3 – Hot fumes
    AL4 – Smoke ventilator broken
    AL5 – No fire
    AL6 – No pellet
    AL7 – Thermostat 100 C
    AL8 – Pressostat
    AL9 – Water probe
    ALA – Hot water
    ALB – Water pression

    What do you suggest?

  48. JLC
    January 13th, 2016 at 08:32 | #52

    @Vladimir
    Hi,

    have you searched both in RAM and EEPROM (EEPROM addresses are in 0x20) ?
    Alarms need to be stored also in EEPROM to be displayed (at least known) when stove is restarted. May be your stove stores only alarm flags in EEPROM ?

  49. JLC
    January 13th, 2016 at 08:37 | #53

    @Vladimir
    Maybe alarm flags are bit coded, for example :
    – AL1 is bit 0 of BYTE X
    – AL2 is bit 1 of BYTE X
    – AL3 is bit 2 of BYTE X
    – AL4 is bit 3 of BYTE X
    – …

    – AL9 is bit 0 of BYTE Y
    – ALA is bit 1 of BYTE Y
    – ALB is bit 2 of BYTE Y

    In this case, only a few bytes would store alarm states.

  50. JLC
    January 13th, 2016 at 10:02 | #54

    @k3a
    This morning I ran my stove by its ON OFF button, and let it work for a while.
    Then I launched stop procedure by its ON OFF button. I read stove state : 6.

    When stove had totally stopped, I started it again using ON Frame.
    I read states till stove code was 4 (work).

    Then I tried to stop it sending code 6 : 80 21 06 A7
    Pellets stopped falling, cleaning procedure began…
    But it is still running permanently… (I stopped procedure after 20 minutes).

    Except 3 first states (0, 1, 2), it seems next states don’t relay each other by themselves…

  51. Vladimir
    January 13th, 2016 at 21:17 | #55

    @JLC
    No, I’ve searched only RAM but you are right, I will check EEPROM. Thanks. :)

  52. JLC
    January 16th, 2016 at 23:41 | #56

    Hi,
    I wrote a C# program to view memory data from stove RAM and EEPROM memory.
    It changes color data on screen when data is new, to detect easier where are searched informations.

    If any interested, I can share it.
    http://s30.postimg.org/klv41w475/Analyzer_JLC.jpg

  53. Vladimir
    January 17th, 2016 at 03:14 | #57

    @JLC
    Wow, great. I’m interested. :)

  54. Mpp
    January 17th, 2016 at 16:22 | #58

    Can anyone provider me the lirc config for the infrared remote above? I don’t know how to convert the audacity config to lircd data.

  55. JLC
    January 17th, 2016 at 22:57 | #59

    Hi,
    here’s the program : http://dl.free.fr/w85ruHVHM

    Data is stored in list view too for each byte in order to see how data is changing.

    You may need .Net Framework 4.0 (usually already installed on windows machine) :
    https://msdn.microsoft.com/fr-fr/library/5a4x27ek%28v=vs.100%29.aspx

    Share it :-)

  56. JLC
    January 18th, 2016 at 23:08 | #60

    Hi every body,
    I’ve just discovered my CLEO SUPERIOR stove may have a planned obsolescence !!!
    And maybe yours too…?

    I was searching for setup data hidden in eeprom…
    Scanning all 256 bytes in eeprom, I found out a byte that changed every minutes !
    In fact, date is stored in EEPROM from $F9 to $FD…

    Well, an EEPROM memory can be written 1 000 000 times, so 1 000 000 minutes…
    1 000 000 / 60 / 24 / 365 = 1.9 year !
    So if data is really stored in EEPROM, in less than 2 years, the EEPROM circuit will lose its memory !!!

    I hope I’m wrong !

  57. JLC
    January 18th, 2016 at 23:25 | #61

    Here are some CLEO SUPERIOR EEPROM addresses :
    Addresses (hexa)

    Program 1 :
    50 – ON(1)/OFF(0)
    51 – Hour:Minute switch on
    52 – Hour:Minute switch off
    53 – Power
    54 – Programmed Temperature

    Program 2 :
    55 – ON(1)/OFF(0)
    56 – Hour:Minute switch on
    57 – Hour:Minute switch off
    58 – Power
    59 – Programmed Temperature

    WARNING : Hour:Minute is coded on 1 byte using this formula : Byte = 6xHour + Minute/10
    Example : 7h30 => Byte = 6×7 + 30/10 = 42 + 3 = 45 (2D in hexa)

    Time in EEPROM Map (BCD coding) :
    F9 – Hour
    FA – Minute
    FB – Day
    FC – Month
    FD – Year

  58. JLC
    January 18th, 2016 at 23:28 | #62

    @Vladimir
    Hi Vladimir,
    I posted link to C# program. You may not see it yet, it is awaiting moderation.

  59. JLC
    January 19th, 2016 at 11:00 | #63

    Hi,

    I finished exploring my CLEO SUPERIOR (Micronova CS 03 03 10), I got enough information to develop my interface (microchip + ESP8266).

    What I discovered those last days makes me think memory map we access through serial port is not as simple as one side RAM and one side EEPROM.

    In fact, there’s a microcontroller on my stove PCB (ATMEGA644) and only one timekeeper (HT1381) : there is no more eeprom/flash CI. So microcontroller program does whatever it wants when serial requests come to it : it makes its own memory map. That ‘s what I discovered when I looked at EEPROM side : I found out too many values changing for an EEPROM.

    Bottom EEPROM memory is in reality a direct access to timekeeper, that is the reason why values changed…
    And that is only one example, other values changed too but I did not understand their meaning.

    Futhermore, memory EEPROM goes from $00 to $1FF. Second page ($100 to $1FF) is made of FF values, except last bytes which are again timekeeper mapping (it is accessed through $F8 to $FD, and $1F8 to $1FD too). So it confirmed what I thought : microntroller has its own “serial” memory map which it mades of a mixed RAM and EEPROM.

    When you have a look at ATMEGA644 datasheet, flash and eeprom memory are 10K and 100K erase/write cycles. What I wrote in previous Comment is now obviously wrong : data from EEPROM are not modified every seconds or minutes, otherwise SUPERIOR CLEO would be known as a problem stove !!!

    Main problem I faced to in my exploring experience was to stop “safely” my stove.
    Writing 6 to 0x21 (RAM) was hazardous for me : my stove may have stopped once or twice by itself but after an anormal long fan period. Obviously, that way to stop it was not the same as the safe manufacturer procedure (which fan procedure is really shorter).

    So I decided to write stop time in “EEPROM” instead of writing 6 to 0x21.
    For this, I need to read timekeeper, calculate hour:minute byte (=6xHour+Minute/10) and write it to Program 1 ou 2 in eeprom (0x52 or 0x57. This way, the stove will stop using a better way). That’s what will do my microchip interfacing ESP8266 with stove serial DB9.

    Thanks a lot for your site and your answers that I helped me a lot to dive into my stove.
    I hope my (too many ;-) ) comments and my stove serial tool will help you too.

    Have a good day.

  60. Vladimir
    January 20th, 2016 at 23:52 | #64

    JLC :
    @Vladimir
    Hi Vladimir,
    I posted link to C# program. You may not see it yet, it is awaiting moderation.

    Thanks man. Great job.

    You’ve done great research about EEPROM memory locations with chrono values and I hope we will together figure out how to “decode” Factory settings in EEPROM. Factory settings are protected with password on my stove, so I guess it’s not easy to read values.

  61. JLC
    January 22nd, 2016 at 13:19 | #65

    @Vladimir
    Thanks.

    The C# program may be useful to found out the EEPROM value meanings.

    I recognized OnOff chrono (P1 and P2) setup values this way :
    1/ I read once all EEPROM memory
    2/ I changed stove setup manually
    3/ I read once again (without erasing previous values) all EEPROM memory : data changing to red means values had changed from previous read.
    4/ I read once again : red data changing to green means value is the same that previous read, so it may be the memory address of the stove setup you changed at point 2.

    Have a good day

  62. Vladimir
    January 24th, 2016 at 11:59 | #66

    Today I finally get some time to test your application. I believe that app is OK but seems like I have communication problems so I’m not able to read all memory locations. Sometimes program read only few positions, sometimes 2 or 3 complete rows, when Times Stove error appears, and application stop responding.

    http://s12.postimg.org/7407cgs3x/error.png

    As I said in some of previous posts, I was able to read plenty of values using Seraminet software, but at the bottom of the screen it shows some RWMS error.

    http://s2.postimg.org/u6jze0kix/error2.png

    It’s obvious that I must change something on my 1wire-2wire interface because I suspect that is the reason for these communication issues.

  63. JLC
    January 24th, 2016 at 21:11 | #67

    @Vladimir
    TimeOut stove appears when a request (a frame) is sent to the stove and the stove does not answer. You have to click ok to let it keep on.
    I met those problems while testing when I tried to access addresses the stove did not use.

    So it may mean the stove does not know this address, or this address is write only.

  64. trgdev
    January 24th, 2016 at 22:46 | #68

    JLC and Vladimir, regarding your stove off problems, maybe you could try something else.

    After reading what k3a found out (that the IR and serial path are shared) I tried to decode the IR codes as a 1200 8N2 uart transmission and got the following commands :

    80 58 54 2c : P+
    80 58 50 28 : P-
    80 58 52 2A : T+
    80 58 58 30 : T-
    80 58 5a 32 : PWR TURN ON/OFF ?

    When sending this commands via uart you are basically emulating the IR remote (actually, it’s the IR remote that is sending IR codes that emulate the serial protocol, but you get the meaning).
    I quickly tried the power increase/decrease commands and it seems to work. I didn’t have the chance to test the TURN ON sequence, hopefully I’ll be able to in the next few days.

    By sending a repeated sequence of 80 58 5a 32 it should be possible to emulate a long press of the power button on the IR remote to turn the stove off (4 bytes at 1200/8N2 is roughly 36.6 ms, so send the commands 54 times to simulate pressing the button for ~2 seconds).

    Hope this helps.

    • k3a
      January 24th, 2016 at 22:50 | #69

      That’s a good idea! :)

  65. JLC
    January 25th, 2016 at 07:46 | #70

    Brillant idea !

    I’ve just tried codes you wrote : it works fine !

    Sending one frame (through 1 file) changed values, and Receving IR LED lit on the stove display.

    With my stove, P+ and P- codes are reversed :
    80 58 50 28 : P+
    80 58 54 2c : P-

    Temperature’s codes are ok :
    80 58 52 2A : T+
    80 58 58 30 : T-

    Power : sending one frame once does not start the stove. But Receiving IR LED on display lights !

    So I used RealTerm to send the binary file composed of PWR TURN ON/OFF codes (80 58 5a 32) many times. First it did not work. So I inserted 100ms pause time bewteen each frame, and it works great !!!

    So on my stove, I sent 8 PWR frames with 100ms pause time between each of them for simulating LONG POWER BUTTON PRESS.

    THANKS A LOT !!!
    I had never thought to read IR part before… Shame on me !!!

    Have a good day.

  66. trgdev
    January 25th, 2016 at 08:25 | #71

    That’s cool, glad it works! ;)

    I was still playing with the stove yesterday night (I have connected a TL-WR703N router to it so that I can ssh and talk to the stove in remote) and I found out that in my Micronova IO23 the display text is also present in ram (0x10 bytes at address 0x85).

    This is useful both to differentiate among the different phases that the stove goes thru when turning on (preheating, loading pellet, etc.) but could also be used to detect an ALARM condition.

    This is a log of this morning activity when my girlfriend was getting ready to go to work and the stove turned on. Sorry for the long (and italian) text ;)

    00:01:21
    Stove State : 0
    Display : SPENTO

    05:28:11
    Stove State : 1
    Display : ACCENDE

    05:28:25
    Stove State : 2
    Display : ATTESA PRERISC-

    05:31:6
    Stove State : 2
    Display : CARICA PELLET

    05:33:55
    Stove State : 2
    Display : CARICA FIAMMA

    05:33:57
    Stove State : 2
    Display : ATTESA FIAMMA

    05:37:27
    Stove State : 2
    Display : ATTESA FIAMMATE

    05:37:29
    Stove State : 3
    Display : FUOCO PRESENTE

    05:41:53
    Stove State : 3
    Display : FAVORO

    05:41:55
    Stove State : 4
    Display : LAVORO

    [snip]

    06:42:33
    Stove State : 4
    Display : LAVORO

    06:57:14
    Stove State : 4
    Display : LAVORIA BRACIERE

    06:57:17
    Stove State : 5
    Display : PULIZIA BRACIERE

    06:57:35
    Stove State : 5
    Display : PULIRO

    06:57:37
    Stove State : 4
    Display : LAVORO

    07:3:20
    Stove State : 4
    Display : LAVORO NALE

    07:3:22
    Stove State : 6
    Display : PULIZIA FINALE

    07:19:22
    Stove State : 0
    Display : SPENTO

    As you can see the text changes in ram seem to take some time to update (and strangely are updated in reverse order) so when reading the text it’s probably better to read it twice and make sure that both readings are the same.
    If someone has an idea on how to simulate an alarm condition easily, I could probably make some tests on the field this afternoon.

  67. Vladimir
    January 25th, 2016 at 10:20 | #72

    Step 1. I think it’s the easiest way to simulate alarm condition to wait to burn all pellet from stoves storage. When the flame goes out and when the exhaust temperature drops below 40 (I think) alarm “No pellet” will display. Try to locate value in memory. I’ve searched only RAM without success but later JLC advice me that alarms need to be stored also in EEPROM to be displayed when stove is restarted, but I didn’t have time to experiment.

    Step 2. Without adding pellet to stove, start cleaning final. When stove turn off completely, start it again. Because there is no pellet in stove, after initial loading and lighting up, after few minutes, exhaust temperature will not rise, photo element will not detect the flame so “No lightining/fire” will display. Try to locate this value and to compare it with value of previous alarm…

    Step 3. If you turn off the stove unplugging it (simulating power loss) after 30 minutes (default value on my stove) “Blackout alarm” will display. Try to locate this value and to compare it with value of previous alarm…

    I think that simulating other alarms is not so simple.

    Again, this is list of alarms from my instructions:

    AL1 – Blackout
    AL2 – Smoke probe
    AL3 – Hot fumes
    AL4 – Smoke ventilator broken
    AL5 – No fire
    AL6 – No pellet
    AL7 – Thermostat 100 C
    AL8 – Pressostat
    AL9 – Water probe
    ALA – Hot water
    ALB – Water pression

  68. Vladimir
    January 25th, 2016 at 10:52 | #73

    Also I analyze EEPROM values last night, and locate some of factory settings which are, as I said password protected.

    0x05 Coclea power 1 (hex -> decimal value, divide with 10 to get time in seconds with 1 decimal)
    0x06 Coclea power 2
    0x07 Coclea power 3
    0x08 Coclea power 4
    0x09 Coclea power 5

    0x11 Exhaust engine on power 1 (hex -> decimal value, add 25, result multiply with 10 to get rpm of exhaust engine)
    0x12 Exhaust engine on power 2
    0x13 Exhaust engine on power 3
    0x14 Exhaust engine on power 4
    0x15 Exhaust engine on power 5

  69. JLC
    January 25th, 2016 at 22:29 | #74

    @trgdev
    On superior stove, display message is stored from 0xD5 to 0xF0 in RAM. Displayed numerical values are stored in binary, other values in ascii.
    Example : message 19° ENS P1
    0xD5 : 0x01
    0xD6 : 0x09
    0xD7 : 0xDE
    0xD8 : 0x20 space
    0xD9 : ‘E’
    0xDA : ‘N’
    0xDB : ‘S’
    0xDC : 0x20 space
    0xDD : ‘P’
    0xDE : 0x01
    0xDF : 0x20 space
    0xE0 : 0x20 space

  70. JLC
    January 25th, 2016 at 22:31 | #75

    correction : message is stored from 0xD5 to 0xE0 !

  71. trgdev
    January 25th, 2016 at 23:04 | #76

    I finally was able to convince the rightful owner to make me do some tests on the stove and waited for it to burn all the pellets while logging state and display, ready to examine ram and eeprom.

    In my model (Palladio Scozia with Micronova IO23) the “no pellet” error sends the stove to state 8 while the display cycles between the two messages “ALLARME ATTIVO” and “MANCANO PELLET” (meaning “ALARM IS ON” and “NO PELLET”).
    I don’t know if other alarms put the stove in a different state, but in my case this can always be detected by reading the display text.
    Sending 16 PWR frames / 100ms delay starts the final cleaning cycle and the stove then turns off.

    Vladimir : what is the model of your Micronova control board? I assume you should be able to find some kind of ascii text in ram to detect the error state.

  72. trgdev
    January 25th, 2016 at 23:09 | #77

    @JLC

    That’s the most stupid way of storing text that I have ever seen :D
    Can’t think of a reason why they decided to do it that way…

  73. Vladimir
    January 26th, 2016 at 05:43 | #78

    trgdev :
    Vladimir : what is the model of your Micronova control board? I assume you should be able to find some kind of ascii text in ram to detect the error state.

    I also have board Micronova I023, and as yours, my stove also go to state 8 when “No pellet” error appears. I didn’t check whether the stove always go to state 8 no matter what alarm is triggered but it’s great that you explained how to read text from display so I tried and I’ve successfully read text as ascii… Thanks.

  74. trgdev
    January 27th, 2016 at 00:28 | #79

    I decided to simulate a pressostat error today by temporarly blocking the fumes exhaust pipe.
    The stove shut down immediatly with an alarm code AL8 while the stove state changed to 8 (same as the no pellet error).
    I think it’s safe to assume that state 8 is an error state and if needed it’s still possible to differentiate among the different error codes by reading the display text.

    For the moment being I have all the info that I need and I finally was able to set up an email alert on my phone to detect any error conditions if no one is home.

    Big thanks to everyone for their input and a special mention to our host k3a for the uart/IR reverse engineering and for this space where we can share our discoveries ;)

  75. Gus
    January 31st, 2016 at 00:56 | #80

    @trgdev

    What serial interface are you using ? I am getting the odd error with the simple one transistor interface .

    Regards
    Gus

  76. trgdev
    February 5th, 2016 at 13:42 | #81

    @Gus
    I made a quick level translator with a couple of npn transistors that I had available (2n3904, but any npn should work).

    It was something like this : http://imgur.com/VUz3Q3F

    Stove : 5v, GND and DATA
    Microcontroller / PC with USB-TTL uart adapter : TXD, RXD, GND

    R4/R5 were initially chosen to interface to a 2.5V uart, that’s why they form a 1:2 divider. To use it with a 3.3v uart you should probably change R5 to 18k (even though I am currently using this interface with a 3.3v uart and it works fine as it is).

    Note : it does not cancel echos of transmitted bytes, so I don’t think it will work with the official software.

  77. Gus
    February 8th, 2016 at 01:20 | #82

    @trgdev
    Thank very much

  78. Mpp
    February 14th, 2016 at 22:33 | #83

    Can anyone translate the infrared codes so I can use them on a Raspberry Pi?
    Or record the signal using lirc or a logitech harmony?

  79. k3a
    February 15th, 2016 at 04:16 | #84

    @Mpp
    Something like this may work. Let me know if it works https://paste.k3a.me/view/1c8d6771 I can’t test as I am on vacation. :)

  80. Tok-Ra
    February 22nd, 2016 at 00:15 | #85

    Hello k3a !
    I have test the Lirc code and it not working.
    I want to simulate the the ir controller with my smartphone (using irplus (lirc library)) but i got an error (non-positive ir slice). I want also control my micronova board with an arduino and ir emitter because i think connect the serial is to complicated for me. Thanks.

  81. Mpp
    February 27th, 2016 at 07:41 | #86

    Thanks a million!

    It’s not yet working but I got the ir receiver led on the stove to lit up :-)

    I had to add gap, ptrail and repeat to do so but I don’t know the values.

    See https://github.com/MPParsley/lirc/blob/master/micronova.conf

  82. Mpp
    February 27th, 2016 at 07:59 | #87

    PS: I wanted to buy this one but unfortunately they don’t ship to Belgium.

  83. Mpp
  84. Jocelyne
    March 4th, 2016 at 13:38 | #89

    Could someone help me please? After leaving my stove superior cleo run for too long without having it cleaned out, it started asking for a service: message « service ». The service has been done but I do not know how to clear this service message. As long as it is not cleared, the stove is in a « security mode » and doesn’t burn the pellets properly. I have tried taking the battery out of the card but it still keeps in memory the security mode. Those someone either have the code to « reset alarm » or know how to clear the memory directly on the card ?

  85. b.g veenstra
    March 5th, 2016 at 14:30 | #90

    hello i have a pelletstove davinci 14 kw aqua with a micro nova i050 controlboard i want to swith te palletstove on/off with a room termostate over IR i have a arduino UNO and a IR LED
    ho wants to write a scketch for me i am not so handy with programing the arduino

    sorry for my bad engels

  86. Mpp
    March 11th, 2016 at 12:33 | #91

    Mr Veenstra,

    Do you have a remote, if so which one is it?

  87. Vvuksa
    May 18th, 2016 at 16:25 | #92

    Guys,

    First of all thanks for all great work. I really appreciate it.

    I think that state 8 is ALARM state in internal state machine. Single alarms should be coded in RAM on 0x33 (eight of them, per bit) and 0x34 (lower 3 bits for remaining 3 alarms).

    Good luck,
    Vvuksa

  88. June 22nd, 2016 at 10:17 | #93

    Still looking for a solution for recording a lirc file.

    Instead of using the Raspberry Pi I’ll be using the Arduino Uno rev 3 with the following setup
    https://learn.adafruit.com/using-an-infrared-library/sending-ir-codes

  89. August 6th, 2016 at 15:25 | #94

    If Moses won’t go to the mountain…

    I ended up buying an Arduino UNO and the codes are working perfectly!

  90. August 6th, 2016 at 16:46 | #95

    All codes work except for the water temperature up:
    l up 11111111 00011110 01010011 01101010 01101010 11000000
    0xFF 0x1E 0x53 0x6A 0x7A 0xC0

    Could it be that the reading is a bit off?

  91. k3a
    August 6th, 2016 at 16:50 | #96

    @Mpp
    Hmm, maybe, I will check that when I return home (in five days). Thanks for letting me know.

  92. August 6th, 2016 at 18:38 | #97

    Thanks! Only took me half a year to get it working, I can wait some more days :-)

    That said, it only took me an hour or so on the Arduino, should have bought one sooner.. If I have some more time I’ll try connecting it through the serial port.

    For reference, the Lirc config can be found here (note that the power up won’t work – yet): https://github.com/MPParsley/lirc/blob/master/micronova.conf

    PS: If the IR commands are the same as the serial commands, wouldn’t it be possible to send an IR command that emulates the “Menu” button on the display?

    Kind regards.

  93. August 6th, 2016 at 18:50 | #98

    Ah, I found it: your conversion from binary to hex is wrong:

    01101010 01101010 would be 0x6A 0x6A, not 0x6A 0x7A

    I’ll update the lirc config

    Couldn’t wait, sorry :-)

  94. k3a
    August 6th, 2016 at 19:40 | #99

    @Mpp
    Good spot, you’re right. As for serial comm – it is primarily used for getting and setting memory data, not interacting with the UI. There may be more UI commands like those used by the remote but the only reference we have is the remote. Eventually you can try sending remote-like IR codes with these two data bytes random. But the serial comm will allow you set power level directly for example or read current temperatures and fan speed. Truth is serial comm amd IR uses the same path. So you probably can even send serial commands via IR but you won’t be able to read response via IR. :)

  95. CDromke
    August 23rd, 2016 at 22:41 | #100

    K3 tnx 1k!!

    I’ve a Alfa Plam Commo (micronova l023 / i023)

    I spend many hours to let Seraminet work (read eeprom failures), but it doesn’t while RealTerm works fine!!

    I’ve used a yl-7 TTL – serial MAX (3)232 break out (a few dollars)

    https://s19.postimg.org/l5ksw89o3/image.jpg

    Schema:

    https://s19.postimg.org/v6pn5jmr7/image.jpg

    And did the diode modificaties:

    https://s19.postimg.org/6nnlo8icz/image.jpg

    From this original:

    https://s19.postimg.org/yeypwbyer/image.gif

    I write a program in Python to:

    – Transfer DEC to BCD
    – sync time from PC to the stove automaticly (summer -> wintertime and vica versa)
    – set values for temperature, water, power, clock, power on/of etc.
    – read values from Eeprom an Ram and show differences

  96. Klaus
    October 20th, 2016 at 21:12 | #101

    Hi all

    Thanks for all Informations here !!! :-)
    my pelletheater is the extraflame melinda steel air .
    since today, i have it for my hobby office.
    my way this serial solution to realsize is(add to my Homeautomation):
    esp8266(mqtt,openhab) – max3232/diode- Melinda

    My house pelletheater is a haas+sohn catania , i’added with esp8266 to openhab(with mqtt) , too.
    There was easy , esp8266 make a gsm emulation in the firmware for the pelletheater and emulate a sms , the pelletheater read it, thats all.

    best regards
    Klaus

    • k3a
      October 20th, 2016 at 22:45 | #102

      I am glad it helped you. :) Enjoy!

  97. Plfos
    October 23rd, 2016 at 17:58 | #103

    Hello,

    I have a new pellet stove, and I can see that it has a Micronova controller, model N100.

    http://www.micronovasrl.com/en/realizzazione/n100/

    I can’t see any DB9 connector at the back of the stove so, which possibilities I have to control remotelly the stove with an arduino?

    Using the connectors from the controller?
    Simulating that I send IR commands with an IR led on front of the LCD panel where the IR receiver is located?
    And finally, how can I power this arduino?

    Thanks a lot!

    • k3a
      October 29th, 2016 at 19:23 | #104

      You will have to use the connector marked DB9 on the board (next to the DISPLAY). There should be all the required pins. Unfortunately I don’t know the pinout of that connector so you will have to figure it out yourself, but it is not that difficult – first try to find ground (it should be possible to follow traces and see where they ends). Once you have ground, use a multimeter to measure voltage between the ground and each pin. Signal pin will be around 5V but be careful, there is one pin with 20V. And that answers your second question – you can use that 20V for powering your Arduino (that was designed to power external accessories) but of course you will need some voltage regulator. Because Arduino is 5V, 20-5=15V difference is quite a big difference so I would use a buck converter (instead of LDO) like this one https://www.aliexpress.com/item/Mini-3A-Adjustable-DC-DC-Buck-Converter-Step-Down-Module-Better-Than-LM2596/32323220570.html (I use exactly that for my interface btw). If you find out the pinout, please let me know, it may help others.

  98. Klaus
    November 22nd, 2016 at 18:20 | #105
  99. Klaus
    November 22nd, 2016 at 18:22 | #106

    Hello

    I made self a serial remote tool for extraflame !
    the yellow marked column is for command there has a Return Value.

    https://postimg.org/gallery/p7px12eu/

    anybody needs this ?

  100. k3a
    November 22nd, 2016 at 18:53 | #107

    @Klaus
    Looks fine. Maybe you can put it on github.com and someone can get inspiration from it or use it.

  101. Laurent T.
    January 15th, 2017 at 16:21 | #108

    @Klaus
    Hi Klaus,
    I’m really interesting to see your work on the Extraflame.
    I own a comfort plus, there is a 4 pins connector that seems to be connected to the serial port on the mother board.
    How can I identify this 4 pins against the DB9 connector ?
    Thanks for your awesome work guys !

  102. CDRomke
    February 7th, 2017 at 11:10 | #109

    In my case (Alfa plam commo 21 (kw) with a micronova L023-3 Hydro) the blower is missing (an option?).

    You can order one by Conrad (570184) and connect it to V2/PO on the Micronova board.

    https://s27.postimg.org/fokztpgyr/blower.jpg

    https://s30.postimg.org/juk7b0n69/conected.jpg

    The setpoint address (in ROM):

    Temperature: 14 (dec) 0E (hex)

    Formule: dec value + 30 = setpoint in Celsius

    https://s23.postimg.org/4nt0mvfvf/setpoint_blower.jpg

    Speed 1 t/m 5: 30 t/m 34 (dec) 1E t/m 22 (hex)

    formule: calculate hex value to dec value * 5 = Voltage

    Example: ROM adres 30 (blower setpoint for power 1), value is 23 -> dec 35. 35 x 5 = 175 Volt

    https://s27.postimg.org/njfoo2i7n/speed1_blow.jpg

    • k3a
      February 7th, 2017 at 11:21 | #110

      Thanks for the great tip! It looks nice. Btw is the cable heat-resistant enough? It looks a bit dark :)

  103. CDRomke
    February 7th, 2017 at 12:42 | #111

    This was the test situation, I ‘ve changed it by a heat resistance silicone wire and I did use copper wire to get it away from the heat exchanger. It works great, no problem for get the room 20 degrees!

  104. CDRomke
    February 8th, 2017 at 23:08 | #112

    Hello Jocelyne #89

    What to do by a “service” Message on Your micronova stove?

    Go to technical settings
    Choice the right key access code for “settings technic” (in my case “a9”)
    Go to “settings general”
    Then “time service”
    Push up de service hours or set it to “OFF”

    https://s27.postimg.org/n57qj8rc3/20170208_224320.jpg

    Or do it by a serial command:

    ROM address for time service = 48 (DEC) 0x30 (HEX)

    Formule: service hours = value * 10 + 260

    Example for change the servicetime to 1000 hours :

    1000-260=740/10=74

    Write [160, 48, 74, 27] (Dec) or

    [0xA0, 0x30, 0x4B, 0x1B] (Bin)

  105. jcarlos
    February 20th, 2017 at 13:24 | #113

    How can you buy this product

    PR012 WiFiMi

    Thanks, my model is a laminox primula

    • k3a
      February 21st, 2017 at 10:57 | #114

      I asked them about the price and they won’t tell me. :/ They sell to redistributors/partners only. In other words they don’t care about end users. Maybe try asking manufacturer/distributor of your stove.

  106. jcarlos
    February 20th, 2017 at 13:41 | #115

    @Mpp
    I have the remote
    http://www.ebay.it/itm/Nuovo-Telecomando-slim-Micronova-standard-Micronova-Extraflame-Evacalor-ecc-/261748721918

    he clonado las pulsaciones con un broadlink rm2.
    pero tengo un problema la tecla de encendido , tiene que estar pulsada 4 segundos
    y no lo he conseguido
    gracias

  107. jcarlos
    February 20th, 2017 at 13:42 | #116

    @jcarlos
    I have cloned the beats with a rm2 broadlink.
    But I have a problem the power key, it has to be pressed 4 seconds
    And i have not got it
    Thank you

  108. jcarlos
    February 20th, 2017 at 13:44 | #117

    jcarlos :
    @jcarlos
    I have cloned the beats with a rm2 broadlink.
    But I have a problem the power key, it has to be pressed 4 seconds
    And i have not got it
    Thank you

    Mpp :
    Mr Veenstra,
    Do you have a remote, if so which one is it?

    I have the remote
    http://www.ebay.it/itm/Nuovo-Telecomando-slim-Micronova-standard-Micronova-Extraflame-Evacalor-ecc-/261748721918
    I have cloned the beats with a rm2 broadlink.
    But I have a problem the power key, it has to be pressed 4 seconds
    And i have not got it
    Thank you

  109. Kris
    February 21st, 2017 at 19:39 | #118

    http://www.micronovasrl.com/en/realizzazione/po069/ This is a ready solution with an app in the stores. Anyone experience with it yet? Where to buy?

  110. Anton
    March 7th, 2017 at 06:51 | #119

    @jcarlos
    You must use the script. Write one command to enable through rm2. Then create a script: one command – 0.1 second delay. Only 8 commands and 7 delays.

  111. Drgos Stefan
    March 13th, 2017 at 14:40 | #120

    Hello

    I myself the same plant ((Alfa Plam commo 21 (kw), a micronova Hydro L023-3)), with which program you connect to it?

  112. CDRomke
    April 10th, 2017 at 09:21 | #121

    On the Alpa Palm Commo the water pressure sensor is missing. Wy? I think, they must by a little bit crazy.

    Device may begin to boil, it can be a bomb by the pressure if there is too little water!

    You buy it on e-bay: Pressure transducer 60 PSI 5 Volt ebay (US $12) (0 – 4 bar)

    See this schedule: https://s27.postimg.org/mjouacvo3/schema.jpg

    https://s7.postimg.org/d2z8v8wqz/pressure_transducer1.jpg
    https://s30.postimg.org/alphaf7z5/20170409_101611.jpg

    The pressure sensor can be switched on or off by technical institutions:

    https://s17.postimg.org/ma3gvze4f/exclud_pressure.jpg

    Next, the threshold can be set:

    https://s29.postimg.org/9yrfu6f9z/threshold.jpg

    You can read it from the RAM address 56 (0x38) (value/10)-1

    https://s27.postimg.org/pipoyd01f/show_pressure.jpg

  113. DragosStefan
    April 11th, 2017 at 12:35 | #122

    @CDRomke

    HELLO

    PLEASE HELP ME

    I tried to connect to Alpa Palm Commo of Seram and it worked.

    Can you help me WIFI can connect to it over the phone?
    They have another program to view the status of the plant?

    Thank you

  114. CDRomke
    April 13th, 2017 at 08:00 | #123

    Hello @Dragos Stefan,

    I connected the Alpa Palm Micronova on this (serial) way:

    https://s27.postimg.org/nnb7nwgkz/Schema.png (Is that like your way for reading Seram?)

    Connect the stove with an ESP 8266 (Wifi) is the next step.

    I’ve written a program in Python for:

    – read RAM/ROM and show differences
    – program the chrono/clock/language/etc on a simple way
    – sync time and date automaticly
    – gives a state update every hour by sending mail
    – gives a state change like start, lighting, work, (finish-) cleaning, (display and by sending a mail)
    – run a autoprogram mode depending on weather conditions (read from openweathermap.org), room temp etc. and run different programs based on totaly points: set power up/down, chrono on/of, start stove early or late etc. automaticly
    – run different program modes manualy
    – send a mail if state condition is on error (out of pellets, black-out, water pressure to low, etc.)
    – for set or test stove settings (power up/down, setpoint ambient up/down, setpoint watertemp up/down, etc)
    – set blower conditions depending on room temperature (set blower of > 18 degr. ) see #109

    It is tested on Raspberry and Windows.

    Status mail Example:

    Stove Time: 08:59:56 13-04-2017
    Stove time in sync: Yes
    Stove time difference with PC time: 0:00:24
    Stove Status: Off

    Power Level: 0 Power Level Setpoint: 5
    Cleaning time: 25
    Ambient Temp: 17.0 Setpoint Ambient: 20.0
    Water Temp: 42 Setpoint Water Temp: 60

    city: Amsterdam,NL last update time: 13-04-2017 08:25:00

    temp: press(mBar): hum(%): windspd(bfr): wind(deg): clouds(%):
    8 1012 87 4.1 300 75

    points: 11.0 program: 2

    Chrono Day Enable: ON

    Start – End Program 1: 05:30 07:30
    Start – End Program 2: 24:00 24:00

    Chrono Week Enable: OFF

    Chrono Week-End Enable: OFF

    K3a can send my E-mail address or I can publish it on Github.

  115. k3a
    April 13th, 2017 at 22:27 | #124

    @CDRomke
    Ideally publish on github and give here a link please. It may help others. I would publish my code but it’s not very nice – it’s just an iterface to set and get RAM/EEPROM data with a very simple html page with status and a few buttons…

  116. DragosStefan
    April 17th, 2017 at 16:59 | #125

    @CDRomke
    Hello,
    Thank menstrual REPLIES
    Yes so I connected myself and communicate with serami, but only command that I know are those on (0x80 0x21 0x01 0xA2) and off (0x80, 0x21, 0x06, 0xA7) do not know to send other commands though I searched ( The temperature of ‘+’ and ‘-‘,. power ‘+’ and ” ” – ” I do not know)
    To see the Alpa Palm Commo can only date, time and minutul.

    For the remaining controls and readings I have not found anything that fits, although seeking more than 7 MONTHS ON THE INTERNET.

      You can help you with other commands please?

    I would be very happy to try this program in Python ADAC you and you agree to share it?

    @k3a :A great idea if you want to share it CDRomke

    thank you @CDRomke ,@k3a

  117. PeteW
    April 27th, 2017 at 13:41 | #126

    @CDRomke @DragosStefan
    I own Alfa Plam Commo 21 too but I’m having trouble removing side panel to physically access the controller. Can you please help me with some images/instructions how to disassemble it without causing some damage.

  118. PeteW
    April 30th, 2017 at 08:39 | #127

    Nevermind I did it myself. The tricky part was to remove the top cover first. Then side panels goes away together with the front.

  119. CDRomke
    May 1st, 2017 at 21:19 | #128

    Hello Dragos,

    Please give me a while for get the Python program ready for use it by others.

    To control the Mironova (l023) display by serial commands, send the folowing values:

    1): [128, 88, 82, 42] 1: -> left up

    2): [128, 88, 88, 48] 2: -> left down

    3): [128, 88, 92, 52] 3: -> set menu

    4): [128, 88, 90, 50] 4: -> power on/off, back in menu

    5): [128, 88, 84, 44], 5: -> right down

    6): [128, 88, 80, 40], 6: -> right up

    I think it is universal for all Micronova L023(3) boards.

  120. CDRomke
    May 19th, 2017 at 08:37 | #129

    I’m not a proff. and my program is nog good enough for publish on Github now. I’ve publish it by my own cloud (python 2.7 code):

    https://www.myqnapcloud.com/smartshare/60ih4520o61n827quu952454_6zWjHpJ

    I do think parts of the code are usable for many others…..

    It is a test version, can somebody test it an give som comment?

    tnx.

    tnx.

  121. jcarlos
    May 19th, 2017 at 12:42 | #130

    @CDRomke
    Thank you, I’ll prove your program.

  122. DragosStefan
    May 19th, 2017 at 21:07 | #131

    Thank you @CDRomke

    To try it, I have to do it:

    1. Write the program python to ESP 8266 (Wi-Fi)

    2. Connect ESP 8266 (Wi-Fi) to the serial with control stove via” https: //s27.postimg.org/nnb7nwgkz/Schema.png”

    3. Connect to ESP 8266 via WI-FI.

    Correct?

  123. CDRomke
    May 19th, 2017 at 22:12 | #132

    Hello Dragos,

    I did not try it with the ESP,. only connect it serial directly:

    PC/Raspberry USB port -> USB to RS232 serial convertor (FTDI) -> yl-7 TTL serial MAX (3)232 break out convertor (with extra diode modification) -> Micranova Board serial conneciion (as explain at #100 and #123).

    I think it is not posible to write it in the ESP direcly. (You do need a microPyton Image or use the ESP as a serial to wifi bridge).

  124. DragosStefan
    May 20th, 2017 at 07:04 | #133

    Hello,

    So to try the program I also need a Raspberry board to load the program into it, right?

    Sorry for questions but I’m a beginner.

    I’m curious how the graphical interface that controls the control stove , can you help me with a picture,plase?

    Orders to the stove as they are given?

    Thack You .

  125. DragosStefan
    May 27th, 2017 at 16:58 | #134

    Hello CDRomke

    Thank you very much!!

    I bought rasberry, it was a whole thing with the use, but I succeeded.

    The program Python runs in the terminal very well.Failed to send email, although configured correctly, have ideas?

    Is it possible to run from ” Python idle”? The idea is to be a simple graphical interface, some commands (on, of, etc), is it difficult to achieve? I’m still looking for how to link a command in ” Hex Data; And a button with an interface

    Thank you CDRomke

  126. peter vergoossen
    September 7th, 2017 at 09:23 | #135

    @Gus
    i have an I023_4 board from micronova with an 4 pin header on it for interfacing to PC,
    it works with SeramiNet.
    who has the schematics to connect this header to my pc

  127. Ruslanas
    September 8th, 2017 at 11:15 | #136

    @peter vergoossen
    I thing you need to follow instructions in comment #100

  128. Klaus
    September 16th, 2017 at 23:04 | #137

    @k3a

    Sorry for my late answere , i have not time in the moment but i create now a gibhub account and add my “testtool” Here is the GIT Url : https://github.com/KlausLi/ExtraflameRemoter

    best regards Klaus

  129. Klaus
    September 16th, 2017 at 23:06 | #138

    its a Microsoft Visual Studio Project

  130. DragosStefan
    September 17th, 2017 at 07:32 | #139

    thank you Klaus

    I’ll try it now

  131. Klaus
    September 17th, 2017 at 19:56 | #140

    @DragosStefan
    Its a debug folder in there Package , you can run the exe file in that folder directly

  132. Alex
    September 21st, 2017 at 13:04 | #141

    Hello,
    I have an insert in pellet equipped with a card(map) controller Micronova PL026 and of one telecommanded as that:
    http://www.lartistico.com/pdf/pellet/istruzioni/40112_telec_radio.pdf
    Exist t he(it) a card(map) modulates allowing to check(control) this insert in ditance via WiFi, GSM (via a card(map) sim).?! As this kind(genre) of card(map):
    http://www.micronovasrl.com/en/realizzazione/pr012-wifimi/

    • k3a
      September 21st, 2017 at 16:22 | #142

      Their WiFiMi module should work with all Micronova boards but it connects to a serial connector on the stove motherboard. It communicates via Wifi with their service and then you use the service to control the stove from the itnernet.

      Problems are:
      1. Micronova won’t sell those modules to individuals, they sell to resellers/partners only. :/
      2. If you don’t have DB9 connector in your stove, you will have to make the individual pin connections manually (no big deal)

  133. Alextaz
    September 22nd, 2017 at 07:08 | #143

    @k3a
    Thans to reply K3a
    Ok, is there a solution to connect the stove to wifi without their service…without pass their website ?!
    I have jeedom and many zwave modules, so it could be nice to add the stove to the domotic system…
    I have broke the original remote control, so i can’t modify any programs i save in the past, do you think i could do this with a logitech harmony in learning mode ?!? Do you think a zwave or wifi IR module could help ?
    Excuse me for my bad english…

    • k3a
      September 23rd, 2017 at 00:28 | #144

      I don’t know of any ready-made wifi solution without any cloud. It would be possible to make such product but demand is probably not high enough for it to be profitable (CE certification may be required which costs money etc). Sending IR commands is possible (emulating original IR remote) – see the section about IR bytes. But I don’t have any experience with logitech harmony – you can give it a try but no guarantee.

  134. sergio
    October 12th, 2017 at 00:19 | #145

    Hi,
    Congratulations on the project.

    I also have a micronova controller on my stove(I023_5) and I want to connect it to my domotics controller(fibaro home center 2).
    I’m a software developer but I don’t know really that much about electronics. I want to do the same thing you did, using and z-uno board, with is basically an arduino nano with zwave capabilities.
    I read that any common transistor or diode should work and that we should try if it worked. I want to skip the “trial and error” step… can you help me? can you give me the list of materials? the specific diodes and transistor?

    thank you.

  135. Sibianu Dragos
    October 18th, 2017 at 14:31 | #146

    Heloo

    I used it 1N4007 diode
    Tranzistor Bc 170

    Or PC -> USB to RS232 serial convertor (FTDI) -> yl-7 TTL serial MAX (3)232 break out convertor (with extra diode modification)

  136. Math63
    October 22nd, 2017 at 12:57 | #147

    Hello,

    First thanks’ to all for this blog and comments.
    I’m also trying to control my extraflame pellet stove (with a micronova board).

    @sergio
    Actually, you can communicate with your stove without more hardware than your arduino board.
    As micronova board is base on atmega (atmega32A for me) I though that I would be able to communicate with it with an other atmega. I was write, using AV274 notes and code.

    You can find my modified code (and dirty coding) for use on atmega328p 3.3V 8Mhz , pin PD3 , TIMER2 and compatible with MySensors libs in my github : https://github.com/math63/Extraflame-Pellet-Stove-Automation

  137. Sibianu Dragos
    October 22nd, 2017 at 18:05 | #148

    Hello

    is there something based on arduino code that can control the stove from the web page on the phone?

    thank you

  138. sergio
    October 29th, 2017 at 22:02 | #149

    hi,

    thank you.
    I was able to communicate with the stove using seraminet, using 1N4148 diode and 2N3404 transistor and with a CH340G usb to ttl using at 5v. I also tried at 3v, and it worked.
    My Z-Uno is not 5v tolerant and i do not want to burn 50 eur. should i use logic level converter?
    like this one:
    http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItemVersion&item=131740679808&view=all&tid=1402843905003

    regards

    • k3a
      November 2nd, 2017 at 22:26 | #150

      Hi. Look at my schematic http://k3a.me/wp-content/uploads/2015/10/ScreenShot-2015-12-17-at-16.59.50.png
      I am using it with 3.3v MCU which is also not 5V tolerant.
      The line going to RXD from the transistor is fine because it sucks the current from the MCU only when DATA goes to 0V (to bring RXD to 0V).
      The other line going to TXD is protected by a zener diode (3.3V zener or similar voltage). The zener connected this way works like a voltage protection – when the voltage is higher than the threshold, the diode acts like a resistor, some current will go through it, reducing the voltage until it matches the threshold.

  139. Gio
    November 12th, 2017 at 09:38 | #151

    Hi dear,

    I’m really interested to interface a esp8266 running blynk to control my stove.

    Can you point me into the right directions to do this?

    Please reply.

  1. No trackbacks yet.