💬 Sensebender Micro



  • @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:

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

    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

    @Dominic-Amann

    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

    @RWoerz

    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%)
    0_1517359445418_sbmicro.jpg

    -d



  • 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

    @mvader

    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:

    @mvader

    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

    @mvader

    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?

    Thanks,
    Joaoabs


  • Contest Winner

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


  • Admin

    @joaoabs

    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

    @joaoabs

    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

    @joaoabs

    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

    @nailman

    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?
    Thanks,


  • Admin

    @joaoabs

    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:
    https://forum.mysensors.org/topic/2067/my-slim-2aa-battery-node/306

    and other:
    https://forum.mysensors.org/topic/2067/my-slim-2aa-battery-node/116


  • Admin

    @joaoabs

    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
    
    16 MCO:BGN:INIT NODE,CP=RNONA---,VER=2.3.0
    26 TSM:INIT
    28 TSF:WUR:MS=0
    36 TSM:INIT:TSP OK
    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:
    2084 !TSM:FPAR:NO REPLY
    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:
    4130 !TSM:FPAR:NO REPLY
    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:
    6176 !TSM:FPAR:NO REPLY
    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!

    Cheers


  • Mod

    Hi @flybysun, welcome to the forum!

    !TSM:FPAR:NO REPLY

    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:

    0 MCO:BGN:INIT GW,CP=RNNGA---,VER=2.3.0
    3 TSM:INIT
    4 TSF:WUR:MS=0
    11 TSM:INIT:TSP OK
    12 TSM:INIT:GW MODE
    14 TSM:READY:ID=0,PAR=0,DIS=0
    17 MCO:REG:NOT NEEDED
    580 GWT:TPC:IP=192.168.0.222
    1583 MCO:BGN:STP
    1584 MCO:BGN:INIT OK,TSP=1
    1587 GWT:TPC:IP=192.168.0.222
    2589 GWT:RMQ:MQTT RECONNECT
    2797 GWT:RMQ:MQTT CONNECTED
    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

    @flybysun

    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:
    https://forum.mysensors.org/topic/1153/we-are-mostly-using-fake-nrf24l01-s-but-worse-fakes-are-emerging

    With "official" firmware I mean the Arduino Sketch which is included on the hardware webpage:
    https://www.mysensors.org/hardware/micro



  • @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 ?



  • Is there a way to order this board somewhere else. I have ordered now 3 times 2 boards. 2 times 1 board broken and it is very hard to communicate with them and almost never reply.


  • Admin

    @martim

    Unfortunately we do not have any other manufacturing partners, so all sensebender boards are produced by itead.

    How did you confirm that the board where broken? Have you tried starting the self test in the standard firmware that the micro is delivered with?

    The factory firmware is available at
    https://github.com/mysensors/SensebenderMicro/blob/master/Arduino/SensebenderMicro/SensebenderMicro.ino



  • @tbowmo I am using Sensebender Micro on an ATMega328p Barebones with internal 8MHz and RFM69 working good. Since I don't have quartz connected on PB6 and PB7, I would like to use these ports. I tried from 14 to 21 but unable to flash my led (connected to PB6).
    With Minicore: PB6 and PB7 are 20 and 21 respectively.
    With Sensbender Micro, what are the ports? (if they exist)



  • Hello, really interesting in getting a few of these Sensebender Micros, but it does not seem to be available any more. Will they be coming back into stock?


  • Admin



  • @tbowmo Thats great, thank you. The URL seems to have changed.



  • Hi there,
    Just received a couple of Sensebender Micro's, really excited to get them up and running. I'm trying to compile the sample code, but I can't find a library for the sha204, I'm getting the following error:

    sha204_lib_return_codes.h: No such file or directory
    

    Any idea how I can solve this please.
    thank you.


  • Mod

    @keithellis the file is in the same folder as the example sketch: https://github.com/mysensors/MySensors/tree/development/examples/SecurityPersonalizer

    How did you install MySensors? How did you open the SecurityPersonalizer sketch?



  • @mfalkvidd Thanks for the response. I was not trying to compile the SecurityPersonalizer sketch, I was trying to compile the Sensebender Micro example sketch, this apparently also needs the sha204xxx files. I copied these files over from the SecurityPersonalizer sketch and it works now. thank you.

    I think sha204xxx files should also be put in the Sensebender Micro folder. Or some directions on the Sensebender Micro page on where to get these files.


  • Mod

    Thanks for explaining @keithellis

    I am not familiar with the sensebender micro but what you suggest sounds reasonable.

    Is this the sketch you are using? https://github.com/mysensors/SensebenderMicro/blob/master/Arduino/SensebenderMicro/SensebenderMicro.ino



  • @mfalkvidd Yes, that’s the one.



Suggested Topics

  • 12
  • 5
  • 210
  • 2
  • 4
  • 6
  • 2
  • 11

0
Online

11.4k
Users

11.1k
Topics

112.7k
Posts