MySensors battey board revision 1.0

I'm opening this topic for the discussion of the Mysensors board.
We are very close to production this why an open discussion is very important to fix critical things and to understand your interest on the board.
The price will very depends on volumes. But lets come to that later.
Preliminary characteristics:

50x50 mm size
on board AAA battery holder
very efficient step to power up at 3.3V from any single AAA (alkaline or Ni-MH/CD)
atmega328p running at 1MHz from internal oscillator with ability to speed up to 8MHz on the fly
NRF24L01 with antenna
solar power switch, connect external solar panel 0.8-5.5V and solar will be the main power while solar voltage is higher than battery
one I2C GROVE connector which can be used as a connector to A5/A4
one GROVE analogue connector to A0/A1
one GROVE digital connector to D2/D3
high precision very low power I2C temperature sensor with ability to wake up MCU at temperature alertt
one red LED

to program you will need an external USB<->UART like you need to program pro-mini

blnking example running
just build a configured version of optiboot, add our board to boards.txt and tested upload
next will be to test internal (battery voltage measurement, solar voltage,temperature sensor) and external conectors

after that will be radio test

looks a bit ugly but this is only because it is a simplified prototyping production

Is there a reason for the 50x50 size? Do you have an enclosure in mind? It almost seems to fit inside a wall junction box.

Still wouldn't have minded an AA-battery instead for more than twice the typical mAh. It's only a few mm more. Perhaps this is a moot point, as the more power hungry sensors that I have in mind wouldn't work on battery anyway.

@Damme we had an internal discussion to find a trade of between size and possibilities.
You see now a very balanced compromise.
It is also two programming sockets ISP & FTDI and you can actually also find MISO/MOSI/SCK/D0/D1 here

power consumption from hardware size id minimised as much as possible. This why e use 3.3V and not 5V, this why we do not use crystal for the MCU, the temperature sensor needs power a hundred times lower comparing to DS18B20

while MCU is sleeping the theoretical consumption from the battery have to be bellow 6uA

All the rest will very depends on software. We expect to build a special Mysensors library to handle all board specific staff

At the beginning the retail price will be $15-22, still under discussion.
We are in a potential partnership with 1-3 DIY companies having a good reputation already, most of them are located in China but with international team.

the reason is only a space needed to support selected functionality.
This is a BATTERY sensor designed for wireless indoor and outdoor sensors where you actually will use only 1-2 sensors.
For the wall tasks we will have a stackable design with a set of compatible boards able to feet standard wall sockets (I hope)

there is no ideal solution. I expect a good time performance as soon as we will use a well handled software side + alternative power like solar power

@Damme look
for indoor usage, while you not very limited with size and you want many things been connected it is still a good choice to use one of the standard arduino
we will do our own board to support real competition with wall z-wave devices but this is second priority

the first priority are small and battery operated devices
for this purpose you will not find a well prepared standard arduino

Still wouldn't have minded an AA-battery instead for more than twice the typical mAh. It's only a few mm more. Perhaps this is a moot point, as the more power hungry sensors that I have in mind wouldn't work on battery anyway.

it is not too late to remove holder from the board. it is an option we need to decide.This will allow to be more flexible with power source. But with the holder you can run out of the box at least with temperature sensor

Me myself was thinging on using li-ion and depending on space charge controller but atleast protection.
They come in all sizes and dimensions.

lion is too bad for outdoor usage at least for the places in the world were snow is a normal thing at winter))
AAA is much more universal because you can choose between alkilene and rechargeable

with lion you actually fo not need a step-up
you can use 3.3V version of pro-mini with direct connection between VCC and lion
radio you can connect to lion using 3.3V LDO or 1-2 1n4148 connected simultaneously to drop voltage from 4.2 (fresh lion) bellow 3.6V (maximum allowed for radio)

Still wouldn't have minded an AA-battery instead for more than twice the typical mAh. It's only a few mm more. Perhaps this is a moot point, as the more power hungry sensors that I have in mind wouldn't work on battery anyway.

it is not too late to remove holder from the board. it is an option we need to decide.This will allow to be more flexible with power source. But with the holder you can run out of the box at least with temperature sensor

