Embedded Software

eBooks, Apps, Blog, Developer

eBooks with Projects, Tools, and Source Code, as well as Helpful Apps


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

Describes how you can construct and program LoRa packet radios from Adafruit nRF52832 and nRF52840 processor boards with attached LoRa radio boards. Programmed boards support LoRa ping, repeat, modem and bluetooth-lora bridge applications. eBook includes software design, coding and debugging information with the GNU Arm toolchain and the VSCode cross-platform development environment. Complete VSCode build directories for Windows and Linux supplied with purchase of eBook from leanpub.com.

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