Skip to main content

Notes

Firmware notes for embedded products

ESP32 development board wired to a compact cellular IoT modem and LTE antenna on a maker workbench
Firmware

5G IoT with ESP32: Connect NB-IoT & LTE-M from Modem to MQTT

A practical ESP32 guide to integrating an NB-IoT/LTE-M modem: choose the network, power it safely, wire UART, use TinyGSM and send first telemetry.

4 min read
An ESP32 development board connected to a small sensor on a realistic electronics workbench
Firmware

Real-Time Operating System (RTOS): FreeRTOS on ESP32

A beginner-friendly guide to using FreeRTOS on ESP32 for multitasking firmware with tasks, queues, notifications, mutexes, and practical debugging habits.

6 min read
ESP32-DevKitC V4 and an RS-485 transceiver laid out on an electronics workbench
Firmware

Industrial IoT with ESP32: Modbus and Real-Time Control

A practical guide to Modbus TCP, Modbus RTU over RS-485, and PLC communication with ESP32 for reliable industrial IoT prototypes.

7 min read
ESP32 development board beside a laptop showing a firmware deployment dashboard on an electronics workbench
Firmware

Over-The-Air (OTA) Firmware Updates: Design & Implementation

A practical guide to designing safe OTA firmware updates for ESP32 and STM32, covering partitions, signed images, rollback, rollout control, and delta updates.

8 min read
ESP32-P4 development board connected to a laptop on an embedded systems workbench
Firmware

RISC-V Embedded Development: Getting Started with ESP32-P4

A practical ESP32-P4 RISC-V guide: install ESP-IDF, select the esp32p4 target, build a first project, flash over USB, and understand the dual-core architecture.

7 min read
STM32 Nucleo board connected to UART, I2C, and SPI test hardware on an electronics workbench
Firmware

STM32 Beginner - P3: UART, I2C, and SPI with HAL

Learn the three common STM32 interfaces: use UART for debugging, I2C for sensors, and SPI for displays or memory with STM32CubeIDE and HAL.

9 min read
STM32 Nucleo bench monitor prototype with sensor, display and measurement equipment on an electronics workbench
Firmware

STM32 Beginner - Part 5: Building a Complete Application

Combine timer, ADC, DMA, PWM, I2C, and UART into a small STM32 bench monitor with a clear firmware architecture, fault handling, and room to grow into a real project.

12 min read
STM32 Nucleo board wired to an LED and push button on a practical electronics workbench
Firmware

STM32 Beginner Guide P2: GPIO, Interrupts, and Timers from the First Example

Learn to configure GPIO, capture a button event with an EXTI interrupt, and create a periodic time base with a timer on STM32CubeIDE using a NUCLEO-G071RB board.

8 min read
STM32 Nucleo board with analog input, PWM LED and DMA test hardware on an electronics workbench
Firmware

STM32 Beginner Guide P4: ADC, PWM, and DMA from Analog to Continuous Data

Learn to read analog signals with ADC, control LED brightness with PWM, and transfer multiple samples through DMA on STM32CubeIDE using HAL.

8 min read
Realistic nRF52840-style BLE wearable prototype on an electronics workbench
Firmware

nRF52840 BLE Wearables: How to Build a Wearable Device

A practical guide to building nRF52840 BLE wearables with open-source references, Zephyr, compact GATT design, sleep/wake states, and real power measurements.

6 min read
STM32 Nucleo development board connected to a laptop on a real electronics workbench
Firmware

STM32 Beginner Guide P1: What Is STM32 and Which Board Should You Choose?

Learn what STM32 is, distinguish chips, modules, and development boards, then choose a practical board for learning GPIO, HAL, STM32CubeIDE, and embedded firmware from the beginning.

8 min read
Realistic smart speaker prototype beside an ESP32-S3 board and laptop with audio waveforms
Firmware

Which Wake Word Is Better? microWakeWord vs Google vs Alexa

A practical comparison of microWakeWord, Google Assistant, and Alexa by architecture, control, privacy, hardware fit, and ESP32-S3 integration.

7 min read
An ESP32-S3 development board beside a BME280 sensor and MacBook Pro displaying a local sensor dashboard on a realistic electronics workbench
Firmware

ESP32 Beginner Guide – P5: Wi-Fi and Web Server

Connect ESP32 to Wi-Fi, find its IP address, and build a local web server that displays BME280 temperature, humidity, and pressure in a browser.

4 min read
An ESP32-S3 development board and smartphone testing Bluetooth Low Energy beside a MacBook Pro on a realistic electronics workbench
Firmware

ESP32 Beginner Guide – P6: Bluetooth Low Energy

Learn ESP32 BLE, GATT services, and characteristics by sending BME280 readings to a phone with Read and Notify.

