Microcontroller Programming - Bits and Pieces

Getting Started

This is the landing page for a series of articles that documents how we installed and tested various tools, utilities and hardware drivers to supplement our development work with microcontrollers. We have provided this resource because far too often we found it difficult (if not impossible) to find trustworthy install and usage instructions pitched at our modest level of proficiency. We cover both Windows and Linux cases.

Programming microcontrollers is an interesting and educational hobby. But it does come with its frustrations. A specialist Integrated Development Environment (IDE) is usually required.

In the more simpler cases the IDE (e.g. in the case of MicroPython scripting) may facilitate the full development cycle of source code editing, flashing the program to the microcontroller and initiating the running of the code. A good example is Thonny, the one stop shop for MicroPython (and Python) programming.

In other cases a more comprehensive toolchain may be required. This is often the case for C/C++ and Assembly programming. A toolchain is a set of software development tools linked together to perform a complex task, such as building, testing, or deploying software. These tools are typically used in sequence, where the output of one tool serves as the input for the next, forming an automated pipeline.

Occasionally an ancillary service or tool may be required to perform an auxiliary task such as updating the firmware on a controller. Good examples here include dfu-util  and esptool.py.  The former is useful for flashing MicroPython firmware to STM32 microcontroller and the latter performs the same task on ESP32 boards.

Sometimes a particular task is easier if using Linux. A good example here is the compilation and building of source to MicroPython firmware ready for flashing onto the microcontroller. We use Windows based computers because some of the specialist software we use for other ventures is only available for Windows.

There is an article in this collection on how we successfully installed Fedora to an external SSD drive without disturbing the Windows boot or OS in any way. One would thing this should be a relatively simple task but while doing our research we came across many horror stories on community forums where the internal Windows OS was effectively destroyed during the attempt.