My Sensor node "motherboard" (MySensorsNode)
- Version 1.1 [purchase](the 5x5 board as sent to manufacturing, HW verification NOT done)
- Version 1.0 [purchase](contain multiple issues, NOT recommended to use, does only cotain 5x5 layout and the release is signed with my old (revoked) PGP key)
I designed this board as a host for the hardware I have collected so far.
I have made three layouts of the board; one “low cost” 5x5 cm board (allows the cheapest option at Dirt Cheap Dirty Boards and two layouts tailored for two Superbat boxes. BOX-2252 and LE-BOX-0028.
Feature list (short version):
- Accepts Arduino Pro Mini 3.3V in all variants I am familiar with
- Supports both NRF24 and RFM69 but not simultaneously due to lack of available IO
- Supports MYSX 1.0 to 1.5 daughterboards
- Supports both “conventional” battery measurement and a low-power variant of it
- Instead of a dual resistor divider, I use a potentiometer. That way, any analog reference level can be used, and resolution can be tuned against any expected value of battery voltage
- Two different regulators can be used (depending on input voltage)
- 12V input or 4.2V input (step-up)
- 4.2V regulator can be programmatically bypassed for low power operation when battery is high enough for all circuitry. Two options exist; TI TPS61221 and TI TPS61097A, both 3.3V fixed versions (no support for variable voltage versions)
- 12V input or 4.2V input (step-up)
- 6 different ways of powering the board
- DC socket
- Battery wires
- JST socket (LiPo cells)
- CR123 socket
- 24.5mm coincell
- MYSX daughterboard Vraw supply
- MYSX 3.3V power can be programmatically switched off
- ATSHA204A HW authentication/signing
- 3 dedicated switchable 3.3V/GND rail pins for discrete sensors
- Onboard SI7021 temp/hum sensor
- AVR ISP programming header
- External SPI flash for OTA
Due to limited available IO and to support various use cases some aspects of the board is configurable using jumpers:
- JP1 - Serves as current measurement tap from on-board power connectors. Has to be shorted if on-board power connectors are used.
- JP2 - Selects 3.3V regulator. Pos 1-2 for 4.2V input (max) and pos 2-3 for 12V input (max)
- JP3 - Sort to bypass regulators and tie on-board power connectors directly to 3.3V net
- JP4 - Short to skips the low-power battery sampling option. This will cause a continuous power drain on the batteries through a 1M Ohm potentiometer.
- JP5 - Short to skip the switch for MYSX 3.3V rail. MYSX 3.3V rail will be “permanently on”.
- JP6 - Short to cause MYSX_D10_A4 signal to be used to set low-voltage 3.3V regulator in bypass mode. This can be used if battery voltage is high enough to drive all circuitry without being boosted at the potential expense of the MYSX_D10_A4 pin usage of a daughterboard. JP6 serves as a mean to permit MYSX_D10_A4 to behave according to MYSX specifications if left open (at the corresponding expense of not being able to set regulator in bypass mode).
- JP7 - Serves as current measurement tap for off-board power connector through MYSX. Has to be shorted if off-board power connector is used.
- JP8 - Selects INT1 interrupt source. Pos 1-2 for MYSX_D3_INT and pos 2-3 for RF board.
- JP9 - Selects SPI SS destination. Pos 1-2 for NRF24 and pos 2-3 for RFM69.
- JP10 - Short to enable MYSX_D9_A3 to be used to take a low-power battery sample. If enabled, analog measurement of a daughterboard on MYSX_D9_A3 might not work as expected.
Feature list (the somewhat more comprehensive version):
- Any Arduino Pro Mini with A6 and A7 pins available should fit this board (A6 and A7 is required to comply with MYSX specifications.
- Although the board can take both NRF24 and RFM69 at the same time mounted, they share pin for SPI chip select, so they cannot be used simultaneously (unless you patch the board to re-route one of the chip selects to a different Arduino pin and make the necessary SW modifications)
- Support the MySensors Expansion port (MYSX) in all versions up to 1.5. MYSX specifications is available here. Depending on what battery sockets are mounted on the board, the MYSX connector may have to be “raised” so a daughterboard can fit in some of the layouts of the board.
- Flexible options for battery measurement:
- Voltage divider is implemented using a potentiometer (1M@RV1) which makes it possible to tune the sample voltage to optimize measurement range.
- JP4 can be shorted to connect battery net directly to potentiometer (which in turn is connected to Arduino pin A0). A footprint for an optional decoupling capacitor is available at C8 to smooth the sample value. It is not recommended to use C8 if low-power sampling option is used.
- With JP4 open, battery samples are taken by momentarily driving MYSX_D9_A3 low (Arduino pin A1). When sample is taken, MYSX_D9_A3 is set high again, which prevents continuous drain of battery through RV1. This assumes JP10 is shorted. If a daughterboard is connected that uses MYSX_D9_A3, analog samples taken on that pin might be affected by the 0.1uF capacitor (C9) when JP10 is shorted.
- Depending of power source used, two regulator options are available.
- For “high” voltage sources a LDO provides the regulated 3.3V voltage. Maximum accepted voltage is 12V. This is enabled by shorting JP2 pos 2-3.
- For “low” voltage sources a step-up voltage regulator provides the 3.3V voltage. Maximum accepted voltage is 4.2V. This is enabled by shorting JP2 pos 1-2. The step-up voltage regulator also implements a pass-through option in which the regulator is turned off and the input voltage is fed right through it. The pass-through is enabled by driving MYSX_D10_A4 low (Arduino pin A2) and shorting JP6. Be aware that this also goes through the MYSX connector, so it is not recommended to use this feature if a daughterboard is connected that uses MYSX_D10_A4. There are two footprints available for this regulator alternative; SC-70 (TI TPS61221) and SOT-23 (TI TPS61097A). Both has to be the 3.3V fixed version since there is no footprints for adjustment-resistors. Also note that these two regulators are mutually exclusive. Do NOT mount them both at the same time.
- All different power source options can be simultaneously mounted (not that it has to be). But on some layouts, the BT4 and BT5 (CR123 and coin cell) connectors one of the BT4 connector legs needs to be filed down if a coin cell battery is to be fitted. But the layout will ensure no shorts are risked. On the 5x5cm board, BT4 and BT5 are omitted due to size constraints.
The following possibilities exist:
- DC socket (BOM will use 2.5MM part with center pin being positive and shield ground.
- Battery wires (or virtually any power source) can be connected to a 2.54mm pitch screw terminal (or soldered directly to the board).
- A JST (S2B-PH-K-S) connector for LiPo cells (like this or this one).
- A CR123 socket (not available on 5x5 cm board).
- A 24.5mm coincell holder capable of accepting up to CR2477 sizes (not available on 5x5 cm board).
- Vraw supply from a MYSX daughterboard.
- The 3.3V pin of the MYSX connector can be programmatically switched off.
- To switch off the 3.3V supply pin drive Arduino pin D4 low. Leave it floating to have the 3.3V pin enabled.
- ATSHA204A HW signing is available (uses Arduino pin A3).
- 3 (switchable) 3.3V/GND rail pairs is available to allow discreet mounting of wired sensors (in excess to the pins available on the MYSX connector).
- An onboard SI7021 sensors is connected to the I2C bus to provide rudimentary sensor possibilities on the motherboard itself.
- An onboard AVR ISP programming socket provides the possibility to program a custom bootloader to the Arduino (useful for OTA).
- An external flash is connected to the SPI bus to permit OTA using the Dualoptiboot bootloader.
The schematics and BOMs are done.
Schematics and layouts are all stored here and will be updated from time to time. I will notify in this topic once I have done tape-out and have manufactured the boards. I am somewhat confident on the design of revision 1.1 (with lessons learnt from revision 1.0) so I plan to finish all three boards before I manufacture any one of them.
For the LE-BOX-0028 (the largest box) the layout has all components mounted top side. It also features more silkscreen text for ease of jumper operation and it places the NRF24 module so that it can accommodate a PA/LNA "extended" module and have the antenna exit the box and still be "turnable".
Forum feedback is very welcome!
The designed is licensed under CERN OHL V1.2 and is fully Open Hardware.
And finally, some eye candy (please note that the images might not exactly resemble the actual boards, as I am still making minor tweaks to them)
The 5x5 cm board: (available for purchase at DirtyPCBs)
The BOX-2252 board:
The LE-BOX-0028 board:
@Anticimex: nice device! your overview looks very good. I will build some for sure.
thx for share
@Anticimex: I can't stop to look at your project it is so well thought : integration ,standard enclosure for the community, battery sensing options... I didn't know about cr2477, 1000mA . I know about disadvantages of coin cell vs alkaline but have you ever tried cr2477? What do you think about it? I think I will try to integrate these into my project (printed enclosure, so no standard) to see how it can be tiny with some sensors. but I prefer alkaline I think (or cr123 of course).
@scalz thanks! Well, there went a few hours into it, and I'm not done yet with the layouts but I believe the schematics are fixed. Except the sourcing details. Regarding coin cells, I have used them in other (none MySensors) projects with good results so I hope they will work as long as there are no "high" current draws.
EDIT: Added 5x5 cm layout.
What sort of step-up regulator are you planning on using for the final version? Your schematic says TPS61097A? Any particular reason?
The sort of selfish reason I ask is that I have a whole lot of TPS61221 and LTC3525 already Could never find TPS61097A from AliExpress, only the older TPS61097.
@bjornhallberg That is the one I intend to use I am afraid. It is available from Mouser, Farnell, Elfa and Digi-key. I have not considered AliExpress as a component source. But a pin-compatible version should work just fine I suppose. I have already got a bunch of them so I don't intend to change to something that is not pin compatible in any case, but I see no issue with dropping in a different reg in the same package, with or without enable signal.
@Anticimex: hi. yesterday I did my bom and I am trying to reduce the cost too. I looked to aliexpress and I think chinese are so incredible! (I like them and their wing chun ) few examples:
for atmel I don't know if it is counterfeit but it works well as I have some. but for capacitors (x7r 10uf) I can't find cheaper (plus it is free shipping ).
For some reference I think I will make my stock at aliexpress, for some others it is not always attractive.
Just in case... I share what I see....
Ah, and a small OP, I ordered my pcb this week like I said, elecrow. their communication service seems ok. (4layer, 8-15d shipping, red color free, 30$ if I remember right. so it will make me 2*10 boards enough to send to you a little gift if I have no mistakes I am crossing my fingers..)
See you soon
@Anticimex I can understand that. Plus the SOT23 is a tad easier to hand solder than the SC70. I guess I will have to get around to make my own sensor node eventually. Just gotta finish the reflow oven first.
@scalz Yeah, I've been looking at the 328p-mu (qfn) from AliExpress. If it is a counterfeit, so are all the other ICs on the Pro Minis we're all using probably. And those capacitors really are dirt cheap!
If you have the patience for it, you can probably source your components from AliExpress easily. I've been building up quite a stock of components and so far it has been smooth sailing (except maybe that one seller who sent the wrong item, money refunded, but time lost).
@Anticimex Nice Board, You have really out done yourself!
Thanks guys! Well, if AliExpress can deliver this versatility of components, I might consider replacing one of my four sources with them. I have been sceptical of them due to the amount of counterfeits in their stocks, but if you all have good experience with them, that counts for a lot!
I will let you know in this thread when I have finished my sourcing and publish my BOMs. I might do several with different vendors. Unfortunately I have not found a single supplier capable of sourcing everything (and I still don't count the larger modules in that).
@scalz thanks mate I might be able to part with a board as well once I get them. On DirtyPCBs I plan to put them up on their "store" as well. It won't earn me money but I get some discount on future orders. And if anyone here were interested they could order them there (I'll provide links).
@Anticimex Very cool project. As someone just starting to learn some basic PCB design, your boards are far above anything I could come up with. I was looking at the board files and noticed that you have a grid of via's underneath the RFM radio. What's the idea behind that may via's? I was under the impression that via's should be avoided and contributed to a lot of RF noise on a board - of course I'm assuming that my understanding is probably wrong, but I'm curious as to the reasoning...
@TD22057 thank you! The vias under the radio is in the ground planes. The idea is to make sure the ground planes are evenly grounded. Otherwise they might in some areas act as a capacitor and under the rf parts I want the ground to be as solid as possible. For signals on the other hand, I agree that vias could contribute to notice bit as far as I know this should not be the case for a ground plane. But if you have some link to where vias are discussed I would be interested to see it I am not a professional either on this, but I could pass it by my dad. He did this kind of thunk his entire career. So he would give a definite answer
EDIT: just talked with him and he agreed that he never experienced noise problem due to via-stiched planes, and that he used that practice as well. So I believe the noise issue you refer to is for signal routes in which case I would agree that vias should be avoided if possible. Unless it would mean ridiculous signal paths of course which is even worse.
@bjornhallberg A reflow oven sounds like a nifty thing to have on the bench. I wish I had the time to spare to fiddle with that With stencils you could then make some really compact boards.
EDIT: All layouts are done. Boring BOM/sourcing work still left to do...
EDIT: I went the extra mile and managed to shoehorn in an additional footprint to please @bjornhallberg:s "selfish reasons" so now there is an option to solder a SC-60 based regulator (TPS61221) instead of the SOT-23 based TPS61097A. The first post is updated with the details.
@bjornhallberg I actually had a few TPS61221 but I ordered the wrong part (variable output version) so I could never use them. That was for 1.0 where it would serve as 5V reg but since then I ditched the idea of supporting 5V since I encourage everyone to moving away from that. Should be no reason to use 5V for our stuff nowdays.