Following on from my research in sensors for ice detection, I’ve been looking at the different modules available for environment measurement that transmit using LoRa. The ‘development’ platforms I am happy with should use MicroPython (or CircuitPython or variation on same) since I develop best in that language.
Low power is also important – long ago I realised that Raspberry Pi and SBC-type platforms that ran Linux were better on powered supply, as they consume too much current even when doing nothing. Nobody can really run a remote RaspberryPi off-grid, even with large power supplies such as USB cells they quickly deplete. As well, anything that uses WiFi is out as that is a very chatty interface and seems incompatible with low-power embedded operation. Adafruit has a great page to help decide on which processor fits your requirements. The devices I’ve considered:
- M5Square – a block-building format that clips together the different components so you get a computing base, never tried but seem to have a comprehensive lineup
- Pycom – I’ve used their various modules from the early WiPy through LoPy (and struggles to get low-power working) and found they are ‘acceptable’ to wrangle into a working module
- Some sort of ESP8266-based platform such as the Wemo D1 mini and those based on the Expressif ESP32 chips
- Adafruit and their Feather range of development platforms such as those based on the ESPxxx but more recently on the ATmega32u4 and variations
While all of these are good it is probably more import to choose a platform and stick with it – “a long obedience in the same direction” and all that. The other consideration is how low can they go? Not all chips faithfully power down well and I know that Pycom struggled to get the Expressif ESP32 chips down to very low power. Apparently they can go as low as 25uA for ULP consumption and 1uA for LoRa in standby. Comparing with the Adafruit they say that you can achieve 300uA (0.3mA). This is not as low as the Pycom chips but I am willing to experiment with both to see which performs best.
Although I’ve played with the ESP8266-based ones and have had several successfully running, but as they are primarily a WiFi-based system I will not use them. You also have to remove the LUA software platform and re-flash the µPython environment to get them working. I also won’t attempt the M5Square ecosystem as it would mean purchasing a whole raft of new chips and understanding how to program them. So it is either Feather or LoPy – I think I’ll experiment with both.