Minimal design thoughts
-
hmm.. Now I've had the two sensors on the table beside each other (sensor #1 and #2).
Temperature is off by 1.6 degrees celcius, and humidity 2% difference. Could be it's the different temperature, that makes the RH calculation differ a bit..
And for some build data.. It took me a good hour to populate all the parts. This one also have the additional eeprom mounted. but still need something for verifying that it works..
-
@ServiceXp
according to the datasheet the precision on temperature is +/- 0.4 degrees celcius, and +/- 3% RH.
They did however release a new chip revision (Si7021-A20) just after I bought mine (which is A10), they had some problems where the chip didn't enter standby correctly. Maybe that is the problem (also battery drain has been quicker than what I expected on the new node)
and yes, it's about an hour handsoldering things, and also programming the sensor, which also caused some troubles. Had to reprogram a lot of times, because of checksum errors. This could be caused by the fact that I have both eeprom, and nrf24l chip hanging on the SPI bus on the atmega, this is the same bus that is used by my ISP programmer (jtag ice3).
Think I have to get a proper bootloader into the device, so I can use the serialport to download instead.
-
and now the external SPI flash is verified as working, just with a simple program, reading out the manufacturer ID, and writing / reading data to/from the device.
Next step I wanted to get a bootloader working, so I could use standard arduino to download firmware, and also (at some point in time) utilize the flash for OTA updates. However, I can't seem to get bootloader support working..
I have tried to get DualOptiboot from lowpowerlabs working now, with several rebuilds etc., it seems like it is running fine (LED is blinking a couple of times, when it boots) but arduino wont sync to the bootloader, so either it runs on a wrong baudrate, or something else is wrong in the setup. But so far I haven't suceeded in figuring out what it is..
(Anyone else that has some knowledge on bootloaders, that could have an idea to what to look at?)
/ Thomas
-
I am almost ready for a second prototype spin of the PCB, but before doing that I could use some input from the community,
If this board was going into "mass production", is there any features that I should consider adding? Any missing parts? Anything that you think that I have forgotten?
The schematics for revision 2 is a couple of posts back in the thread.
I have considered adding a ATSHA204 for future security purposes, but can't seem to find a suitable spot for it (maybe I'm just too tired to see things clearly at the moment :)).
-
and now the external SPI flash is verified as working, just with a simple program, reading out the manufacturer ID, and writing / reading data to/from the device.
Next step I wanted to get a bootloader working, so I could use standard arduino to download firmware, and also (at some point in time) utilize the flash for OTA updates. However, I can't seem to get bootloader support working..
I have tried to get DualOptiboot from lowpowerlabs working now, with several rebuilds etc., it seems like it is running fine (LED is blinking a couple of times, when it boots) but arduino wont sync to the bootloader, so either it runs on a wrong baudrate, or something else is wrong in the setup. But so far I haven't suceeded in figuring out what it is..
(Anyone else that has some knowledge on bootloaders, that could have an idea to what to look at?)
/ Thomas
-
@boozz said:
@tbowmo
Does this link help you? Some explanation on bootloaders and practical stuff to help you burn botloaders on the ao Atmega326...BR
BoozzI can program a standard arduino bootloader, which works. I just want to use the one from lowpowerlabs, dual optiboot, so i can utilise the external Flash chip. But i Can't get it to work at all.
-
@boozz said:
@tbowmo
Does this link help you? Some explanation on bootloaders and practical stuff to help you burn botloaders on the ao Atmega326...BR
BoozzI can program a standard arduino bootloader, which works. I just want to use the one from lowpowerlabs, dual optiboot, so i can utilise the external Flash chip. But i Can't get it to work at all.
-
I am almost ready for a second prototype spin of the PCB, but before doing that I could use some input from the community,
If this board was going into "mass production", is there any features that I should consider adding? Any missing parts? Anything that you think that I have forgotten?
The schematics for revision 2 is a couple of posts back in the thread.
I have considered adding a ATSHA204 for future security purposes, but can't seem to find a suitable spot for it (maybe I'm just too tired to see things clearly at the moment :)).
@tbowmo said:
I am almost ready for a second prototype spin of the PCB, but before doing that I could use some input from the community,
If this board was going into "mass production", is there any features that I should consider adding? Any missing parts? Anything that you think that I have forgotten?
The schematics for revision 2 is a couple of posts back in the thread.
I have considered adding a ATSHA204 for future security purposes, but can't seem to find a suitable spot for it (maybe I'm just too tired to see things clearly at the moment :)).
I would work on trying to get the ATSHA204 included, even if it means the dims get a little larger. The one thing that I really don't like about MySensors is the lack of any wireless security.. Would love to see this implemented.
-
And sensor #2 is build.. This time the radio module is soldered directly to the sensor module, making it a realy small device now..


