We at Zenatix have been developing our IoT systems around Raspberry Pi (RPi) platform. While we have scaled up significantly over the past few years, we have to do a few add-ons around Raspberry Pi to make it reasonably rugged for scaled-up deployments. Specifically, these add-ons were across the following dimensions addressing one or the other shortcomings:
- Battery backed clock (RTC) – to maintain correct time after reboot even if there is no network connection
- External watchdog – to address hang problems for RPi
- Internet connectivity via 2G/3G/4G – USB ports in RPi do not provide enough current to power standard dongles
- Battery backup in the power supply – to avoid sudden switch off (in case of power failures) which also commonly results in corruption of SD cards
- USB Attachments for other wireless interfaces like Zigbee/Thread
- USB Attachments to connect standard sensor interfaces like Modbus-RTU
These problems are not unique to us. Google search on each of the above problems will show many others facing these issues. More than 25 million Raspberry Pi have been sold until February 2019. I have also personally come across several companies who have built their solution around Raspberry Pi – at the price it is available and for the features that it is built for, it is indeed a very good piece of hardware.
While these engineering efforts gave us reasonable reliability, to further scale up from a couple of thousands to tens of thousands of deployments, we needed to add further ruggedness. A few shortcomings that needed to be addressed are:
- SD card failure – SD cards have been the most painful point of failure for RPi based gateways, again a common problem faced by everyone who have used these boards for long-term field operations.
- No analog interface – Often one needs a couple of analog channels for sensing which are missing
- Mechanicals for expansion – While there is expansion header in RPi, due to the compact nature of RPi and the large number of peripherals already supported, it is difficult to design the mechanicals for any expansion board.
- Lack of wide input voltage range – Raspberry Pi only works on 5V input while 9-24V is commonly available in many applications thus requiring separately putting in 5V power supplies.
- User switch – Often one needs a user switch (with hardware-based de-bouncing) mapped to a GPIO which can be used to define any arbitrary function for users to communicate with the software running in RPi.
- GSM redundancy – To have redundancy for cellular connection, one needs to connect 2 different dongles
- Security – The application code resides on SD card and hence is very vulnerable.
- Power Management – There is limited support for hardware-based power management (through completely shutting off some peripherals in the hardware itself and thus reducing the overall power consumption).
As Zenatix became part of Hero Electronix family last year, one of the things we started thinking was on how best to leverage other group companies. Together with Tessolve, our sister concern, we conceptualized an Industrial Grade Raspberry Pi based on Compute Module. While there were other such off-the-shelf gateways available, they did not fit into our commercial as well as feature requirements. After months of careful designing, we already have a beta version ready (and stabilized) and are moving forward with the first scaled-up production of 1k units.
So what does our industrial grade package contain?
- Support for Compute Module which comes with on board eMMC (the new versions come with up to 32 GB flash).
- We also added support for external SD cards – you can now separate out the Application and the logs/data and enhance the security of your application code (which was otherwise easily accessible on SD card). There is also a second SD card slot to support Lite versions of Compute Module as well
- 2 on-board SIM cards – You can switch between the two at run time using a GPIO at the software level itself
- Wide input (automotive grade) voltage range (7-24V). There is also an on-board charging circuitry so that a small rechargeable battery can be connected that can give the whole board (along with peripherals) a short (few minutes) operational time in case of power failures/switchovers. This will be useful to allow the system to both remain on during (DG) switchovers and to perform graceful shutdown for longer power failures.
- On-board microcontroller, serving multiple purposes – a. Provide analog interface; b. Perform hardware based power management thus allowing complete control to the software to shut off different hardware components and perform low power operation. You have the freedom to program this microcontroller with your own code and you can get it to work for your specific requirements.
- GPIO Switch – with hardware based de-bouncing
- mPCIE expansion connector – Our primary purpose is to use it to provide 3G/4G connectivity using off the shelf modules. There are other modules available off the shelf for supporting NB-IoT and sub-GHz 6LowPAN
- M.2 expansion connector – The world is moving towards the new M.2 interface and we did not want to leave behind. This again can be used to add more interfaces to the board. We are already in process to design a M.2 expansion board with multiprotocol Nordic NRF52840 supporting BLE 5.0, Zigbee and OpenThread. Some examples of off-the-shelf M.2 cards that are available are Lora
- On board RS485 interface – with complete power isolation
- GPIO Expansion Header – We are bringing all the unused GPIOs from Pi Compute Module and some of the important interfaces like Analog from the microcontroller on the GPIO expansion header. Through holes are provided to appropriately support expansion headers of different sizes.
- Secure hardware based key storage – through a separate cryptographic co-processor chipset. Together with the option of keeping your application on eMMC and your temporary data/logs on SD card, you get the ultimate level of security.
- On board RTC and Watchdog – backed by a super capacitor so you never need to worry about replacing the battery backup for RTC
- Standard interfaces – 2 port USB (with ability to supply current up to 2 A so that you can connect external hard drive as well), 10/100 Ethernet, HDMI, Camera, Display
Broader idea is to create an ultra modular gateway design based on the most popular SBC module. While you can get several off the shelf cards or yourself easily design the expansion cards for mPCIE, M.2 or the GPIO expansion, if you have specific requirements (at volume of at least 1k) we can also design appropriate extension cards.
The intent here is to support many of the startups who start with Raspberry Pi based design but struggle at scale due to one or the other limitation. Since the SBC is the same, your Raspberry Pi based code will just work like a charm on this hardware as well. First lot of 100 from our 1k production units will be ready by end of September 2019. We are planning to secure a few to be distributed to some selected IoT startups based out of India. If you are one such startup reach out to us and we would love to hear how you may want to use this industrial grade version of Raspberry Pi for your scaled up commercial operations