Windows GUI/Controller for MySensors
-
For completeness, here are the MYSBootloader instructions for OTA updates via MYSController:
-
Load gw sketch and connect arduino either via serial or ethernet port. No special bootloader needed for that part (i.e. standard optiboot bootloader will do the job).
-
Add these lines to the boards.txt file in your Arduino IDE installation folder (located somewhere like C:/Program Files/Arduino/hardware/arduino/avr)
proMYSBL16.name=ATmega328 external 16Mhz with MYSBootloader
proMYSBL16.upload.tool=avrdude
proMYSBL16.upload.protocol=arduino
proMYSBL16.upload.maximum_size=30720
proMYSBL16.upload.maximum_data_size=2048
proMYSBL16.upload.speed=115200
proMYSBL16.bootloader.tool=avrdude
proMYSBL16.bootloader.low_fuses=0xF7
proMYSBL16.bootloader.high_fuses=0xDA
proMYSBL16.bootloader.extended_fuses=0x06
proMYSBL16.bootloader.unlock_bits=0x3F
proMYSBL16.bootloader.lock_bits=0x3F
proMYSBL16.bootloader.file=MySensors/MYSBootloader.hex
proMYSBL16.build.mcu=atmega328p
proMYSBL16.build.f_cpu=16000000L
proMYSBL16.build.board=AVR_UNO
proMYSBL16.build.core=arduino
proMYSBL16.build.variant=standard######## settings for 8Mhz internal clock
proMYSBL8.name=ATmega328 internal 8Mhz with MYSBootloader
proMYSBL8.upload.tool=avrdude
proMYSBL8.upload.protocol=arduino
proMYSBL8.upload.maximum_size=30720
proMYSBL8.upload.maximum_data_size=2048
proMYSBL8.upload.speed=57600
proMYSBL8.bootloader.tool=avrdude
proMYSBL8.bootloader.low_fuses=0xE2
proMYSBL8.bootloader.high_fuses=0xDA
proMYSBL8.bootloader.extended_fuses=0x06
proMYSBL8.bootloader.unlock_bits=0x3F
proMYSBL8.bootloader.lock_bits=0x3F
proMYSBL8.bootloader.file=MySensors/MYSBootloader.hex
proMYSBL8.build.mcu=atmega328p
proMYSBL8.build.f_cpu=8000000L
proMYSBL8.build.board=AVR_UNO
proMYSBL8.build.core=arduino
proMYSBL8.build.variant=standard -
Copy MYSBootloader.hex (from MYSController/Bootloader folder) to the Arduino IDE installation folder C:/Program Files/Arduino/hardware/arduino/avr/bootloaders/MySensors/
-
Restart Arduino IDE, choose under Tools | Board | ATmega328 external 16Mhz with MYSBootloader or Tools | Board | ATmega328 internal 8Mhz with MYSBootloader depending on your HW settings
-
Connect USBasp to sensor node and select Tools | Burn Bootloader
-
If everything worked well until here, you now have the MYSBootloader with the fuse settings from above burnt to your sensor node (16Mhz extXTAL or 8Mhz intRC, BOOTSZ 1024W, BOD 1V8).
-
Please use the AVR fuse calculator to retrieve the individual fuse settings. If you need to change frequency, BOD or other settings, change the fuse settings based on the fuse calculator.
Important: The MYSBootloader.hex file was compiled for 16Mhz oscillators but it should also work at 8Mhz. If you intend to go below 8Mhz, I highly recommend to compile the bootloader with adjusted frequency settings. -
Start MYSController, hit config and adjust settings (COM-Port & baud or IP address:port)
-
Hit connect: Connection to gateway should be established (gateway answers with gateway ready message), the node should appear and request an ID & FW.
-
Right-mouse click on that node, select assign FW, choose for example **TimeReporter ** (demo firmware included in the MYSController/Firmware folder). Then click reboot and wait until FW is uploaded and node boots.
-
TimeReporter firmware reports every few seconds some values such as time, millis, and voltage.
-
Custom firmware: compile your sketch and retrieve the generated .hex file (activate verbose mode in the Arduino IDE to get compiler messages and output path).
-
Copy .hex file to MYSController/Firmware folder and edit firmware_config.csv file according to the existing lines.
-
Hit Refresh Repo in MYSController and the newly copied firmware should appear in the Assign FW dropdown list, ready to be uploaded.
Have fun :)
I'Ve done the steps witch you describe but it doesn't show up in the ArduinoIDE.
Step 1, added the lines to boards.txt
Step 2, made a directory \MySensors under
D:\Program Files\Arduino\hardware\arduino\avr\bootloaders
Step 3, copied the .hex file into D:\Program Files\Arduino\hardware\arduino\avr\bootloaders\MySensorsWhat did i do wrong???
-
-
Guys,
I'm trying to get this working with my nano clone but am having no luck.
When I flash the boot loader the nano doesn't send the request (the light on the nano comes on red and stays on).
I'm presuming it's because I haven't updated the fuse settings etc for the nano? Would someone be so kind as to offer some help with regards what I need to change?
Edit: I'm up and running!
-
Did anyone figure out how to get MySensors debug messages to show? My sketch has debug uncommented and I can see them via serial, but not in the app?
-
Did anyone figure out how to get MySensors debug messages to show? My sketch has debug uncommented and I can see them via serial, but not in the app?
-
@tekka Yeah, I get that, that's what I'm struggling with. I have the debug line uncommented on my ESP8266 gateway, but see nothing in the mysensors debug tab? I'm using the latest beta build as I run 2.0.0.
Also, I've asked a couple of times, is the default firmware pre release 1.3 bootloader (16mhz) suitable in its default state for both my Uno's and Nano's?
Thanks in advance,
Mark
-
@tekka Yeah, I get that, that's what I'm struggling with. I have the debug line uncommented on my ESP8266 gateway, but see nothing in the mysensors debug tab? I'm using the latest beta build as I run 2.0.0.
Also, I've asked a couple of times, is the default firmware pre release 1.3 bootloader (16mhz) suitable in its default state for both my Uno's and Nano's?
Thanks in advance,
Mark
-
@tekka That explains it then :) Thank you very much for the confirmations!
-
Did anyone figure out how to get MySensors debug messages to show? My sketch has debug uncommented and I can see them via serial, but not in the app?
@Mark-Swift : If you're happy to modify the MySensors library in an unsupported way, I've added a logMessage function to transmit text/debug messages from remote nodes:
https://github.com/peterdey/MySensors-Arduino/commit/f5f339b71620ec3cd896304a2ca6aba40ad40218Found it useful, particularly in conjunction with MYSController OTA firmware updates.
-
@Mark-Swift : If you're happy to modify the MySensors library in an unsupported way, I've added a logMessage function to transmit text/debug messages from remote nodes:
https://github.com/peterdey/MySensors-Arduino/commit/f5f339b71620ec3cd896304a2ca6aba40ad40218Found it useful, particularly in conjunction with MYSController OTA firmware updates.
@pdey Let me get this straight, this allows me to see the serial debug messages from my nodes running the modified boot loader? That would be a dream come true, I really miss debug messages...
Thank you!
-
@pdey Let me get this straight, this allows me to see the serial debug messages from my nodes running the modified boot loader? That would be a dream come true, I really miss debug messages...
Thank you!
@Mark-Swift: You'll need to replace Serial.Print with node.logMessage - but yes, I use it for transmitting debug messages, wirelessly, to the controller.
No gateway modifications required (the gateway will just pass the message over to the controller). Old versions of MYSController (e.g. 0.1.2.276) would actually show the debug messages as a LOG_MESSAGE in the "Messages" tab; later versions hide it away in the "Debug" tab.

