💬 Sensebender Micro

  • @tbowmo Aha, yes, well I was looking at the cost of just one adapter to test. But you're right, in larger quantities it's not costly.

  • @Michiel-van-der-Wulp
    Can you tell me where in the code is the switch to 1 MHz? I still have the problems that my node dosnt send anymore. It works for several hours but after then it dont send anything.

    In programming i am not good, and so i cant find the switch.
    Thank you very much.
    Greets Eddie

  • @meddie : Sure, I can:

    The following is an extract from the code shown at https://www.mysensors.org/view/1/Sensebender-Micro, from the "loop()" function:

      if ((measureCount == 5) && highfreq) 
        clock_prescale_set(clock_div_8); // Switch to 1Mhz for the reminder of the sketch, save power.
        highfreq = false;

    If you remove these lines, it will stay on 8MHz.
    (I did not test this but I am quite sure)

  • @Michiel-van-der-Wulp
    thank you i will test it the next few days

  • I assume there is no exposure to the SPI bus on this board?

  • Hardware Contributor

    @Dominic-Amann from the hardware site:

    MYSx 2.6 with
    Dedicated UART
    Dedicated SPI
    Dedicated Interrupts
    I2C bus (shared with onboard eeprom)

  • Ah - right, the radio connector uses SPI.

  • Admin


    There are multiple SPI ports in use, one of them is dedicated to the expansion header (which follows MYSx 2.6 standard)

  • Can somebody please post what this boards current draw is at 8Mz w/wo a radio. Because it will live in a crawl space It's going to be plugged in. I've also added a very simple water detector.

  • Admin


    normal operating frequency is 48Mhz (if I remember right).. If I remember right, then there is no options in arduino to switch the frequency to 8Mhz..

  • Beware that the Si7021 can return a RH value < 0 or > 100, and Domoticz will not store it. Clamp the humidity to a valid range to avoid losing values.

    Lately, my Sensebender reported values of 101-104 during the night. Took me some time to understand why Domoticz complained it didnt receive any values.
    It received these values, but didnt like them.

    See section 5.1.1 of the Si7021 datasheet says:
    Due to normal variations in RH accuracy of the device as described in Table 4, it is possible for the measured value of %RH to be slightly less than 0 when the actual RH level is close to or equal to 0. Similarly, the measured value of %RH may be slightly greater than 100 when the actual RH level is close to or equal to 100. This is expected behavior, and it is acceptable to limit the range of RH results to 0 to 100%RH in the host software by truncating values that are slightly outside of this range.

  • So cool that the micro as a node reports its battery level to the UI (I'm still on the FTDI power, hence > 100%)


  • Is there a board definition for sensebender micro for PlatformIO available ?

  • Plugin Developer

  • Am I able to remote reboot the sensebender micro? I can send an OTA firmware if i manually press the reset button.
    but can i use the reboot command in MYScontroller? it doesn't seem to do anything when issued.

  • Admin


    Is it the default dualoptiboot bootloader? Then the bootloader itself does not support OTA FW. You need to put a sketch on it, that supports OTA. (Default sensebender micro sketches doesn't)

  • @tbowmo said in 💬 Sensebender Micro:


    Is it the default dualoptiboot bootloader? Then the bootloader itself does not support OTA FW. You need to put a sketch on it, that supports OTA. (Default sensebender micro sketches doesn't)

    yes it's the default bootloader. yes i have OTA added to the sketch. it works if i reset the device via manual reset. but what i'd like to do is send the reboot command from myscontroller. but it seems to do nothing ever. does the bootloader support reboot? or is that something i also have to add to the sketch?

    situation: i have about 15 sensors all over the house. if i update, i'd like to be able to assign the firmware, and then issue the reboot command. so upon reboot, they take the assigned firmware. what i don't want to do is have to go to each one and manually press the reset button to get it to take the firmware. i'm sure it's healthier to run up and down 3 flights of stairs. but i'm lazy 🙂

  • Admin


    The sketch should support reboot, try sending I_REBOOT to one of your nodes (info can be found here, look under internal messages)

    I haven't tried it myself yet, as I haven't touched my sensebender micros for ages..

  • Hi,
    Three questions regarding SenseBender Micro:

    • What board should I configure in Arduino IDE in order to upload sketches? Would it be equivalent to Arduino mini pro, or is there any "board library" to load ?(Didn't find it, Woudn't it make sense to be included in the examples/Libraries pack?)...
      (Found it: https://github.com/mysensors/ArduinoBoards . If you look between the photos above there is a simple link lost in the between)
      MySensors Admins: Just a small suggestion: As it is now, - a simple link between photos is easily overlooked. Can't you place it near the specs where it should be more visible?

    • It has an I2C bus for the SI7021, but it seems the ATSHA204A (which I believe its I2C also) is connected to another pin (a3). Does this mean it has two I2C buses?

    • Can anyone confirm that the port that measures the battery voltage is A0?


  • Contest Winner

    @joaoabs we do not support I2C variant of atsha204a. Only single wire variant.

  • Admin


    It uses the internal vref to measure the battery voltage. Some of the theory is described here https://www.sciencetronics.com/greenphotons/?p=1521

  • For the battery powering voltage measuring do you mean that this is not needed after all? (https://www.mysensors.org/build/battery#measuring-and-reporting-battery-level)
    It would be just a matter of enabling the flag "#define BATT_SENSOR 199 " and no resistors needed?

  • Admin


    Yes, when you power it directly of f.ex. two AA batteries, then you can use the secret trick mentioned in that article that I linked to, for measuring battery voltage without external resistors.

  • Sorry for the dummy question, but my SenseBender Micros came with a small white sticker on top of the Si7021 sensor (like in the pictures above). Is it supposed to be removed or to stay like that?

  • Contest Winner

    @joaoabs the datasheet for the device clarifies that I believe

  • Admin


    Just leave it on..

  • Hello!

    Help me understand why the sketches are not loaded in Sensebender Micro - there is a synchronization error:
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x82
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x82
    avrdude: stk500_recv(): programmer is not responding

    • FTDI connected via 3.3V jumper

    • Another device built on the SB Micro with SB bootloader is also not flashed with the same error, but on the PC of my friend, sketches successfully loaded into the device and on my PC are given the correct data when working sketch

    • device and serial port are selected correctly

    • mySensors Lib and device packs(AVR, SAMD) installed with standard lib and device managers(and also added path https://raw.githubusercontent.com/mysensors/ArduinoBoards/master/package_mysensors.org_index.json in the settings menu)

    • at the same time if I take a pure Pro Mini and load into it any sample sketch of mySensors package - it will successfully do it and will work.

    What am I doing wrong and how do I get the Sensebender Micro to take sketches?

  • Admin


    Did you select the sensebender micro as target in Arduino? Is it the same FTDI device that is used on both computers?

  • @tbowmo
    Yes, of course, I chose the target device "Sensebender Micro -> "Atmega328p, 1mhz" and "Atmega328p, 8mhz"(for device (RGBW controller) based on SB Micro with 8Mhz quartz resonator).

    I tried three different FTDIs.

    With any other Arduino (with native loaders) there are no problems with these FTDI adapters.

  • @nailman At what Mhz does your RGBW Controller is running now?
    It seems to be the problem is in identifying the correct board.

    If I have a board running at 1Mhz and try to program it at 8Mhz, similar to your error would come up, i.e. not in sync

  • Admin

    Unless the bootloader is reprogrammed, then it defaults to 8mhz, and you have to actively set registers to run at 1mhz in your sketch.

    Do you have a ISP programmer? If yes, could you make a memory dump, and send it to me?

  • Hello,
    Coming back to the battery powering topic: I was checking some SlimNode code and it uses #include <Vcc.h> library to report battery level. I can see in that the example code above doesn't use it. Does anyone know what is the difference? Which is better?

  • Admin


    Could you post a link to the code from slimnode?

  • Hi,

    The slimnode original thread has a few (not sure anymore which example I'm using now because the thread is huge and I've lost track of it)
    Here is one example:

    and other:

  • Admin


    The library use the exact same method to read VCC, as the Sensebender Micro example. It's just the functions that is extracted into a library (which I think have been done by @Yveaux )

  • @tbowmo
    I apologize for the delay in replying, I was very busy with work.

    It turned out to be some mystical incompatibility of the FTDI and Sensbender Micro or a device based on its loader. Three versions of my FTDI refused to work with Sensbender Micro, but they worked with regular Arduino, and the fourth one, bought on AliExpress, works perfectly normal. Externally, all the same, only those that do not work with Sensbender Micro, the labeling of the chip differs slightly in the quality of engraving on the plastic.

    Maybe it's fake or some kind of non-standard chips.

  • @nailman There are a lot of fake FTDI modules. Some are labelled FTDI other claim to be FTDI but are CH340. Some have DTR others RST and good ones like Adafruit Friend it is selectable.

    My recommendation is do not try to save a few bucks here. Spend money on a good quality FTDI adapter like Adafruit Friend.

  • Hi,
    I'm using the mysensor lib for a while but I recently run into problems. I've some arduino pro minis running with dht22 sensors which send their data over nrf24 to an mqtt ethernet gateway.
    But maybe someone can help me with this one: I have build my own sensebender-micro modules. First of all I programmed the fuses of the mega328p as follows: lfuse: 0xE2, hfuse: 0xD2, efuse: 0xFE. Then I've programmed the DualOptiBoot Bootloader to them, everything worked fine so far, I can upoload sketches from the Arduino IDE via FTDI Programmer. The Problem: When I upload the official example sketch and watch the serial monitor I just see the MySensors splash screen. It seems, that the sketch does not even run into the setup routine. This starts to make me crazy, since I do not even know where to search. If I upload other sketches (basic blinking led, serial port examples or the passive node example from mysensors) it shows that my hardware in general seems to work. When I enable debug this is the output:

     __  __       ____
    |  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
    | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
    | |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
    |_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
            |___/                      2.3.0
    26 TSM:INIT
    28 TSF:WUR:MS=0
    38 TSF:SID:OK,ID=100
    40 TSM:FPAR
    75 TSF:MSG:SEND,100-100-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    2086 TSM:FPAR
    2121 TSF:MSG:SEND,100-100-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    4132 TSM:FPAR
    4167 TSF:MSG:SEND,100-100-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    6178 TSM:FPAR
    6213 TSF:MSG:SEND,100-100-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    8222 !TSM:FPAR:FAIL
    8224 TSM:FAIL:CNT=1
    8226 TSM:FAIL:DIS
    8228 TSF:TDI:TSL
    18229 TSM:FAIL:RE-INIT
    18231 TSM:INIT
    18239 TSM:INIT:TSP OK
    18241 TSF:SID:OK,ID=100
    18243 TSM:FPAR
    18280 TSF:MSG:SEND,100-100-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    20289 !TSM:FPAR:NO REPLY

    Even the NRF24 connection seems to work. This is the output of my mosquitto broker when running the passive node example:

    home/OpenMQTTGateway/LWT Online
    home/OpenMQTTGateway/version 0.7
    mygateway1-out/100/255/0/0/17 2.3.0
    mygateway1-out/100/255/3/0/6 255
    mygateway1-out/100/255/3/0/11 Passive node
    mygateway1-out/100/255/3/0/12 1.0
    mygateway1-out/100/0/0/0/6 (null)
    mygateway1-out/100/0/1/0/0 25.70
    mygateway1-out/100/0/1/0/0 26.90
    mygateway1-out/100/0/1/0/0 27.30
    mygateway1-out/100/0/1/0/0 25.80
    mygateway1-out/100/0/1/0/0 26.00

    I appreciate any help, thanks in advance!


  • Mod

    Hi @flybysun, welcome to the forum!


    means that the sensor node does not get a response from the gateway. What type of gateway are you using? Could you post the debug log from it?

    If you haven't already, check https://forum.mysensors.org/topic/666/debug-faq-and-how-ask-for-help/ for the most common problems and how to troubleshoot them. (Hint: Power supply is the most common problem, the nrf24 is extremely picky)

  • Hi @mfalkvidd, thanks for the warm welcome!
    So, tonight I'll give it another try. I soldered 1000uF above VCC and GND on both the sender and the gateway RF Links (that's all I could find here for now). Still got issues. Here are the logs from my gateway, when it starts up and receives values from my working sensor I had before:

    3 TSM:INIT
    4 TSF:WUR:MS=0
    14 TSM:READY:ID=0,PAR=0,DIS=0
    580 GWT:TPC:IP=
    1583 MCO:BGN:STP
    1584 MCO:BGN:INIT OK,TSP=1
    1587 GWT:TPC:IP=
    2800 GWT:TPS:TOPIC=mygateway1-out/0/255/0/0/18,MSG SENT
    20587 TSF:MSG:READ,1-1-0,s=0,c=1,t=1,pt=7,l=5,sg=0:32.5
    20592 GWT:TPS:TOPIC=mygateway1-out/1/0/1/0/1,MSG SENT
    55353 TSF:MSG:READ,1-1-0,s=1,c=1,t=0,pt=7,l=5,sg=0:27.3
    55358 GWT:TPS:TOPIC=mygateway1-out/1/1/1/0/0,MSG SENT
    55364 TSF:MSG:READ,1-1-0,s=0,c=1,t=1,pt=7,l=5,sg=0:32.6
    55369 GWT:TPS:TOPIC=mygateway1-out/1/0/1/0/1,MSG SENT

    This looks okay I guess, now this happens when I activate my SenseBender Micro:

    139854 TSF:MSG:READ,3-3-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    139859 TSF:MSG:BC
    139860 TSF:MSG:FPAR REQ,ID=3
    139864 TSF:PNG:SEND,TO=0
    139866 TSF:CKU:OK
    139868 TSF:MSG:GWL OK
    140512 !TSF:MSG:SEND,0-0-3-3,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
    141940 TSF:MSG:READ,3-3-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    141945 TSF:MSG:BC
    141947 TSF:MSG:FPAR REQ,ID=3
    141949 TSF:CKU:OK,FCTRL
    141952 TSF:MSG:GWL OK
    142632 !TSF:MSG:SEND,0-0-3-3,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
    144021 TSF:MSG:READ,3-3-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    144026 TSF:MSG:BC
    144028 TSF:MSG:FPAR REQ,ID=3
    144030 TSF:CKU:OK,FCTRL
    144033 TSF:MSG:GWL OK
    144746 !TSF:MSG:SEND,0-0-3-3,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
    146101 TSF:MSG:READ,3-3-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    146106 TSF:MSG:BC
    146108 TSF:MSG:FPAR REQ,ID=3
    146111 TSF:CKU:OK,FCTRL
    146113 TSF:MSG:GWL OK
    146857 !TSF:MSG:SEND,0-0-3-3,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0

    I filled this logs into the Log Parser and found out that the Gateway receives informations on the sensor node, but when it responses it does not get the ACK from the sensor node.

    May I have a faulty NRF24? I just received a new batch from AliExpress and this my first try with them.

    My gateway is an Arduino Uno Board with the Arduino Ethernet shield and on top of that equipped with the long range version of the NRF24 Board (the one with the antenna).
    The SenseBender is equipped with the "normal" smt version as suggested. The sensor nodes which are working right now were equipped with the smd version of the nrf-board.

    I also found out that the initialization of the sensor and the gateway has a different Core initialization, different capabilities (CP). I looked through the API, but didn't find what CP=RNNGA or CP=RNONA stands for.

    Any suggestions or ideas?

  • Mod

  • Admin


    what is the "official" firmware that you upload to the atmega? If it's the sensebender micro fw, then please observe that this is meant to run with a Si7021 sensor, and not DHT22, so unless you modify things, it won't run without that sensor onboard..

  • @tbowmo
    I have a 1:1 build of the sensebender micro, including the Si7021. Something I definetly will try tonight is to change the the radio modules with one of these I had before (and are working). I've just discovered this here:

    With "official" firmware I mean the Arduino Sketch which is included on the hardware webpage:

  • @mfalkvidd @tbowmo
    So folks, I finally got it to work. It really seems to be a problem with my radio modules. When I change my PA module on the gateway against one of these I ordered for the SenseBender Micro, everything works fine. But I still don't understand why my pro mini with the smd radio was able to send the data to the pa module, while the sensebender connected to a smd version still didn't work.
    Is there anything special on the PA Version, that I've missed? I wonder if I can live with that now, I thought the PA Version has a bit more sensitivity and gain and would be better as the central gateway unit.

  • Mod

    @flybysun the PA version draws much more power than the non-PA version (5x more if I remember correctly). If the power supply can't deliver clean power (without ripples or sudden dips), the radio will malfunction.

  • Hi team,
    By curiosity running the Atmega328p at 8mhz down to 1.8v isn’t out of spec ?
    Does it work reliable ?
    Should we div8 clock speed than mesure vcc and set prescaler accordingly ?
    Just by curiosity for further project I see a lot of info to not go above 4Mhz at 1.8mhz as the data sheet and other that it’s working stable even a 8mhz

    Thanks all !

  • Mod

    @djbonet yes, running the atmega328 at 8MHz and 1.8V is out of spec.
    Yes, sometimes running out of spec doesn’t cause problems.

  • @mfalkvidd
    Thank you for your fast answer

  • Mod

    @djbonet you’re welcome. If I remember correctly, the datasheet diagram shows the limit for 8MHz to be 2.4V

  • Hello
    Can't compile skech .. .does anyone have updated ?

Suggested Topics

  • 92
  • 1
  • 9
  • 9
  • 1
  • 15
  • 373
  • 41