Embedded Software

Examples, Tips, Tricks, and Code

eBooks, Tools, Apps, Blog, Developer


How To Develop Embedded Software
A Case Study

* Shows processes, tools, and methods used by professional developers to complete an embedded software project.
* Derived from the author's 25 years developing embedded systems for major U.S. corporations.
* Case study, with source code and documentation, of digital Trombone for STM32L432KC on ST L432KC_NUCLEO board.

GPS Tracker Project for Cortex-M3 ARM

Text requests for tracking from your smart phone. Receive texted position reports from the tracker on your smart phone.

Complete requirements, architecture, design, development tool description, and source code of GPS tracker software for STM32F103 processor, and off-the-shelf circuit boards

XY Theremin for STM32F7-DISCO board

Plays notes based on user interaction with touchscreen of STM32F7-DISCO board. Lets users set waveform, envelope parameters attack, decay, sustain, and release, and binaural beat frequency between left and right channels

Includes complete requirements, architecture, design, development tool description, source code, and verification tests

Link to mbed binary: here.

Runtime Patterns for Embedded Systems

ARM Cortex-M source code for run time patterns, including reset loop, state machines, event handlers, message pumps, fibers, and combinations. Touchscreen interacts with example patterns on an STM32F7 Discovery board.

Visual Studio Code project folders allow building and debugging example patterns from macOS, Windows, or Linux.

Link to mbed binary: here.

Cross-Platform Cortex-M Development

With Visual Studio Code

Shows steps necessary to use Visual Studio Code to develop programs for ARM Cortex-M embedded systems on macOS, Linux, and Windows

Includes VSCode project folder with complete digital source code and VSCode configurations for macOS, Linux, and Windows builds of the program "XY Theremin for STM32F7-DISCO board"

Lora Tools for nRF52

Hardware build instructions, software design, nRF52832 source code, and software build instructions for lora tools, including ping, repeat, modem, and bluetooth/lora bridge. Use free cross-development tools on macOS, Windows, or Linux.

iPhone Apps

Hypertext Notepad and Connection Mapping Tool


* This tool helps you map the connections between people, things, and ideas.
* Text (303) 517 6502 for queries and support
A user manual can be seen or downloaded at Using NoteWeb. Also see blog for related info.

Scriptable Cellular Calculator and Math Assistant


A programmable math assistant that fits in the palm of your hand.
Text (303) 517 6502 for queries and support.
A user manual can be seen or downloaded at Using MathWeb. Also see blog for related info.

Binaural Virtual
Analog Synthesizer


* Virtual Analog Synth for iPhone and iPad
* Five octave, scrollable, standard and Janko keyboards
* Preset dictionary for favorite sounds
* Text (303) 517 6502 for queries and support
* See blog for more info


Blah blah blah...


* Observations, Opinion, and Suggestions related to embedded software development and other things


David Clifton

Over 30 years experience developing real-time, embedded software for startups and industry-leading corporations in medical devices, instrumentaion, communications, and robotics.