Firmware · Tools

IDEs for firmware development

We write firmware for many microcontroller families to stay resilient to supply shortages. The IDEs we use, Arduino IDE 2.0, and what we recommend.

We develop products on many microcontroller families: Cypress PSoC 4, 5 and 6, STM32, Nordic nRF, Arduino and PIC. In the past this was down to client requirements or the outcome of our engineering evaluations. Today we do it on purpose: we aim to keep our designs as independent of any one MCU as we can, so a product can survive a supply shortage. Our firmware is structured to port easily between MCUs, and as a result we use many IDEs every day, including PSoC Creator, Keil µVision, Eclipse, Visual Studio, Arduino IDE and SEGGER Embedded Studio.

Arduino IDE

The Arduino IDE is one of the most popular tools for firmware right now, though it only supports Arduino and compatible boards. Arduino recently released Arduino IDE 2.0, and the most important addition is inline debugging.

The lack of a debugger was one of the most frustrating parts of IDE 1.x. Checking behaviour meant adding serial output and reading the printout, which is slow, and it is why we moved to Visual Studio early on. The new debugger has limits: it supports a selected range of Arduino boards and needs an external debug probe. Still, it is a real alternative now.

Other IDEs

If you prefer one IDE for many MCUs, Keil and SEGGER Embedded Studio both do a remarkable job. Neither is free, and the licences can be expensive to keep up. At the time of writing, SEGGER Embedded Studio is free only for Nordic nRF series MCUs.

Our recommendation

Start with the IDE recommended by the example projects in your MCU’s SDK. It is usually free, and it is the path the vendor supports best.

If you need help with an embedded product, or with keeping a design independent of one MCU to ride out supply shocks, we are happy to talk.

Have a design challenge?