Tags
Firmware
Everything tagged “Firmware” across notes, resources, and Mochi logs.

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.

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.

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.

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.

IoT Security Checklist Before Production: 6 Checks Before You Ship
A practical pre-shipment IoT security checklist covering TLS/SSL, password storage, Secure Boot, firmware signing, OTA security, and data encryption for product makers.

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.
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.

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.

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.

Deep Dive: BLE Communication for IoT Devices
A practical guide to reliable BLE communication for IoT devices, covering GATT, packets, MTU, notifications, reconnection, security, and power with ESP32 NimBLE.

IoT Security Trend: A Practical Baseline for Connected Devices
A practical IoT security guide for ESP32 and connected devices, from threat modeling and unique identity to Secure Boot, signed OTA, protected storage, and testing.

What Is a MEMS Microphone? From a Silicon Diaphragm to ESP32 Audio
Learn how MEMS microphones work, how analog, PDM, and I2S outputs differ, and how to avoid PCB, power, and acoustic-port mistakes.

Designing an Emotion State System for the Mochi Robot
Build a Mochi Robot emotion state machine for idle, listening, talking, happy, sad, thinking, and error states with replaceable animations.
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.

Displaying Expressive GIFs on ESP32 with LVGL
A practical guide to animated GIF expressions in ESP32 firmware: convert assets, enable LV_USE_GIF, store files, and render with lv_gif.
GIF, PNG, JPG, or a C Array: Which Image Format Fits Your ESP32 Screen?
Compare GIF, PNG, JPG, and C array images for ESP32 displays by flash use, RAM use, decode speed, alpha, animation, and quality.

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.

First Notes On Hardware Design For Small Products
Initial principles for designing hardware for a small product: scope, power, PCB layout, firmware, and debugging.