5 min read
A complete ESP32-S3 room comfort monitor prototype with BME280, pushbutton, status LED, and a local dashboard on a MacBook Pro
Firmware

ESP32 Beginner Guide – P7: Build a Complete ESP32 Project

Finish the series with a Room Comfort Monitor: ESP32 reads a BME280, controls a warning LED and serves a local Wi-Fi dashboard.

5 min read
An ESP32-S3 development board, BME280 breakout, and sensor modules arranged beside a MacBook Pro on a practical electronics workbench
Firmware

ESP32 Beginner Guide – P4: Connecting Sensors

Connect digital, analog, and I2C sensors to ESP32; read temperature, humidity, and pressure from a BME280 and diagnose devices that are not detected.

6 min read
Technical workbench illustration showing an ESP32 memory map, heap blocks and a FreeRTOS task stack
Firmware

ESP32 Memory Management Deep Dive: SRAM, PSRAM, Heap and FreeRTOS Stacks

A practical ESP32 memory guide covering SRAM layout, PSRAM usage, heap fragmentation, RTOS task stacks, and small optimization tricks that are useful in real firmware.

5 min read
An ESP32-S3 development board beside a MacBook Pro displaying a pinout reference on a practical electronics workbench
Firmware

ESP32 Beginner Guide – P3: Pinout and GPIO

Read an ESP32 pinout, choose GPIO for input and output, use pull-ups, wire an LED and button, and avoid boot, flash, PSRAM, and unsafe 5 V signals.

7 min read
ESP32 IoT learning roadmap represented by connected prototype stages on a real electronics workbench
Firmware

ESP32 IoT Project Roadmap: From LED to Production

An interactive ESP32 project roadmap from LEDs and buttons through connected sensors and edge ML to production OTA and security, with practical guides at each level.

5 min read
An ESP32-S3 development board connected correctly to a MacBook Pro on a practical electronics workbench while preparing the first firmware upload
Firmware

ESP32 Beginner Guide – P2: Setup and Upload Your First Sketch

Install Arduino IDE and Arduino-ESP32, select the correct board and port, upload your first sketch, and fix Failed to connect errors on ESP32, ESP32-C3, and ESP32-S3.

6 min read
ESP32 development board beside a laptop showing a runtime crash log on a practical electronics workbench
Firmware

18 Common ESP32 Errors – Part 2: Critical Errors

How I read ESP32 backtraces and troubleshoot crashes, watchdogs, heap, stack, FreeRTOS, Wi-Fi, ADC, deep sleep, and OTA with a practical runtime checklist.

12 min read
An unbranded smart speaker with a physical microphone mute switch in a real living room
Firmware

Wake-word detection: always-listening smart devices

A practical look at local wake-word detection on ESP32-S3 devices: audio framing, microWakeWord, threshold tuning, false activations, microphone mute, and privacy.

5 min read
A local-first notes app and an external drive on a real developer desk
Firmware

Local-first architecture: keeping data off the cloud

A practical local-first architecture using an on-device store, Automerge, optional sync, and backups so an app stays useful without sending its working data to a cloud service.

4 min read
ESP32-S31 development board connected to a laptop displaying a minimal Linux serial console
Popular
Firmware

Running Linux on ESP32-S31: What the MMU Changes

ESP32-S31 now has an official Linux BSP Developer Preview. Here is a practical look at its MMU, Buildroot, U-Boot, Linux 6.18, build flow, and the limits that still matter.

6 min read
Camera-equipped ESP32-S3 prototype running person detection locally on a workbench
Firmware

TinyML on ESP32: Running AI on the Device

How I run a small person-detection model on ESP32 with TensorFlow Lite Micro and ESP-NN, from memory limits to testing Espressif's example.

5 min read
Diagram of active, idle and sleep states used to reduce ESP32 display power consumption
Firmware

Extending Battery Life in an ESP32 Robot with a Display

Analyze battery life for an ESP32 robot with a display: backlight, Wi-Fi, audio, peripherals, sleep modes, wake sources, and runtime.

9 min read
Original open robot prototype showing its controller, speaker, battery and display hardware
Firmware

Two-Way I2S Audio on ESP32-S3: I2S Microphone and I2S Speaker

A practical explanation of BCLK, WS, DIN, DOUT, full-duplex audio, sample rate, and buffers when building two-way I2S audio on ESP32-S3.

6 min read
Opened Mochi prototype showing the ESP32 board, display wiring and 3D-printed enclosure
Firmware

First Notes On Firmware For Embedded Products

Early principles for firmware on a small embedded product: scope, module boundaries, logging, and handling errors without guessing.

4 min read

Nastrotek uses cookies for analytics and ad personalization to help us understand how the site is used. You can accept or decline non-essential cookies. Privacy Policy