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
    #188

    @Anticimex

    Just received the tracking number.. (so it took them 2 days to go from the factory to the shipping company :))

    Anyway, now I have a tracking number, so I can keep an eye on things :)

    1 Reply Last reply
    1
    • tbowmoT tbowmo

      I'm thinking about spinning up the good old eagle cad program again, and start creating sensor boards (Like so many others here :))

      Only thing is, that unlike (almost) everyone else, that are using normal arduino micro boards, I'm thinking about skipping that part, and create my "own" arduino board, thinking about the following:

      1. use atmega 328 tqfp (That's doable for home soldering :))
      2. pads for a 32Khz crystal, for timing purposes
      3. Standard atmel programming header.
      4. ftdi header like on arduino mini, so could use arduino bootloader (could be some details about the baudrate though, as it's running off internal RC oscillator)
      5. Using Si7021 integrated humidity / temperature sensor, footprint for bmp180 barometric sensor
      6. skip power converters, run everything off a battery directly (disable brownout detection in atmel)
      7. SPI flash / e2prom onboard. Using same connections as moteino from lowpowerlabs, so should be able to use same bootloader for updates to firmware
      8. pinheader for connecting radio module
      9. Pinheader for D3-D7 on one side, and SDA/SCL + A0/A1 and power on the other side
      10. Formfactor is 30x17.5mm (almost same size as the NRF24 module).
      11. ATSHA204A sot23 footprint on board (Connected to A3). Can be used for SHA256 key exchange and verification
      12. status LED (on A2)

      Any thoughts about this? Or should I wait for the all in one mysensors battery sensor board? (When will that be available?)

      / Thomas

      (Spec updated January 28th, 2015)

      C Offline
      C Offline
      CodeIt
      wrote on last edited by
      #189

      @tbowmo Since Domoticz (home automation software) got support for MySensors i have been looking for cool sensors. I want to place a MySensor node in every room in my house with temp/humidity motion and reed contact, run directly from battery. Your board looks very promising. I only have one question. Is it possible to have two interrupts (for the motion sensor and reed contact)?

      hekH 1 Reply Last reply
      0
      • C CodeIt

        @tbowmo Since Domoticz (home automation software) got support for MySensors i have been looking for cool sensors. I want to place a MySensor node in every room in my house with temp/humidity motion and reed contact, run directly from battery. Your board looks very promising. I only have one question. Is it possible to have two interrupts (for the motion sensor and reed contact)?

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

        @CodeIt

        D2 is connected to radio socket IRQ pin.
        But as it currently not used by the library you could just cut the leg on radio and connect it to whatever you want.

        1 Reply Last reply
        0
        • axillentA Offline
          axillentA Offline
          axillent
          Mod
          wrote on last edited by axillent
          #191

          it is also possible to use PCINT interrupt on mostly any digital or even analog pin

          sense and drive

          1 Reply Last reply
          0
          • 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
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          19

                                          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