All About Circuits

Latest Embedded Software Technical Articles

Categories

Hands-ON With AT Commands: The LoRaWAN Trainer

Hands-ON With AT Commands: The LoRaWAN Trainer

We use a Raspberry Pi and free software to build a test platform for IoT systems.


Projects Mar 02, 2025 by Don Wilcher
Programming Your Standalone Hardware Soundboard

Programming Your Standalone Hardware Soundboard

In Part 2 of this two-part series, we turn our hardware assembly into a functioning soundboard by adding the necessary code in Arduino IDE and uploading soundbites.


Upgrading My Retro Handheld Gaming Console with Motion Control and an LCD

Upgrading My Retro Handheld Gaming Console with Motion Control and an LCD

Follow my upgrade of a handheld game controller as I add a new 1.8-inch color LCD for animated graphics and an accelerometer module for motion control input.


A Raspberry Pi Pico Controlled Frequency Shift Audio Oscillator:  A Radio Shack Classics Circuit Remix

A Raspberry Pi Pico Controlled Frequency Shift Audio Oscillator:  A Radio Shack Classics Circuit Remix

A PIR sensor detects objects to allow a Raspberry Pi Pico running MicroPython code to adjust the frequency of a Science Fair electronic oscillator circuit with audio output.


Projects Nov 26, 2023 by Don Wilcher
Designing Firmware for Embedded Systems Using Warnier-Orr Diagrams

Designing Firmware for Embedded Systems Using Warnier-Orr Diagrams

Go from chaos to clarity by learning how to design programs for embedded systems leveraging the Warnier-Orr diagrams.


Is Assembly Language Still Relevant for Embedded Software Development?

Is Assembly Language Still Relevant for Embedded Software Development?

As embedded systems continue to evolve, you might wonder: should I learn assembly language for embedded software development? Learn the answer in this article.


What is Machine Learning? An Intro to ML Basics

What is Machine Learning? An Intro to ML Basics

This article aims to contextualize machine learning (ML) for hardware and embedded engineers, what it is, how it works, why it matters, and how TinyML fits in.


Understanding Side Channel Attack Basics

Understanding Side Channel Attack Basics

Learn the basics of side channel attacks (SCAs), the threat they pose security for hardware-level security, and why they can be so powerful.


Neural Network Quantization: What Is It and How Does It Relate to TinyML?

Neural Network Quantization: What Is It and How Does It Relate to TinyML?

This article will give a foundational understanding of quantization in the context of machine learning, specifically tiny machine learning (tinyML).


What Is TinyML?

What Is TinyML?

Learn about a subsection of machine learning (ML) called Tiny Machine Learning (TinyML), what it is, its applications, hardware and software requirements, and its benefits.


Assembly vs. C: Why Learn Assembly?

Assembly vs. C: Why Learn Assembly?

This article discusses two programming languages, namely, C and Assembly, and presents the need to know Assembly language for programming embedded systems.


Introduction to DRAM (Dynamic Random-Access Memory)

Introduction to DRAM (Dynamic Random-Access Memory)

This article will examine the basic operation of Dynamic Random Access Memory (DRAM), along with how a DRAM chip is organized.


Why You Should Use Unit Tests to Write Better Embedded Software

Why You Should Use Unit Tests to Write Better Embedded Software

An introduction to software unit testing for embedded systems developers.


Intro to Embedded Development: Styles and Standards

Intro to Embedded Development: Styles and Standards

Some of the unique aspects of embedded programming design will be highlighted, and various standards and tools common to the field will be discussed. Great for first-time designers and developers who have some programming experience, but are new to microcontrollers and things such as real-time operating systems.