Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Hardware
  3. Minimal design thoughts

Minimal design thoughts

Scheduled Pinned Locked Moved Hardware
299 Posts 34 Posters 177.6k Views 17 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • tbowmoT Offline
    tbowmoT Offline
    tbowmo
    Admin
    wrote on last edited by
    #192

    What bootloader should I go for, for the prodcution run? (that is preload a bootloader into the atmega) ?

    I am also thinking about preloading a default sketch as well, so it's almost plug'n'play.

    (@hek, this default sketch should probably be included in the mysensors git repo, right ?)

    / Thomas

    1 Reply Last reply
    0
    • hekH Offline
      hekH Offline
      hek
      Admin
      wrote on last edited by hek
      #193

      Yep, a default sketch would be nice that reports temp/hum. Think it should be added to examples-folder like the others.

      Would be fun to test the flash as well... Haven't seen @ToSa (the bootloader developer) around here for a while. Ideally a new bootloader should be adopted and MySensors library store bootloader update messages (in flash) at normal "runtime".

      1 Reply Last reply
      0
      • tbowmoT Offline
        tbowmoT Offline
        tbowmo
        Admin
        wrote on last edited by
        #194

        @hek

        I have been trying to get DualOptiboot from lowpowerlabs to run.. because it's able to use the external flash. It also seems like it is starting up as it flashes the LED during bootup, but it doesn't respond when I try to download via serial port using arduino. I might be blind or something, as I can't seem to figure out what the *beep' is going on :)

        I have a sketch now, that is running on the first prototype here.. Should I make a pull request, to add it?

        Btw. I have tested the external flash, by writing "random" bytes to it, and read it back again.. So I know it is working.

        hekH tekkaT 2 Replies Last reply
        0
        • tbowmoT tbowmo

          @hek

          I have been trying to get DualOptiboot from lowpowerlabs to run.. because it's able to use the external flash. It also seems like it is starting up as it flashes the LED during bootup, but it doesn't respond when I try to download via serial port using arduino. I might be blind or something, as I can't seem to figure out what the *beep' is going on :)

          I have a sketch now, that is running on the first prototype here.. Should I make a pull request, to add it?

          Btw. I have tested the external flash, by writing "random" bytes to it, and read it back again.. So I know it is working.

          hekH Offline
          hekH Offline
          hek
          Admin
          wrote on last edited by
          #195

          @tbowmo said:

          Should I make a pull request, to add it?

          Yep, do that.. And include the libraries for flash/hum/temp if needed.

          1 Reply Last reply
          0
          • tbowmoT tbowmo

            @hek

            I have been trying to get DualOptiboot from lowpowerlabs to run.. because it's able to use the external flash. It also seems like it is starting up as it flashes the LED during bootup, but it doesn't respond when I try to download via serial port using arduino. I might be blind or something, as I can't seem to figure out what the *beep' is going on :)

            I have a sketch now, that is running on the first prototype here.. Should I make a pull request, to add it?

            Btw. I have tested the external flash, by writing "random" bytes to it, and read it back again.. So I know it is working.

            tekkaT Offline
            tekkaT Offline
            tekka
            Admin
            wrote on last edited by
            #196

            @tbowmo which flash ic are you using?

            1 Reply Last reply
            0
            • tbowmoT Offline
              tbowmoT Offline
              tbowmo
              Admin
              wrote on last edited by
              #197

              @tekka

              It's an adesto AT25DF512C-SSHN-B. Chosen because supply range is 1.8 - 3.6V (It's a bit hard finding flash chips that cover the whole range)

              1 Reply Last reply
              0
              • hekH Offline
                hekH Offline
                hek
                Admin
                wrote on last edited by
                #198

                @tbowmo
                Regarding bootloader I stumbled upon this:
                http://hallard.me/ulpnode-bootloader/
                http://hallard.me/ulpnode-bootloader-1/

                1 Reply Last reply
                0
                • tbowmoT Offline
                  tbowmoT Offline
                  tbowmo
                  Admin
                  wrote on last edited by
                  #199

                  @hek

                  I don't have problems with bootloaders in general, I tried the standard arduino bootloader, and it works ok. It's just the DualOptiboot from lowpowerlab I can't get to work.. And it drives me crazy :)

                  Think I need to figure out some way of debugging the bugger, to figure out what it is doing, but it's hard to find time for it, when I only have one hour every now and then for debugging..

                  tekkaT 1 Reply Last reply
                  0
                  • tbowmoT tbowmo

                    @hek

                    I don't have problems with bootloaders in general, I tried the standard arduino bootloader, and it works ok. It's just the DualOptiboot from lowpowerlab I can't get to work.. And it drives me crazy :)

                    Think I need to figure out some way of debugging the bugger, to figure out what it is doing, but it's hard to find time for it, when I only have one hour every now and then for debugging..

                    tekkaT Offline
                    tekkaT Offline
                    tekka
                    Admin
                    wrote on last edited by
                    #200

                    @tbowmo yup, debugging these things is a pain in the neck - I've been working on the OTA bootloader for a while (mainly optimizing size, speed and additional features). What works best for me, is using debugwire in atmel studio...but sometimes quite cryptic and not straight forward :)

                    tbowmoT 1 Reply Last reply
                    0
                    • tekkaT tekka

                      @tbowmo yup, debugging these things is a pain in the neck - I've been working on the OTA bootloader for a while (mainly optimizing size, speed and additional features). What works best for me, is using debugwire in atmel studio...but sometimes quite cryptic and not straight forward :)

                      tbowmoT Offline
                      tbowmoT Offline
                      tbowmo
                      Admin
                      wrote on last edited by
                      #201

                      @tekka

                      Well, i have thought about that as well (Avr studio route) but then i have to start up my wimdows machine, too much work at the moment ;)

                      1 Reply Last reply
                      0
                      • tbowmoT Offline
                        tbowmoT Offline
                        tbowmo
                        Admin
                        wrote on last edited by
                        #202

                        Bugger.. DHL tried to deliver the package with PCB's from dirtypcbs, while I was at work today. So they only left me a note, that they couldn't deliver it. Have to wait untill monday, before they will try to deliver it again.. :s

                        Anyway, I now know that the boards are in DK somewhere :)

                        The other day I also have received 3 pcs of ATSHA204A (samples). so I can verify that part of the HW design.

                        And last but not least. I have a uCurrent waiting at the post office, that I can pick up later today.. So I can also start measuring supply currents to the device! :) Hope that I'll get some time to look at that part during the weekend :)

                        1 Reply Last reply
                        3
                        • tbowmoT Offline
                          tbowmoT Offline
                          tbowmo
                          Admin
                          wrote on last edited by
                          #203

                          Good news..

                          On a saturday evening, where nothing is on TV, but a danish pre- european song contest program, I decided that I should have a look at the bootloader (amongst other stuff)

                          I actually succeeded in getting the bootloader into the device, and I can reprogram using serial now. Next step is to verify that I can use the spi flash to reload the unit.

                          I have thought of a strategy for testing the flash for reprogramming. It involves making a very basic sketch that I could compile and put into another sketch, which writes the first one to the flash, and reboots the device, and thus reprograms itself with the first sketch :). But it's going to take a while for that to happen (if anyone have a better idea, then please let me know :))

                          I also have tried the uCurrent, and tried to do some measurements on current consumption. When it's a sleep, it uses arround 60uA, and while awake it's up to 22mA for 60m seconds.

                          2015-02-07-1.jpg

                          1 Reply Last reply
                          2
                          • blaceyB Offline
                            blaceyB Offline
                            blacey
                            Admin
                            wrote on last edited by
                            #204

                            Sweet! :+1::+1::+1:

                            1 Reply Last reply
                            0
                            • T Offline
                              T Offline
                              tlund
                              wrote on last edited by tlund
                              #205

                              @tbowmo

                              That current draw seems a bit high.

                              A modified 3.3V pro mini draws ~100nA in "deep" sleep without watchdog timer (pretty much everything disabled). The nrf24l01+ draws ~900nA in power down. If you wake up the 328 using its watchdog timer (i.e. sleep != 0), then that watchdog will draw around 5uA, but it wakes up every 8 sec, so the average "extra" current consumption caused by the watchdog is closer to 6uA. According to the si7021 datasheet* it draws 60 nA standby current, and 150 uA active current.
                              In other words, you should see a current consumption < 10uA in sleep mode. When active, the si7021 is negligible compared to the nrf and 328's current consumption, but the total consumption for nrf and 328 should still be less than 22mA... The 60ms you see probably indicates that the nrf is not able to get a hardware ("link-level") ACK, so it retries up to 15 times. Also, disabling DEBUG in MyConfig.h will save a few extra milliseconds. You should also make sure node.send() is the last thing you do before node.sleep(), or else the NRF will countinue to draw ~13mA until sleep() or RF24::powerDown() is called.

                              This should not be too far from the theoretical current consumption profile for your board when reading hum+temp at given INTERVAL:
                              (Assuming the nrf, 328 and si7021 has already been "booted")

                              sleep(INTERVAL): ~7uA on average
                              awake time 2+12+10.8+8 = 32.8ms
                              - 328 wakeup: 3.6mA for 2ms
                              - si7021 conversion hum: 3.6mA + 150uA for 12ms
                              - si7021 conversion temp: 3.6mA + 150uA for 10.8ms
                              - nrf24 send: 3.6mA + 13.4mA for 8ms (assuming no message retries)

                              What components are actually mounted on the board you tested?
                              The ATSHA204 should draw max 3mA active, and <150nA sleeping.
                              The 25aa080sn*

                              • Write current: 3 mA maximum
                              • Read current: 500uA typical
                              • Standby current: 500 nA typical

                              You probably already know all this, but I thought I might mention it anyway :)

                              http://www.silabs.com/Support Documents/TechnicalDocs/Si7021.pdf
                              http://www.atmel.com/Images/Atmel-8740-CryptoAuth-ATSHA204-Datasheet.pdf
                              http://ww1.microchip.com/downloads/en/DeviceDoc/21230E.pdf

                              1 Reply Last reply
                              0
                              • tbowmoT Offline
                                tbowmoT Offline
                                tbowmo
                                Admin
                                wrote on last edited by
                                #206

                                @tlund

                                I haven't done anything to optimise things yet. The sketch I'm running is in the examples section on Mysensors github repro so you could have a look there.

                                The board is without external flash (didn't mount it on board #1 that i used last night) and without atsha204, as it's still the first prototype board. The new version should arrive tomorrow, where I can mount the atsha204.

                                1 Reply Last reply
                                0
                                • tbowmoT Offline
                                  tbowmoT Offline
                                  tbowmo
                                  Admin
                                  wrote on last edited by
                                  #207

                                  WUUUHUU! What a great sunday :)

                                  Just verified bootloader is working with external flash! Verified with dumping a small sketch to the external flash (By use of another sketch).

                                  So external flash is verified as functional, for the bootloader part...

                                  1 Reply Last reply
                                  3
                                  • tbowmoT Offline
                                    tbowmoT Offline
                                    tbowmo
                                    Admin
                                    wrote on last edited by tbowmo
                                    #208

                                    forgot an update last week, I received rev2 boards last monday (9/2). but was on vacation with the family (They have priority above "nerd" projects ;))

                                    Will see if I can get a couple of pictures of the new boards when I get home from daytime job today.

                                    And hopefully, I'll get a couple of boards mounted during this week, so I can get it verified, and we can start preparing for "production to the masses" :)

                                    AnticimexA RJ_MakeR 2 Replies Last reply
                                    2
                                    • tbowmoT tbowmo

                                      forgot an update last week, I received rev2 boards last monday (9/2). but was on vacation with the family (They have priority above "nerd" projects ;))

                                      Will see if I can get a couple of pictures of the new boards when I get home from daytime job today.

                                      And hopefully, I'll get a couple of boards mounted during this week, so I can get it verified, and we can start preparing for "production to the masses" :)

                                      AnticimexA Offline
                                      AnticimexA Offline
                                      Anticimex
                                      Contest Winner
                                      wrote on last edited by
                                      #209

                                      @tbowmo
                                      Nice! I have updated the ATSHA204 personalizer to work without UART and I will try to push it to github tonight or tomorrow so you can use it to verify the ATSAHA (if you need to). I am not completly finished to release signing support to the masses yet, but things are moving along nicely and I hope to be able to do that will full documentation and HW independency by the end of the month.

                                      Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                                      tbowmoT 1 Reply Last reply
                                      0
                                      • AnticimexA Anticimex

                                        @tbowmo
                                        Nice! I have updated the ATSHA204 personalizer to work without UART and I will try to push it to github tonight or tomorrow so you can use it to verify the ATSAHA (if you need to). I am not completly finished to release signing support to the masses yet, but things are moving along nicely and I hope to be able to do that will full documentation and HW independency by the end of the month.

                                        tbowmoT Offline
                                        tbowmoT Offline
                                        tbowmo
                                        Admin
                                        wrote on last edited by
                                        #210

                                        @Anticimex

                                        Nice! I have updated the ATSHA204 personalizer to work without UART and I will try to push it to github tonight or tomorrow so you can use it to verify the ATSAHA (if you need to).

                                        Is there any status messages sent to the UART, in case communication with ATSHA204 fails? Or is there any other method of indicating success/failure?

                                        AnticimexA 1 Reply Last reply
                                        0
                                        • tbowmoT tbowmo

                                          @Anticimex

                                          Nice! I have updated the ATSHA204 personalizer to work without UART and I will try to push it to github tonight or tomorrow so you can use it to verify the ATSAHA (if you need to).

                                          Is there any status messages sent to the UART, in case communication with ATSHA204 fails? Or is there any other method of indicating success/failure?

                                          AnticimexA Offline
                                          AnticimexA Offline
                                          Anticimex
                                          Contest Winner
                                          wrote on last edited by
                                          #211

                                          @tbowmo
                                          No, I am afraid you have to have a serial debug port to get any status. My updates merely "permits" you to personalize a ATSHA without UART input (something I have added as a "are you sure, this cant be undone" precaution).
                                          However, it is possible to check connectivity by downloading my example "secure actuator" sketch and use a gateway sketch from the same "repo". The "secure actuator" will inform the GW that it require signing, and when GW asks the actuator for a nonce, actuator will ask ATSHA for a random number. A "virgin" ATSHA will give a fixed value which is recognizable and can therefore be seen by the GW. And if pattern shows, you will know that the actuator can talk to the ATSHA. A bit cumbersome, but that can be done without any hacking using existing examples (from my personal signing haxxor-branch for the moment).
                                          The alternative is to make your own simple read-and-transmit sketch to test of course.

                                          Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          28

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.1k

                                          Posts


                                          Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular