2026-02-09
Nicolas De Coster & Henk Buursen
Consider:
From blinking led to linux OS (5G chips) and beyond.
Always refer to the microcontroller's datasheet and reference manual for detailed specifications and usage instructions. These documents provide essential information for programming and configuring the microcontroller.
Mixing languages might give you the best of each world :
Very first algorithm (1843!): conditionnal branching and loop.
Single pin (reset), half-duplex serial
Used for AtTiny/AVR
In-System Programming (~3 wires)
Classic AVR, PIC, etc.
Serial Wire Debug & Joint Test Action Gropu
ARM Cortex-M, SAMD, RP2040, ...
USB Flashing Format
RP2040, RP2350
Bootloader : small program stored memory that initialize the µC and load/rewrite code from a secondary storage device such as serial port (USB/UART), flash memory or EEPROM.
Basic board for using Alex Tardov's Free DAP
All three are distinct but commonly used together
Some tips :


4. Keep in Mind: The Problem May Not Always Be
Visible


Unified Program and Debug Interface
#define DEBUG_MODE 1
...
#if DEBUG_MODE
Serial.print("DEBUG -- MyVal value = ");
Serial.println(MyVal, DEC);
#endif
