The goal of every IoT or Industrial product is to have the success that requires scaling to hundreds or thousands of units. The dream is then growing this to tens or hundreds of thousands of devices all deployed and running your software or services. The nightmare is the management and logistics of deployments running at this scale. A homogenous deployment is difficult if you then introduce a heterogeneous IoT environment the difficulty level has been raised even higher. We aren’t planning on solving these challenges for you, however as a hardware solutions partner we will give you the building blocks you can use.
The most recent building block we are making available by default is the programming of the onboard EEPROM with system information about the hardware both SOM and carrier. Yes this is a feature that is available on other vendor’s hardware, however they tend to have a static proprietary eeprom data format. We have instead taken inspiration from the datacenter and leveraged the TLV (Type, Length, Value) EEPROM formatting designated by the Open Compute Project. The benefit of this approach is that because TLV isn’t a fixed binary data structure programmed to the EEPROM, that our customers can non-destructively extend the information stored there for their specific needs with no worries that their additional information may interfere or be overridden with future firmware updates.
The latest BSP software releases for our i.MX8M and CN913x based devices are already taking advantage of these new features for automatic feature detection and carrier identification. You can read more about the formatting used in our developer center.