As long as you have the option to (easily) connect / solder wires for a separate 1x or 2x AA holder, or solar I'm sure it'll be fine. And the on-board AAA-battery holder doesn't significantly increase price and / or complicate things. Sounds like something that would be hard to do right without breaking off if it doesn't have the support of an enclosure.

Does it measure and report battery level by any chance?

$15-22 doesn't sound too bad. I mean, if you add up the cost of components for a simple DIY sensor node, including a prototype board etc, you'd come pretty close to $15. And then you'd still be stuck with a lousy Ebay boost module drawing 1mA.

@bjornhallberg the holder adds less than half a dollar to the final price.
You always can use solar connector for any external alternative source
you even will be able to extend life by connecting external AA, on board AAA will start working as soon as AA will run out

battery voltage (level) and external source voltage can be measured and reported by radio. The required connections are build in

Price is still tricky thing because of discussion going on and also because we all are new to such a business. We will need to have also some profit to support project development. I hope all will be withing $15-$22. We are willing to be competitive but not the cheapest. A good level of innovation is an essential idea of the whole project.
Design is open source and anyone can do it himself.

@axillent Looks good. But is not the LED symbol reversed in the schematics?
I am considering making a board as well for personal use (open HW of course), but using through hole components a bit more extensively for ease of customization. And probably a sockeded MCU so I don't have to include programming interfaces. In the future, I (and hopefully all of you) will push new FW to the board OTA so there will not be a need for holes in the case
But I might be interested to join in if your are ordering a batch of these as well. Will it be panelized and pick/placed as well?

@Anticimex thank you for your attention ) yes, led had a wrong orientation, it was fixed.
I have an DIY experience for making PCB and like you at the beginning willing to use through hole components mostly.
But through the real practice I came to a conclusion that SMD is easy to use, it is cheaper and need much less space.
I also used to make zero-hole PCB using SMD only. This type of PCB requires from me 20-30 minutes of time only for the full production circle. There is 0.5mm copper plates, I use office scissors to cut it in a second.

The programming interface (ISP) is not only for the bootloader programming. It can be used for bootloader upgrade or hardware debugging.
Even Nano have it.
The programming interface (FTDI) can be used also for usual Serial.print debugging.
Both interfaces also can be used for additional I/O.

Sure, there is no absolute ideal solution. We spend a few months discussing what is a good trade off for this board and you see the result.

@axillent By panelization that I mean that you send the board to the fab with a BOM, and some reels, and have them solder the components to the board as well. Most if not all fabs will then require you to panelize the board if also picking&placing (that is, multiply the board on a bigger standard-size board, that is fed to the pick&place machine).Example of a PCB panel
Having a panelized board could also reduce cost for a non pick&placed design, as it allows the manufacturer to make them with less effort (less cutting and less waste).

For larger batches this is a good way to save a lot of work, and if good decisions are made on layout, design and component selection, it is not overly expensive either.
I also like SMD, but for "my" board, I was more thinking of having a generic back-bone which can accept a variety of components, so the user can choose what to put on it and use if for various purposes.
Some "standard" interfaces need to exist of course (socket for MCU, power, RF), but the rest (decoupling, IO, etc) is just left "empty" and for the user to populate with the components they would like.

And don't get me wrong, ISP/FTDI is really good to have, especially on "in progress" projects. But for the gritty end product, I personally prefer to program and debug the MCU on a breadboard, and then put it in a socket in my optimized board/casing. I even consider using the Arduino "as is".
But it could be that I cannot get my casing to be as small as I want it, without soldering the "bare" MCU directly on the board, and then of course programming interfaces will be needed

Well, needless to say it sounds interesting, when it's been built and tested I'd surely buy a couple of boards. Right now I'm not sure how many actual battery sensors I need and if the sensors I want to run are even viable for battery operation anyway.

I think that for me anyway, more practical things are an issue, like avoiding Swedish customs charges, and finding a GOOD open source automation software so that I can actually use my sensors and not just build them

If you could also manufacture a separate 3.3V boost circuit based on a modern chip that would be fantastic. I think that is turning out to be a hurdle for most of us that aren't comfortable with SMD/SMT and/or how to nice integrate it into DPI prototyping.

@bjornhallberg I'm an experienced z-wave user and 1/3 devices I currently have managed by my smart-home are battery based

