Embedded

STM32 Minimal Development Environment

Tags: ARM, Embedded, Programming

In the past I have written on the advantages of minimal development environments (read: Makefiles and GCC, no IDE, minimal abstraction layers) for ARM processors. One of the advantages of working this way is easy integration with existing processes such as build systems, production line, testing, etc. Using this in a virtualized environment also allows one to make sure every developer uses the same tools, and that the tools are tested and qualified for the intended project with a ready made virtual image available for each developer. They can then add their favorite editor and user interface, but the underlying build environment is fixed for everyone and archived as such on a per-project basis. This means that if a customer comes back a year or two later and wants to make a change, all the tools are there as we left them ready to make the change. In this blog post I'll write down a possible scenario for a typical STM32 project, in this case using a NUCLEO-L152RE board as a target. It should be easy to adapt to other STM32 boards/chips, and in general other ARM microcontrollers as well.

Programmer on chair

Getting started with LoRa(WAN)

Tags: Embedded, Network, Wireless

It seems that LoRa(WAN) in general tends to be quite a source of confusion for those starting out with this technology. For starters, there is the difference between LoRa and LoRaWAN that are absolutely fundamental but often these terms are used interchangeably. In addition, there are many different starter kits and devices out there that are not necessarily compatible with each other. The need to build up a gateway network alongside building actual communicating devices doesn’t really help to make this all straight forward. Hopefully this text can help clear some of the confusion and get people to build both infrastructure and things (pun intended) on top of this promising network technology.

Some Thoughts on Securing IoT Devices

Tags: Cryptography, Embedded, Programming, Security

Security in the Internet of Things (IoT) leaves much to be desired. Some of the recent DDoS attacks such as those through Mirai on DNS provider Dyn or on popular security site KrebsonSecurity have been possible due to weak security measures in things like network connected cameras. There are many reasons why the situation is what it is today, but that will not be the topic of this entry. While we have seen some initiatives, notably the security guidelines (PDF) by NIST and some comments made by Bruce Schneier, I feel that this leaves a lot of people wondering what practical measures to take to secure their devices. Many companies in the IoT are start-ups lacking a proper understanding of what security in the embedded field entails, and might lack (or didn't plan for) the budget to hire dedicated security people. The goal of this blog entry are to (hopefully) lift the veil on some of the methodologies that should be employed to create more secure IoT systems from a very practical point of view.

IOT

Standard Peripherals Library vs CMSIS vs HAL vs Low Level Library

Tags: ARM, C, Electronics, Embedded, Programming

The STM32 line of microcontrollers offer a bunch of features in a nice package at reasonable cost, something I like. What I don't like as much are the development libraries around it provided by ST. For this reason, most of the time I stick to writing code using the 'Cortex Microcontroller Software Interface Standard' (CMSIS) and the datasheet, and this works nicely but can be slow to develop. While it's still my personal favorite, I recently checked out the other options to see where things are going to do the prep work for some ports of older projects built using the 'Standard Peripherals Library' to newer processors such as the STM32L4.

 

Microcontroller

 

This Is How We Build It

Tags: Cloud, Electronics, Embedded, GPS, Network, Security, Wireless

The problem with the Internet of Things is that few people truly understand what it is really about. A large percentage of people in the group that does understand it tend to discard it as yet another marketing hype such as “the cloud” with very little real substance. Due to all kinds of news reports on security issues, vendor lock-ins and lack of open standards, cost overruns, etc. these people tend to see their opinions confirmed. We at WRD Systems also tend to agree with this group – to a point. The reason we do is that we see the same mistakes being made as countless numbers of times before, including the critical security issues that WRD Systems has highlighted for years. However, we also see the great potential of internet connected devices. Probably not the refrigerators and such, but closer to the origins of the Internet of Things: Machine to Machine, also known as M2M.

paint city titlegraphic