The AVR-IoT WG dev board. All images used courtesy of Microchip.
Tackling IoT Challenges: Security and Communication Protocols
In the beginning, there were simple Wi-Fi SoCs and microcontrollers that quickly allowed engineers to create Internet-enabled products. It was not long before the term “IoT” was coined and every manufacturer raced to turn just about anything and everything into an IoT product. However, this quick rush to production created a few problems for both the industry and customers alike.
One of the most immediate problems has been that security measures were not initially strongly implemented (if at all), which meant that hackers could easily hijack devices and use them maliciously. This is a struggle that continues today as printers, refrigerators, and other IoT devices are still recruited for large-scale DDoS attacks.
Secondly, with no industrial agreement on standards, most companies produced their own protocols for data transmission which meant that a device from one company could not be easily used with other services. Solving these problems is going to be vital for the future of the IoT industry.
Microchip just announced a board that aims to provide a solution.
AVR-IoT WG Development Board
The AVR-IoT WG development board is a fully-integrated IoT prototyping solution that aims to allow engineers to create IoT projects within minutes of removing it from the box. The board contains a collection of hardware including a battery charging circuit, a debugger, multiple sensors, and GPIO.
At the heart of the AVR-IoT WG is the ATMEGA4808 which is an 8-bit microcontroller clocked at 20MHz, up to 48KB of Flash, 6KB of SRAM, and 256 bytes of EEPROM.
For Wi-Fi connectivity, the board contains a low power ATWINC1500 2.4GHz b/g/n module which is interfaced via SPI and can be used with multiple network services including DHCP, DNS, TCP, UDP, HTTP, and HTTPS.
Because security is a major concern in the field of IoT, the AVR-IoT WG development board also integrates an ATECC608A cryptographic co-processor which drastically helps to offload cryptographic functions from the main processor. Integrated into the ATECC608A is protected storage for up to 16 elements (keys, certificates, or data), hardware support for asymmetric sign, verify, and key arrangement, hardware support for symmetric algorithms (SHA-256 and AES-128), secure boot support, guaranteed unique 72-bit serial number, and integrated random number generator.
Image courtesy Microchip
Programming microcontrollers can be a nuisance when relying on external programmers such as PicKit3. "The target was not found", "no power detected", and "device is not empty" are just a handful of common errors that crop up when trying to program microcontrollers with a programmer. The AVR-IoT WG board aims to simplify this process.
The AVR-IoT has an integrated debugger, the nEDBG, which acts as a virtual com port, a debugger, and a data gateway. But the most important feature of the nEDBG is arguably the appearance of a mass storage device which allows drag-and-drop programming. This means that a compiled program can simply be dragged onto the AVR-IoT WG as if it were a removable device such as a USB flash drive.
According to Microchip, AVR-IoT WG integrates a charger circuit based on the MCP381 for connecting external Li-ion batteries, which eliminates the need for any additional circuitry. This allows the AVR-IoT WG to be integrated into most prototype consumer scenarios without the need to design power control circuitry. It may also help with “always on” situations whereby power is normally provided via the USB connector but an external battery keeps the system operating during power outages.
The AVR-IoT WG board also integrated two LEDs for power indication whereby the red LED indicates charge and low battery voltage and the green LED indicates that charging is complete.
Image courtesy Microchip
The AVR-IoT WG development board, while a fully functional IoT device, has evidently been designed with Google Cloud IoT in mind. The AVR-IoT WG board can be used with Google Cloud IoT, which incorporates authentication solutions, including the use of hardware root of trust, simple code implementation based on JSON Web Token. It has no dependency on TLS thanks to the JWT architecture. Another useful feature of Google Cloud IoT is the creation of smart, secure nodes.
What other IoT dev boards have caught your eye recently? What would you build with one if you got your hands on it? Share your thoughts in the comments below.