-
-
Hi @tekka ,
Just starting testing beta version and it looks really nice. Thanks for sharing this great tool.
I usually use it to debug mysensors network.I think I have found a little bug regarding message subtype.
For example, when I choose to send a message using as subtype V_VAR1, it sends out as V_VAR4.
To actually send it as V_VAR1 I have to choose as Subtype V_HVAC_FLOW_STATE.Can someone try this in their MYSController Beta 1.0.0beta so as to verify if it is only happening to me, or is a funny bug in the beta.
Once againg, thank you very much.
Regards.
Gonzalo -
Hi @tekka ,
Just starting testing beta version and it looks really nice. Thanks for sharing this great tool.
I usually use it to debug mysensors network.I think I have found a little bug regarding message subtype.
For example, when I choose to send a message using as subtype V_VAR1, it sends out as V_VAR4.
To actually send it as V_VAR1 I have to choose as Subtype V_HVAC_FLOW_STATE.Can someone try this in their MYSController Beta 1.0.0beta so as to verify if it is only happening to me, or is a funny bug in the beta.
Once againg, thank you very much.
Regards.
Gonzalo@gonzalonal @tekka
Yes I can confirm the exact same behaviour gonzalonal describes. Please say if you need any more details tekka (with the @ function). -
@gonzalonal @tekka
Yes I can confirm the exact same behaviour gonzalonal describes. Please say if you need any more details tekka (with the @ function). -
@Mark-Swift: You'll need to replace Serial.Print with node.logMessage - but yes, I use it for transmitting debug messages, wirelessly, to the controller.
No gateway modifications required (the gateway will just pass the message over to the controller). Old versions of MYSController (e.g. 0.1.2.276) would actually show the debug messages as a LOG_MESSAGE in the "Messages" tab; later versions hide it away in the "Debug" tab.

-
@tekka I've tried to apply @pdey 's change to the current dev branch; but due to the recent refactoring, wasn't successful - I'll keep trying.
Would you happen to have any other suggestions how we can get debug messages back to the controller from remote nodes? Some of my nodes are running some fairly complex code and without debug it becomes a tedious task.
Many thanks in advance,
Mark
-
@tekka I've tried to apply @pdey 's change to the current dev branch; but due to the recent refactoring, wasn't successful - I'll keep trying.
Would you happen to have any other suggestions how we can get debug messages back to the controller from remote nodes? Some of my nodes are running some fairly complex code and without debug it becomes a tedious task.
Many thanks in advance,
Mark
Was @pdey 's change applied to the dev branch?
Any suggestions for debug messages to the controller from remote nodes?
@Mark-Swift said:
@tekka I've tried to apply @pdey 's change to the current dev branch; but due to the recent refactoring, wasn't successful - I'll keep trying.
Would you happen to have any other suggestions how we can get debug messages back to the controller from remote nodes? Some of my nodes are running some fairly complex code and without debug it becomes a tedious task.
Many thanks in advance,
Mark
-
My current running setup is a Arduino via USB-Serial attached to a Arduino with my Controller Software. But i want to use this Windows Controller at the same time. Anyone a idea how i can do this (local serial and serial2net at the same time on the same serial device)? if i start the serial2net my raspberry controller is broken and can't connect to the arduino usb serial but the serial2net work.
-
My current running setup is a Arduino via USB-Serial attached to a Arduino with my Controller Software. But i want to use this Windows Controller at the same time. Anyone a idea how i can do this (local serial and serial2net at the same time on the same serial device)? if i start the serial2net my raspberry controller is broken and can't connect to the arduino usb serial but the serial2net work.