Sensebender Micro


  • Admin

    @nutcracker

    I usually use the GND pin as a guide.
    What happens if you run Arduino IDE directly in your native OS?



  • Thanks @hek. I've had to run Arduino on Windows before because of compatibility issues with certain chip sets on Arduino boards and I didn't fancy running unsigned drivers on my Mac to resolve... I'm able to upload sketches to other boards with no issues.

    That said, I've updated Arduino to 1.6.5 on my Mac and have attempted to upload the default Sensebendermicro.ino sketch to the micro with a similar error:

    Arduino: 1.6.5 (Mac OS X), Board: "Arduino Micro"
    
    Build options changed, rebuilding all
    
    Sketch uses 26,414 bytes (92%) of program storage space. Maximum is 28,672 bytes.
    Global variables use 799 bytes (31%) of dynamic memory, leaving 1,761 bytes for local variables. Maximum is 2,560 bytes.
    Found programmer: Id = "�d��b�"; type = F
        Software Version = �.�; Hardware Version = �.�
    avrdude: error: buffered memory access not supported. Maybe it isn't
    a butterfly/AVR109 but a AVR910 device?
    Problem uploading to board.  See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
    
      This report would have more information with
      "Show verbose output during compilation"
      enabled in File > Preferences.
    
    

    With verbose output enabled:

    avrdude: Version 6.0.1, compiled on Apr 14 2015 at 16:30:25
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2009 Joerg Wunsch
    
             System wide configuration file is "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
             User configuration file is "/Users/nutcracker/.avrduderc"
             User configuration file does not exist or is not a regular file, skipping
    
             Using Port                    : /dev/cu.usbserial-A50285BI
             Using Programmer              : avr109
             Overriding Baud Rate          : 57600
             AVR Part                      : ATmega32U4
             Chip Erase delay              : 9000 us
             PAGEL                         : PD7
             BS2                           : PA0
             RESET disposition             : dedicated
             RETRY pulse                   : SCK
             serial program mode           : yes
             parallel program mode         : yes
             Timeout                       : 200
             StabDelay                     : 100
             CmdexeDelay                   : 25
             SyncLoops                     : 32
             ByteDelay                     : 0
             PollIndex                     : 3
             PollValue                     : 0x53
             Memory Detail                 :
    
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
               flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
               lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
    
             Programmer Type : butterfly
             Description     : Atmel AppNote AVR109 Boot Loader
    
    Connecting to programmer: .avrdude: butterfly_recv(): programmer is not responding
    Problem uploading to board.  See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
    

    Nutz


  • Admin

    @nutcracker said:

    Maybe it isn't
    a butterfly/AVR109 but a AVR910 device?

    Is your programmer setting in Arduino IDE set to "USBasp"?



  • Hi @hek, I've never had to change the programmer setting before... I've changed it to USBasp and re-uploaded but same error. I've always used the menu options Sketch=>Upload to upload a sketch to the board. Should I be using Sketch=>Upload via programmer for this micro board ? If so, that fails too but something to do with it not being able to find the USB device.

    avrdude: Version 6.0.1, compiled on Apr 14 2015 at 16:30:25
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2009 Joerg Wunsch
    
             System wide configuration file is "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
             User configuration file is "/Users/nutcracker/.avrduderc"
             User configuration file does not exist or is not a regular file, skipping
    
             Using Port                    : usb
             Using Programmer              : usbasp
    avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'
    
    avrdude done.  Thank you.
    

    Nutz


  • Admin

    Hmm. I think I understand what the problem is now. You've selected the "Arduino Micro" board. Not our "MySensors/Sensebender Micro" .

    Did you follow the instructions here?
    http://www.mysensors.org/hardware/micro-ide-setup



  • Thanks @hek, I also realised my mistake once I retraced my steps...I hadn't scrolled down fully on that screenshot that shows the Sensebender Micro board... I think what through me is that screenshot also shows a "dot" against another board - the Arduino Micro board...and I was selecting that... duh! (may be worth changing the screenshot? ;))

    Anyway, thanks for your help...sketch uploaded perfectly after that!

    avrdude: Version 6.0.1, compiled on Apr 14 2015 at 16:30:25
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2009 Joerg Wunsch
    
             System wide configuration file is "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
             User configuration file is "/Users/nutcracker/.avrduderc"
             User configuration file does not exist or is not a regular file, skipping
    
             Using Port                    : /dev/cu.usbserial-A50285BI
             Using Programmer              : arduino
             Overriding Baud Rate          : 57600
             AVR Part                      : ATmega328P
             Chip Erase delay              : 9000 us
             PAGEL                         : PD7
             BS2                           : PC2
             RESET disposition             : dedicated
             RETRY pulse                   : SCK
             serial program mode           : yes
             parallel program mode         : yes
             Timeout                       : 200
             StabDelay                     : 100
             CmdexeDelay                   : 25
             SyncLoops                     : 32
             ByteDelay                     : 0
             PollIndex                     : 3
             PollValue                     : 0x53
             Memory Detail                 :
    
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
               flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
               lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
               hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
               efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
               lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
               calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
    
             Programmer Type : Arduino
             Description     : Arduino
             Hardware Version: 3
             Firmware Version: 5.0
             Vtarget         : 0.3 V
             Varef           : 0.3 V
             Oscillator      : 28.800 kHz
             SCK period      : 3.3 us
    
    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude: Device signature = 0x1e950f
    avrdude: reading input file "/var/folders/r3/_6srq76n0mz4kmh86hsy4y2m0000gn/T/build4750928375396503439.tmp/SensebenderMicro.cpp.hex"
    avrdude: writing flash (23678 bytes):
    
    Writing | ################################################## | 100% 8.84s
    
    avrdude: 23678 bytes of flash written
    avrdude: verifying flash memory against /var/folders/r3/_6srq76n0mz4kmh86hsy4y2m0000gn/T/build4750928375396503439.tmp/SensebenderMicro.cpp.hex:
    avrdude: load data flash data from input file /var/folders/r3/_6srq76n0mz4kmh86hsy4y2m0000gn/T/build4750928375396503439.tmp/SensebenderMicro.cpp.hex:
    avrdude: input file /var/folders/r3/_6srq76n0mz4kmh86hsy4y2m0000gn/T/build4750928375396503439.tmp/SensebenderMicro.cpp.hex contains 23678 bytes
    avrdude: reading on-chip flash data:
    
    Reading | ################################################## | 100% 9.94s
    
    avrdude: verifying ...
    avrdude: 23678 bytes of flash verified
    
    avrdude done.  Thank you.
    

    Cheers!

    Nutz


  • Admin

    Ah... there is a dot in the menu-image. Will update it. Thanks.


  • Hero Member

    @hek Interesting.. I didn't know this.. I used the standard Pro Mini 3v3 and it worked...????



  • Received my Micros today. Luckily there was no custom and a lot of pins to solder. Can't wait to solder them on wednesday on work and test them.

    Is there any instruction how to solder everything? On which side the radio module needs to be soldered.


  • Admin

    @gloob

    This might help you out 🙂



  • I hope this question has not been answered already and I did not miss the answer. I was thinking about connecting a motion sensor to this and was hoping that one of the digital pins supports an interrupt. Is there an interrupt available?


  • Admin

    @gbfromhb

    D3 is available on the side-pins. D2 is routed to the radio but can be used with some hacking.



  • @gbfromhb said:

    I hope this question has not been answered already and I did not miss the answer. I was thinking about connecting a motion sensor to this and was hoping that one of the digital pins supports an interrupt. Is there an interrupt available?

    I'm planning to do the same thing.
    i ordered my 5v step up regulators to support the PIR sensor.
    although I hope adding the motion isnt going to kill the batteries.



  • @mvader
    I have so far had no problems running my PIR sensors at 3.3v with the following hack.

    http://techgurka.blogspot.com/2013/05/cheap-pyroelectric-infrared-pir-motion.html

    You can not do this with all PIR Sensors from what I understand, but one of the ones listed in the MySensors store is what I've been using. Go down to the bottom of the article.



  • @Hek
    Thanks, I saw the D3, but I'm new enough to this adventure that I was not sure if I should have assumed that it also had an interrupt like all the other boards.


  • Admin

    @gbfromhb

    I tried to keep the naming, and pins on the atmega, the same as an ordinary arduino 🙂



  • @gbfromhb said:

    @mvader
    I have so far had no problems running my PIR sensors at 3.3v with the following hack.

    http://techgurka.blogspot.com/2013/05/cheap-pyroelectric-infrared-pir-motion.html

    You can not do this with all PIR Sensors from what I understand, but one of the ones listed in the MySensors store is what I've been using. Go down to the bottom of the article.

    wow.. nice.. thanks for the info! I will give this a go asap.



  • Hello,

    I have one more question. Is it possible to power the micro from the ftdi pins? I would like to use jumper wires.


  • Admin

    @gloob

    Yes it's possible to power it from the FTDI pins, if you want to..



  • Are there any recommendations for a low power temperature, humidity sensor regarding the update cycle.

    Currently I plan to wake up the sensor each 10 minutes instead of each 1 minute to update the values. This should increase the duration of the battery. A complete update of all values if performed each 30 minutes as usual.


  • Admin

    I would probably choose 5 minutes interval instead.. I have updated the sensebendermicro sketch tonight (just waiting for @hek to approve it). so it holds of on the transmissions a bit. Now the temperature needs to change more than 0.5 degrees from the previous transmitted value. OR
    humidity needs to change more than 0.5, measured with a moving average. OR
    30 minutes since last transmission.



  • I found that when I power the micro from 2 batteries I get the following error:

    T: 23.21
    H: 50
    send: 104-104-0-0 s=1,c=1,t=0,pt=7,l=5,st=fail:23.2
    send: 104-104-0-0 s=2,c=1,t=1,pt=2,l=2,st=fail:50
    

    This does not happen when I power it from the FTDI programmer.
    Does anybody have any ideas?
    The batteries have a voltage of 3.25V

    I did not have this issues with my arduino nano sensors. and i did use the same radio modules.

    When I check the modules they seem to be real nrf24l01+ modules:

    
    STATUS		 = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
    RX_ADDR_P0-1	x00 = 0xe7e7e7e7e7 0xf0f0f0f0d2
    RX_ADDR_P2-5	x00 = 0xc3 0xc4 0xc5 0xc6
    TX_ADDR		 = 0xe7e7e7e7e7
    RX_PW_P0-6	x00 = 0x00 0x20 0x00 0x00 0x00 0x00
    EN_AA		 = 0x3f
    EN_RXADDR	x00 = 0x03
    RF_CH		 = 0x4c
    RF_SETUP	x00 = 0x07
    CONFIG		 = 0x0f
    DYNPD/FEATURE	x00 = 0x00 0x00
    Data Rate	 = 1MBPS
    Model		 = nRF24L01+
    CRC Length	 = 16 bits
    PA Power	 = PA_HIGH
    


  • I have a batch of 5 sensebender and actually I build 3 and one of them doesn't work properly. Lot of st:fail when I put my finger on the board it works better so I try to make all solder one more time but it's not ok. I try with few radios and same radios work well on the others sensbender.
    Any idea or way to exchange with Itead ?


  • Admin

    @Fabien

    Where exactly do you put your finger on it, in order to get it working?


  • Admin

    @gloob

    It's the same power rail (FTDI, and the battery connector). What do you supply the board with, thru the FTDI header?



  • @tbowmo difficult to answer this question. It seems to be on Atmega but after trying to resold it's not better. I resol capacitors, resistors ... I don't know what to do now ...


  • Admin

    @Fabien

    Did you also resolder the atmega itself?

    Could you try and measure supply current it uses?



  • current when powering on : 20 mA and during sleeping about 20uA (not very accurate).


  • Admin

    @Fabien

    Have you tried to add an extra capacitor to the NRF module, on the one that's bad? (Could be your finger adds a bit more capacitance, I know it's a wild guess but just trying to think out loud)



  • Ok but wich value ? I just finish to solder my 4th sensebender and ok too.


  • Admin

    Does the failed messages reach their destination (gateway in your case)? As you might know it is the ack that never reaches the sensbender node which could be a result of power issues on the gateway side.



  • no, message are not recieve. I find someting :
    When I touch the NRF24 antenna (just a little it sifficient), it works. fine.
    Strange, same radio on other sensebender doesn't need this and other radio on this sensebender need to bo "touch".
    I try with 10uF additionnal on NRF but no change ...


  • Admin

    Do you use a socket or is the NRF module directly soldered onto the sensbender?

    (a bad connection in socket could be a problem... and when you press NRF module it has connection again)



  • Yes it's directly sold (and very hard to change with metallised hole). I will give a last try with another radio ...



  • Ok end of story ... sensebender card is dead ! 2 metallized hole were destroy by solder/unsoldering NRF modules.
    Hope my last Sensebender will work. And if there is a batch with light version I will reuse T/H sensor



  • @Fabien it seems that you have the same problem as me. I ordered a new set of radio modules to test if it is the fault of the radios. I will give feedback here about my progress.

    I aleady tried to add capacitors on the radio module but this did not help.
    There is also no difference if I power the micro from the FTDI or the battery connector.


  • Admin

    @Fabien

    Unfortunately I don't think there will be a light edition coming out at the moment. Currently the savings is way too small (I'm estimating a savings of 4-5$ compared to the full sensebender edition).


  • Admin



  • @gloob it's not a radio problem. Same radio works on the others boards.
    @hek I will try to repair the board ...



  • looking for some help programming this thing.
    I had a pl2303 usb programmer, but it had no DTR, so i orders a new usb programmer
    this one is a cp2102 with a DTR line.
    but still the same problem. it never uploads the code.
    i have the right board, processor and port chosen.
    i have tried all the programmers in the IDE but none work.
    it just says "uploading" and then eventually errors out.
    any suggestions?

    EDIT: nm i read something about switching tx and rx and i figured what the heck and surprise it worked..
    sketch uploaded..



  • Hi @tbowmo

    Thanks for bringing this great project to the community.

    I'm trying to understand the sensebender's power profile, especially the sleep current.

    I have previously done some measurements with the atmega328p (pro mini) + NRF. In addition to that I have also looked at the datasheets for the other components on the sensebender.

    It seems the theoretical low sleep current consumption is something like this:

    * nrf24l01+    900nA
    * atmega328p     5uA (with WD)
    * si7021        60nA
    * atsha204      30nA
    * at23df512c   300nA
      =  Total     6.3uA
    

    The SBMicro seems to draw ~50uA in sleep mode with the default configuration.

    I managed to put the flash memory into "ultra deep sleep"(*), causing the total consumption to drop to ~27uA. So there is still around 20uA that is not accounted for.

    I've also tried putting the atsha204 into sleep, but that did not make any difference (also confirmed by the specs).

    Are there some other settings/sleep modes that have not been enabled yet? What about the atmega itself?

    Do any of you have the a sensebender prototype with separate components, and can test sleep current by removing components one
    by one? (Before I start cutting traces on my own sensebenders in order to zero in on the target component).

    Is there something I'm missing?

    Datasheets:
    ATSHA204
    AT25DF512C
    Si7021 A20

    (*) in setup(): flash.initialize(); flash.ultra_deep_sleep() <- From datasheet


  • Admin

    @tlund

    Interesting figures.. are you sure that you've got a genuine nrf24 chip on the radio? Could be a fake with higher power consumption.



  • @tbowmo

    My NRF's are the same $1 nrf's listed in the mysensors store, so probably fake. But I have still measured them to draw ~900nA in powerDown.

    But I think I have found the culprint now. It seems the extra 20uA is caused by Arduino 1.6.5 (it may be that my installation is faulty).

    My test setup:

    • pro mini
    • nrf
    • a simple sketch that does gw.sleep(60s)

    1st test: sketch compiled & uploaded via Arduino 1.0.5-r2: 6uA
    2nd test: sketch compiled & uploaded via Arduino 1.6.5: 24uA


  • Admin

    @tlund

    Hmm could it be some optimization that causes the atmega to not go into deepest sleep mode?

    Maybe someone should have a look at the assembler output from a build with both versions of arduino



  • I'm back with bad news ... My 5th sensebender have a lot of st:fail like the first one. But now I know why !
    There is only one same things between the two board which fails : The FTDI connector. It's 90° connector and pins are just below the antenna. And I think tunning is not ok.
    So, when I go to work I try to remove the FTDI connector and see if connection is better !
    IMG_20150629_160855.jpg


  • Admin

    @Fabien

    That ftdi connector could have some effect on the antenna. I specifically made the area below the antenna empty, so that it wouldn't make any problems with the antenna.



  • So now the good news. I "repair" my 1st SenseBender (only two wire but one on the ATMega) and it works (with the same radio wich failed). I remove the FTDI header and everythings is ok. So now I'm sure the problem is the FTDI header near the antenna. And be carefull, we can have the same problem with battery for example. I suppose minimal distance is about 3.2 cm (lambda/4).
    But now I have a question : How can I update sketch without header (0° header doesn't fit in case). OTA ? Is ther a tutorial for OTA update with out of the box SenseBenderMicro ?

    Thank for your help !



  • I have the FTDI headers on the opposite site and I also get this transmission errors.
    I ordered a new batch of NRF24L01+ modules and will check if the problem still exists.



  • I have my FTDI headers on the other side as well and have no transmission errors.
    I am using genuine NRF+ radios though.
    could be the fakes causing a problem


  • Admin

    I have a male connector on my FTDI thingie, so I just put it in the mounting holes on the micro, and hold it to one of the sides, so it makes contact.



  • @tbowmo

    I tried uploading the sensebender sketch using 1.0.5-r2 with board config "pro mini 328 3.3V 8MHz". The si7021 doesn't work in this configuration, but I managed to get a sleep current of ~6.8uA

    SenseBender.png

    I can provide the binary output from the two IDE versions if someone can give me an indication where to find the build binaries.


  • Admin

    @tlund

    I think it's better if we can get the intermediate asm file from the compiler chain. Will look at it tomorrow evening (I have closed my computer down for the evening today)



  • @gbfromhb said:

    @mvader
    I have so far had no problems running my PIR sensors at 3.3v with the following hack.

    http://techgurka.blogspot.com/2013/05/cheap-pyroelectric-infrared-pir-motion.html

    You can not do this with all PIR Sensors from what I understand, but one of the ones listed in the MySensors store is what I've been using. Go down to the bottom of the article.

    I just wanted to follow up and say thanks for the link/info
    i was able to get that working.
    surprised that they just don't offer a 3v pin.. it works great the way that link shows
    Thanks again!



  • Has anybody built a box for the standard Sensebender Micro with 2 AA batteries yet.
    I would like to get the .stl files if so
    Thanks Doug


  • Hero Member

    @5546dug said:

    Has anybody built a box for the standard Sensebender Micro with 2 AA batteries yet.
    I would like to get the .stl files if so
    Thanks Doug

    Hi Doug,

    @ServiceXP has posted this one: http://forum.mysensors.org/topic/1566/mysensors-sensebender-micro-3dp-case

    Cheers
    Al



  • Has anyone been able to "Include" it to VERA UI7, My Sensebender borad is working fine according to the output from the Arduino terminal window - it request a node id, but will not "include". I'm using the default code already installed in Sensebender Micro board.

    /Kurt


  • Admin

    Yes, it works in UI7. Are you using the correct Vera-branch?

    https://github.com/mysensors/Vera/tree/UI7



  • If somebody is looking for some Sensebenders. They are in sale currently for only 14$

    http://imall.itead.cc/mysensors-micro.html

    Edit:

    I thought I had paid 17$ but they were initially sold for 14$. Sorry.



  • I just order 4 new sensebender, NRF24L01+ (normal and PA+LNA), and Iboard for the gateway. Shiiping is quite expensive (about 31 $)


  • Admin

    @Fabien

    Did you choose DHL as shipping option?



  • I just tried to order something from them and for some reason DHL is now the only available ( US ) shipping option, and it's quite expensive. The sensorbenders I ordered last month were ~$6 shipping, the other components I looked at today via DHL (similar size) were $46, so might be worth holding off a bit until they restore the air-mail option.


  • Admin

    $46 in shipping is a bit hefty. I'll check what's up with their air mail shipping.



  • @hek I have seen it happen once before with them -- wait a few hours, or at most a day and it'll be corrected if history repeats...



  • My last order have cheap shipping costs. But this time I buy lot of things, and shipping price is probably higher du to the weight.


  • Hero Member

    @gloob You fell for the oldest marketing trick in the world. I also missed a heartbeat when pressing on the clearance banner and seeing sensebender there!!!


  • Admin

    @Moshe-Livne @gloob

    The sensebender is shown under the "new stuff" banner 🙂

    (At least in the email I got from Itead :))


  • Hardware Contributor

    Hi,

    @tbowmo or @hek: Could you point me to the right Mysensors bootloader directory please? Is it this one https://github.com/mysensors/Arduino/tree/master/MYSBootloader ? I think yes, but I have seen others links, so I am not sure. I would like to add and test some ulpnode functionalities and would like to start with the right bootloader.


  • Admin

    @scalz

    for the sensebender, we are using DualOptiboot, as we have an external flash onboard, that we can use for OTA firmware updates (it requires dev branch of mysensors though..)


  • Hardware Contributor

    @tbowmo: thank you for your reply. So what is the difference between your link and the one I posted just before (I have not checked yet) ? So, for the moment there is no Mysensors bootloader for stable, isnt it? I just need to add some pin toggle to make some tests (enable dc booster on my board, tune clock, and keep the ota stuff...) and wanted to stick to the stable branch but no problem I will move to dev branch, I think it is time 😃 .
    I don't remember who wanted to use ws2812 in bootloader (maybe it is you?) but there is an implementation in ulpnode bootloader if you are interested : https://github.com/hallard/Arduino-Boards/tree/master/1.0.0/bootloaders/ULPoptiboot


  • Admin

    @scalz

    It's two different bootloaders. the one you have linked to is handling the radio in the bootloader, and can reprogram itself OTA without an external flash attached.

    The one I have linked to, is using an external flash (on the sensebender) and by loading the external flash with a new sketch, it will cause the bootloader to load the content of the external flash, into the internal flash. The same concept is used in LowPowerLabs moteino boards.

    In order to use dualoptiboot, your sketch needs to support the external flash, and write the firmware it receives OTA to it. This functionality is only available in the dev branch as of now. I don't know if @hek has tested it yet? (I have been busy with a lot of other things lately so haven't got around to test it here..)


  • Hardware Contributor

    @tbowmo:it is clear to me now. I will dig in.
    Thank you for your valuable help.



  • I try to make OTA update for sensebender using 1.5 branch sketch on the sensebender (sensebender github sketch from 1.5 branch) and MYSController but it doesn't work. Any idea ?


  • Admin

    @Fabien

    Have you enabled spi flash, and Ota functions in the constructors for mysensors?


  • Admin

    @Fabien MYSController is currently not supporting Sensebender board OTA - however, WIP and beta will be released soon. stay tuned 🙂


  • Admin

    @tekka
    Have you had the chance to get a sensebender board? As I still haven't verified the library code it probably could contain unverified features (== bug). Send me a ping on hangout if you need a board to test on. We should probably combine our effort.

    My last days of vacation has been filled with (family) activities. On my shortlist is the thermostat/HVAC device support (still a bit messy but I hope to get the devices from dev-branch into master together with the hvac thingies). Ping @pjr, @stephenmhall .
    http://forum.mysensors.org/topic/1337/request-new-sensor-type-thermostatically-controlled-switch/7



  • @hek
    I have used the one mentioned here: http://www.mysensors.org/controller/vera

    Still cant include, but I have had these problems before with e.g. a relay or motion sensor - but after several tries it include a appear in the user interface.
    But perhaps the software installed on the board does not use the same frequency as default Sensornet lib's are using?

    /Kurt



  • Thank you @tekka and @tbowmo. I don't change the constructors and if MYS doesn't support OTA, it can't work. I will upload a modified version tonight to be ready when MYSConrtoller will support sensebender.
    I have to upload new sketch with 1.5 branch on gateway too ?



  • Today I received a new batch of radio modules and all problems with transmission fails is gone.


  • Hero Member

    @gloob can you share where you got the good nrf from?





  • @Moshe-Livne just FYI - i ordered all my NRF's from the same place i ordered the sensebender boards from.
    and they were all legit NRF's came in their own boxes and have worked great.
    http://imall.itead.cc/wireless/im120606002.html


  • Admin

    My Sensebender has been running for a month now with 2xAA with the default sketch (which have improved a bit since then). Battery level has dropped 5%.

    Screen Shot 2015-07-16 at 17.35.12.png

    We've had a few hot days (inside the house) during the summer (Deg C).
    Screen Shot 2015-07-16 at 17.39.57.png


  • Hero Member

    @mvader said:

    @Moshe-Livne just FYI - i ordered all my NRF's from the same place i ordered the sensebender boards from.
    and they were all legit NRF's came in their own boxes and have worked great.
    http://imall.itead.cc/wireless/im120606002.html

    Thanks for the tip! I just ordered some.



  • @hek interesting my 2aa alkaline batteries are down 15% in a month with sketch supplied on board.
    I will keep track. But to grAph I need the Ethernet gw am building it next.


  • Hero Member

    @mvader said:

    @Moshe-Livne just FYI - i ordered all my NRF's from the same place i ordered the sensebender boards from.
    and they were all legit NRF's came in their own boxes and have worked great.
    http://imall.itead.cc/wireless/im120606002.html

    Do they "just work out of the box" or do they benefit from the 10uF capacitor that some boards allegedly seem to need?


  • Admin

    @NeverDie

    I'm not using an extra capacitor on the 3 sensebenders (from itead) that I have in operation at the moment. and they are working without problems.


  • Hero Member

    Batteries usually provide a 'clean' power supply. The capacitor is more useful when there is ripple from the AC adapter.



  • @NeverDie said:

    @mvader said:

    @Moshe-Livne just FYI - i ordered all my NRF's from the same place i ordered the sensebender boards from.
    and they were all legit NRF's came in their own boxes and have worked great.
    http://imall.itead.cc/wireless/im120606002.html

    Do they "just work out of the box" or do they benefit from the 10uF capacitor that some boards allegedly seem to need?

    no cap needed.. just straight to the board.



  • I have just a question about the default sketch.

    Doesn't the following code influence the sleep time?

      // check if we can lower the speed
      if ((measureCount == 5) && highfreq)
      {
        clock_prescale_set(clock_div_8); // Switch to 1Mhz for the reminder of the sketch, save power.
        highfreq = false;
      }
    

    If i lower the clock speed I would expect a lower processing time.

    Also, the threshold for temperature and humidity is set to 0.5 and the humidity is read in percent as an integer. Doesn't this mean that even when the humidity changes by less than 1 percent I get an update of the values. I would expect that the noise of the humidity sensor is around 1%.


  • Admin

    @gloob said:

    I have just a question about the default sketch.

    Doesn't the following code influence the sleep time?

    It's the watchdog that is used for calculating the sleeptime, which is running independently from the CPU oscliator (which is lowered here).

    If i lower the clock speed I would expect a lower processing time.

    Also, the threshold for temperature and humidity is set to 0.5 and the humidity is read in percent as an integer. Doesn't this mean that even when the humidity changes by less than 1 percent I get an update of the values. I would expect that the noise of the humidity sensor is around 1%.

    Humidity is using a running average, it starts with taking average of the previous two measurements, put in the current measurement, and takes a new average (meaning this measurement, and the previous measurement). Then it takes the difference between those two averages, and this needs to be above 0.5.

    In theory it should lower the number of transmissions, if the humidity fluctuates, like: 50%, 51%, 50%.. without the running average, this would trigger 3 transmissions.

    You are welcome to suggest another method of limiting "spurious" transmissions 🙂


  • Hero Member

    @tbowmo hmmm haven't looked at the details in the sketch but suppose we have 50, 50 , 51, 50, 51, 51, 51 wouldn't the results be:
    50, 50 = 50
    50, 50, 51 = 50.3
    50, 51 = 50.50
    50, 51, 50 = 50.50
    51, 50 = 50.50
    51, 50, 51 = 50.6
    50, 51 = 50.50
    50, 51, 51 = 50.6
    51, 51 = 51
    51, 51, 51 = 51

    so no over 0.5 fluctuation?
    I think a threshold would work better. can be by running average but from a fixed, last reported temp.


  • Hero Member

    @hek

    I started it plugged to a vinduino like schema, so I had this :

    Sensebender Micro FW 1.2 - TestMode
    Testing peripherals!
    -> SI7021 : ok!
    -> Flash : failed!
    -> SHA204 : Ok (serial : 01232F36E159E8ADEE)
    Test finished
    ----> Selftest failed!
    

    I read your posts, replaces 1.4.1 libs by 1.5, reflashed it with the demo code and here is what I have:

    Sensebender Micro FW 1.2radio init fail
    

    is that because I don't have a 1.5 serial gateway ?

    I have the socket and the FTDI on the same side so I may avoid the above ?


  • Hero Member

    Finally got around to hooking one of these up last night. I soldered in the socket for the radio and the wires for my battery pack and uploaded the latest version of the sketch by just holding the FTDI connections in place. The sensor is working great. Thanks to @hek and @tbowmo for making it available!

    I'm capturing the data including battery percentage to track how long it will last. One thing is that the battery percentage is jumping around quite a bit. It started at around 93%, dropped below 90, jumped backup to 95, etc. so I'll need to do some investigation as to why. This is happening with brand-new Duracell copper-top batteries. Also, for any future enhancements to the board, I would love to see a couple of mounting holes.

    Sensebender.PNG

    Cheers
    Al


  • Hero Member

    @Sparkman
    I wounder if that is being caused by the loading of the battery and the moment the battery info is being calculated......


  • Hero Member

    @ServiceXp Good point. Maybe for the low values it's transmitting the temp/humidity when it's calculating the battery level. I'll take a look at the sketch to see if that could be the case.

    Cheers
    Al



  • Hello

    I found an error in the sensebender micro sketch in the latest release.

    The calculation of the temperature change is wrong.

    float diffTemp = abs(lastTemperature - (isMetric ? data.celsiusHundredths : data.fahrenheitHundredths) / 100);
    

    needs to be replaced with

    float diffTemp = abs(lastTemperature - (isMetric ? data.celsiusHundredths : data.fahrenheitHundredths) / 100.0);
    

    The division with 100 needs to be 100.0 otherwise the result will be an integer instead of a float value and the difference will be the decimal places of the last temperature.


  • Contest Winner

    This should work as well and might be more clear:

    float diffTemp = abs(lastTemperature - (isMetric ? data.celsiusHundredths : data.fahrenheitHundredths) / 100f);
    

    But I guess it is a matter of taste 🙂



  • Hi guys,
    amazing board! But i have a question: The Arduino IDE offerst two options as destination - 8MHz and 1MHz. Which one should i chose? My board seems to work in general, but not very realiable...


  • Hero Member

    @Stephan-Noller Out of the box, I had to use the 8MHz option to upload the sketch to it.

    Cheers
    Al


  • Admin

    The sensebender is set up to run at 8Mhz. There is an option to build it for 1Mhz, but you have to switch the prescaler yourself in your sketch.

    However I think the current consumption saved by running on 1Mhz vs 8Mhz is very limited on the sensebender, as the oscillator is shut down the majority of time (when we are sleeping the MCU).
    . I have not made any measurements on this yet (busy with a 1000 of other projects)


Log in to reply
 

Suggested Topics

  • 3
  • 109
  • 2
  • 5
  • 109
  • 2

53
Online

11.4k
Users

11.1k
Topics

112.7k
Posts