Two years ago when we started development of LoRaWAN gateway the only starting point that was not in doubt was the decision to use OpenWrt OS. Another requirement was the need to use and industrial grade processor. After many hours of searching we were unable to find such processor we can buy as is and design our custom hardware with that onboard CPU. None of the reviewed microprocessor met the full set of requirements, namely:
- Availability to buy small quantities of microprocessor;
- Cheap enough to met BOM cost requirements;
- Existing of development board (open hardware ideally) with selected CPU onboard;
- Out-of-box support of CPU by OpenWrt;
- Undemanding to the technological capabilities of the production line for mass production of device we are developing – package pads higher than 0.5mm;
The closest one CPU to meet such requirements was MT7688AN that has open hardware development board (Linkit Smart MT7688), out of box support by OpenWrt and even available in small quantities but with painful QFN package with 0.45mm between pads in same row and 0.225mm between neighbor pads from different rows. Another one lack of that CPU was absence of any CAN bus interface popular enough in industrial and automotive solutions. Also there was mention about Silicon bug preventing to getting SPI getting working.
So, IMX6ULL was such microprocessor.
By that time we had not yet thought about developing a SoM module based on ther selected processor. We developed our custom hardware (LoRaWAN gateway) based on that CPU. Board on first photo implements CPU functionality and provides PoE supply. Board on second photo implements 8-channel LoRaWAN concentrator functionality:
Device we got was very rough and low-tech solution. It was an expensive 4 layer PCB because of onboard BGA CPU and DDR3 memory IC. I was a PCB with different soldering type components (TH and SMT). It wass PCB with different pitch onboard components (from 0.5mm pitch QFN package to 5.08mm power supply components. It was a board with more that 100 different type of components that exceeds amount of feeders on pick and place machine we were using for mass production. So here we first thought about development of IMX6ULL based SoM that can be used as CPU core to be soldered on extension board with all periphery. Advantages of such solutions could be:
- hard to solder 0.5mm pitch QFN and 0.8mm pitch BGA packages separated from big pitch components;
- main board could be routed in two layers only that reduces it’s cost more than 5 times;
- different part numbers on every of PCBs doesn’t exceed amount of feeders we have on our PnP machine;
- and the most attractive idea was that same module could be used in many feature devices we planned to develop;
So after few months of development we divided functionality of device to three boards:
Here IMX6ULL SoM placed on extension board keeping functionality of LoRaWAN gateway unchanged.
Few months later we started development of video and audio streaming devices (long story) using same SoM. It gave as confidence that our concept of using same SoM in different devices just by replacing extension boards (and software modifications of course) is working. Little bit later we decided that SoM could be considered as mature standalone product. So here you are. On the website dedicated to our SoM.