5 embedded programming surprises

Understand these 5 key-pitfalls and save yourself a lot of pain

Are you starting to program microcontrollers? Your journey will be a lot easier than mine if you know about these five things upfront.

From Python programming to embedded C++ --- I coded control modules for my own electric cars and had to learn some lessons the hard way.

Embedded code on an STM32 or ESP32 has very different constraints to the business logic on Amazon AWS EC2 and Lambda that I was used to.

I suggest you watch the video below and save yourself some pain. This is part of the vehicle control knowledge base, but the concepts apply to all embedded devices. So your learning will also push you forward if you are programming electric car chargers, heat pumps, control modules for audio equipment even or other embedded control systems.

The 5 embedded programming surprises are

  • Static memory allocation is common
  • Destroying hardware is normal! No git revert in hardware
  • 1 != 1 sometimes it's a 0. Input filtering is mandatory
  • HIL-testing is treacherous, have a short feedback loop or be doomed
  • Embedded developers don't respect libraries, they copy them in and modify them at will!