battery based is most easiest way to launch smart-home without big disaster to the home
I also expect an interest to use this battery as outdoor sensors, while z-wave do not have any alternative to this
with double power outdoor sensor can lasts from a single battery for year or even years depending on solar power.

for open source software I personally looking forward to have an integration between mysensors and openhub

A separate boost development was finished today and I'm expecting quotes from our partner.
Any preliminary reservations are welcome.
It will be board 15 x 14.8 mm with a switch between 3.3V (up to 100mA) or 5V output (up to 70mA)
it can be sourced by 1-3 cells alkaline or 1-4 cell ni-mh or 1 cell lion

Henrik are build already a boards documentations section on the site
We expect to have a good documentation to the boards

radio you can connect to lion using 3.3V LDO or 1-2 1n4148 connected simultaneously to drop voltage from 4.2 (fresh lion) bellow 3.6V (maximum allowed for radio)

It's probably moot, but the diodes may drop substantially less voltage when the current is very low. Of course, there may be no harm done with such low currents - raising the current brings the Vfwd up too. I'm just noting that the "almost constant Vfwd" only applies to larger currents (eg: 10ma not 10 uA).

The flash downloader + flash code could be stored as a bootloader, but that would drop Arduino bootloader compatibility and it will be a challenge to get a stripped MySensors implementation in the bootloader area.

Maybe we can add a small i2c or spi eeprom which is used for temporary storage of the new firmware, but then again, how to get the image data from the eeprom into the ATMega's flash?

In my opinion, keeping Arduino bootloader compatibility (or rather, supporting the Arduino IDE flash protocol) is a must for a OTA bootloader. Even if it would mean some more flash need to be reserved for the bootloader.
But that of course makes it even more interesting to have some external memory support. I2C based EEPROMS have been around for quite some time

As I understand it, you send the new code OTA where it's written to the external SPI Flash memory. Then when booting, Dual Optiboot looks for a signature in the Flash memory, and if it found, burns the code into application Flash on the ATMega chip (and it obviously removes that signature). If not signature found in SPI flash, it will boot normally as a normal OptiBoot system.

The Moteino uses the RF12B or RF69 sub-GHz radios. Another cool design. I however like the 2.4GHz nRF24L01+ because it's cheap and very fast, useful in controlling Christmas lights, which take much more bandwidth. I see periodically reporting MySensor style data as another option using the same nRF24L01+ hardware, either instead of the light control function, or in addition to it.

OTA is a very promising thing
for the battery board selecting any external chip is also a question of power consumed

the idea with flash is good because it builds the ability of transactional while you able to safely recover from any situation.
but from other hand. you can safely recover even without flash if your second party will take care
look how upload from USB is organized. It do not have a transactional mechanism, it cannot recover by itself
if upload failed the only way to recover is to upload again
why we need OTA to be more safe than regular USB update?

but while you a thinking on this i found an issue in the board schematics. I have to add one diod and one 10k resistor to isolate D0 of the MCU from the parasite power coming from the external FTDI programmer. Otherwise the parasite power can destroy nordic chip

prototype of the board fully tested except radio
stepup is working fine, power switching is working
programming using external FTDI is working, schematics corrected to get rid from parasite power
al I/O is fine
battery and solar voltage measurement is working
temperature sensor is excellent
it was not simple to solder, the package is unbelievably small - 1.7 x 1.2 mm, 6 pins

Interesting that you are choosing GROVE connectors. Are they easy to find (other than SEEEDStudio)?

GROVE is just a convention on pin assignment. The physical connectors are standard 4 pin 2.0mm pitch (arduino is using 2.54mm)
Two pins are used for GND + VCC and two pins for data/analogue arduino pins
I have them purchased from aliexpress

we have compact, ready to use double power sensor node
devduino is using an external radio, v1 is using low capacity CR2032, v2 is using two AAA batteries
we are using radio on board, single AAA battery with step up and a solar connector with automatic switch

CR2032 is just 80-120mAh
AAA alkiline is about 800-1000mAh

two batteries on devduino is 1600-2000mAh but it will work until discharge of a cell to 0.9-1.65V (supplying 1.8-3.3 V) depending on the frequency used
we can run until discharge to 0.7V regardless frequency used. Single cell reduces space needed and stepup allows to draws a maximum