-
@tbowmo Maybe i missed it but do you have an image with the si7021 attached to the radio and pcb?
-
@tbowmo said:
I am almost ready for a second prototype spin of the PCB, but before doing that I could use some input from the community,
If this board was going into "mass production", is there any features that I should consider adding? Any missing parts? Anything that you think that I have forgotten?
The schematics for revision 2 is a couple of posts back in the thread.
I have considered adding a ATSHA204 for future security purposes, but can't seem to find a suitable spot for it (maybe I'm just too tired to see things clearly at the moment :)).
I would work on trying to get the ATSHA204 included, even if it means the dims get a little larger. The one thing that I really don't like about MySensors is the lack of any wireless security.. Would love to see this implemented.
@ServiceXp said:
I would work on trying to get the ATSHA204 included, even if it means the dims get a little larger. The one thing that I really don't like about MySensors is the lack of any wireless security.. Would love to see this implemented.
For one second, I thought you where danish :), as the word "dims" usually refers to a small gadget like device, that you don't have a name for at the moment (or even components, screws, bolts, anything small could be a "dims") :)
-
@tbowmo I don't see a Load Capacitor on the crystal. Especially if you need a precise clock you should use some. Have a look at https://www.adafruit.com/blog/2012/01/24/choosing-the-right-crystal-and-caps-for-your-design/ for example about Load Capacitors.
-
@tbowmo I don't see a Load Capacitor on the crystal. Especially if you need a precise clock you should use some. Have a look at https://www.adafruit.com/blog/2012/01/24/choosing-the-right-crystal-and-caps-for-your-design/ for example about Load Capacitors.
@Dirk_H said:
@tbowmo I don't see a Load Capacitor on the crystal. Especially if you need a precise clock you should use some. Have a look at https://www.adafruit.com/blog/2012/01/24/choosing-the-right-crystal-and-caps-for-your-design/ for example about Load Capacitors.
I know that normally the crystal require load capacitors, but for the low freq. oscilator (32Khz) its not necessary (as far as I have read), that's why I omitted them from the design. I'll try and dig out the datasheets when I'm at home and double check things.
-
@tbowmo said:
ATSHA204
This module is verry interesting but how it work? What you have to do in code to make it work, crypting messages,...?
@Tibus said:
@tbowmo said:
ATSHA204
This module is verry interesting but how it work? What you have to do in code to make it work, crypting messages,...?
There are other threads about the ATSHA204 around in the forum. It's basically just a method for signing messages between units, not encryption. I haven't made any code for it myself, just thinking about implementing it for future plans (and for others to pick up on)
-
@Tibus said:
@tbowmo said:
ATSHA204
This module is verry interesting but how it work? What you have to do in code to make it work, crypting messages,...?
There are other threads about the ATSHA204 around in the forum. It's basically just a method for signing messages between units, not encryption. I haven't made any code for it myself, just thinking about implementing it for future plans (and for others to pick up on)
@tbowmo said:
@Tibus said:
@tbowmo said:
ATSHA204
This module is verry interesting but how it work? What you have to do in code to make it work, crypting messages,...?
There are other threads about the ATSHA204 around in the forum. It's basically just a method for signing messages between units, not encryption. I haven't made any code for it myself, just thinking about implementing it for future plans (and for others to pick up on)
Ah but from what I've read it can indeed encrypt the data stream. Did I completely get it wrong?
-
@tbowmo said:
@Tibus said:
@tbowmo said:
ATSHA204
This module is verry interesting but how it work? What you have to do in code to make it work, crypting messages,...?
There are other threads about the ATSHA204 around in the forum. It's basically just a method for signing messages between units, not encryption. I haven't made any code for it myself, just thinking about implementing it for future plans (and for others to pick up on)
Ah but from what I've read it can indeed encrypt the data stream. Did I completely get it wrong?
@ServiceXp said:
@tbowmo said:
@Tibus said:
@tbowmo said:
ATSHA204
This module is verry interesting but how it work? What you have to do in code to make it work, crypting messages,...?
There are other threads about the ATSHA204 around in the forum. It's basically just a method for signing messages between units, not encryption. I haven't made any code for it myself, just thinking about implementing it for future plans (and for others to pick up on)
Ah but from what I've read it can indeed encrypt the data stream. Did I completely get it wrong?
It's a crypto authentication device, datasheet is at
http://www.atmel.com/devices/ATSHA204A.aspxFor sensor data it should be enough, it help to prevent replay attacks, so an intruder can't switch of the lights for example, because the attacker don't have the presharred keys available
-
It's a crypto authentication device
As discussed in the security thread I think authentication alone can be useful but encryption is providing both security and a reasonable form of authentication so why not go for an encryption IC instead of the ATSHA204A.
Atmel has a nice IC doing AES:
http://www.atmel.com/devices/ATAES132.aspx
A bit larger (8 pins SOIC), but reasonable cheap € 0,782 (@10)
It is also part of CryptoCape, so there should be some software support for it.
-
That chip is still only for authentication, only it's with aes-128 message auth instead of sha 256
Also another thing i noted, is that the supported supply range is from 2.5 to 5v, whereas the atsha204 could operate down to 2.0v.
-
That chip is still only for authentication, only it's with aes-128 message auth instead of sha 256
If I have a look at the datasheet I see:
Opcode Name Description 0x06 Encrypt Encrypts 16 or 32 bytes of plaintext data provided by the Host. 0x07 Decrypt Decrypts 16 or 32 bytes of data provided by the Host after verifying the integrity MAC.So it does encrypt/decrypt.
The CryptoCape board has both ATSHA204A and ATAES132 where the ATAES132 can "Encrypt up to a 32 byte packet at a time with AES-128-CCM"
Not sure if it is handy to have the integrity MAC combined as that does require 16 additional bytes, but that is the same story for SHA-256.