So it looks like we’re going to get the sensors themselves manufactured elsewhere, and just develop the data loggers and on-site machines. This still means a fair amount of work for me, but at least I can concentrate on getting the basic circuits working, instead of worrying about making calibratable (not even sure if that’s a word, but hey ho...) sensors.
While I probably could knock together a logger using AVR architecture, I think in terms of the processing power to current draw ratio, it would be far better to use an ARM processor, specifically from the ARM Cortex M0+ family. I recently managed to procure a development board for the Atmel SAM L21 MCU, which is an incredibly low-powered Cortex M0+ core which can run at up to 48MHz (I assume requiring an external crystal oscillator to control it). The SAM L21 draws approximately 35µA / MHz, and as little as 200nA in sleep mode, which makes it perfect for the kind of battery life and usage we’re going for.
I’m still investigating low-power radio solutions to integrate for the logger and the on-site machine. My initial thoughts were to use Zigbee Pro, but from what I’ve read, you can only have a maximum of 10 end devices connected to either the controlling device or the routing devices. Since routing devices would have to be mains-powered, it’s a little impractical to have 40 of them installed all over the warehouse to handle the traffic. There are some other options though; I just need to do some further investigation.
My first step is to do some basic ‘blinking LED’ type tests on the L21 dev board, as I’ve never done ARM programming before, and I need to understand how it all works. From what research I have done, it seems you have to explicitly activate the pins being used in the program. This ensures that no battery is wasted on pins that aren’t in use.