Sorry, I by "almost a drop in replacement" I meant that somebody using a DevDuino could (almost) unplug it, plug in your board, upload the code, and go, if they use the same radio and connectors. (Or vice versa). That flexibility could be good.

I didn't mean that your design was the same or had no advantages! Thanks for listing the key differences, tho.

And - it's "almost" compatible, software wise. I think the data connector has different pin numbers. Not sure about the radio pins (other than dedicated SPI).

But I think that with a change in pin defs, most code could be moved between them, and with the same connectors, a physical switch could be simple.

@Zeph if you have developed a sketch for DevDuino you will just need to change a pin assignment to move it to MySensors board
it is a good practice to use #define for the definition of your hardware pins and move this to abstract level, for example:

Looking forward to your board being available. I had ordered a couple DevDuinos, but now I'm holding off on ordering more since seeing yours - and for me the option of being able to swap out which is used could be handy.

Looking forward to hearing more about availability and final pricing, when you have it.

I was thinking about the small stuff soldering, Me myself don't have that much trouble with the multi-pin chips.
For QFN (I hate them) I usually pre-solder the pads and use lot of flux and heat gun.
For TQFP I usually solder just one pin in 2 corners, and then I put a thin strip of solder along the pins and just drag my iron across. and if it's a mess, you used too much solder and to little flux
I hate soldering smd resistors and stuff, the smaller the more ass they get..

it is decided not to add charging function
if you will use dual power (and if your sketch will be optimal from power saving) regular alkaline can lasts for 1-2 years
at the same time rechargeable AAA because of often charging-recharging circle (every day because of solar) it can last in one year
number of recharging circles are limited and also Ni-Mh/Cd they last faster in such way because of "memory" effect

@axillent: Still a bit puzzled as the combination of support operation from an external (solar) supply but no charging support seems not logical to me.

Understood that the number of recharging cycles of rechargeable batteries is limited but batteries still have about 10 times the capacity of supercaps so also if the capacity is reduced to 10% of the initial capacity because of the number of recharging cycles they are still a better choice.

On Wikipedia I read that charging at C/300 or even C/40 seems to be safe over long time and that can be done using a diode and resistor I think.

But ... also if there is no charging support, I am interested to buy a few

We get into a mindset that solar + battery implies recharging the battery from solar. That is, we think of the solar as the power and the battery as a buffer for dark periods.

You are using the solar as a battery extender for a primary battery. It can run for very long periods in total darkness (much less cloudy days), but when it does get solar you can go longer between battery changes.

And your point is that the rechargeable batteries need to be changed every year or two anyway, so if you can get that long with a primary cell (cheaper and bridges longer gaps without solar), why bother?

Sounds good to me - I await practical experience. Do you yet have one or more test units accumulating data and testing the approach? On cool things about JeeLabs is that with each new design he puts up some long term test units, wirelessly logging the results. Over time he gets years worth of practical results to report and analyze.

@Zeph thanks for the feedback
I'm wondering on triple power sources - main is solar, buffer is super capacitor and none rechargeable as back-up
super-capacitor is a best choice for night time run while charging at daylight time
super capacitors are not cheap, but while we will have a production experience I think we will manage its price down

sure it will be good to track performance. May be Henrik can think of adding some statistics logging to MyCloud service and this can be seed from the whole community in the future

No problem for me if this has to wait, I can always add something myself, and yes, let logging prove what's right. Only thing I find a pity is that it will take two but probably much more year to prove things

After the 1-2 years the none rechargeable battery is empty and should be brought to the recycling point but my own experience is that rechargeable batteries are not gone in two years.

I've read that NiCD can sometimes do better for solar landscape lights than NiMH, because the type of cycle favors it, but often they say to plan to replace the batteries every couple of years anyway - between the charge cycling and the outdoor temperature cycling (cold and hot).

Perhaps this is different, being very shallow discharge compared to lighting. Really only testing will let us know for sure, and I'd be glad to see the results of that.

And yes, it's hard to wait a year or two for results. (It's hard to get most homebrewers to let their products age, too). But the time to start the test is now, and results will start trickling in. It used to be kind of fun when JeeLabs would post something like "Well, unit #1 is at 420 days and unit #2 is at 287 days, and here are the results so far". Sort of like slow gardening.