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 Theremin for mbed LPC1768 (Cortex-M3)

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

Synthesizes audio waveforms based on user interaction with touchscreen of STM32F7-DISCO board

Supports user settings for waveform, envelope attack, decay, sustain, release settings, filter, and frequency difference between left and right output channels

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


Hypertext Notepad

* Hypertext notepad for Win32 and Wine
* Browser-like interface
* Reporting and cross-referencing features.
* Use to study complex webs of information and think about interconnected systems.

Cellular Calculator

* Cellular Calculator for Win32 and Wine
* Calculates networks of formulae
* Performs dynamic simulations
* Solves systems of equations.
* Builtin script language
* Browser-like interface including a hypertext notepad


Binaural Virtual
Analog Synthesizer

* Virtual Analog Synth for iPhone and iPad
* Notes have same envelope in left and right channels, but...
* Waveforms and frequency may differ between channels
* A variety of waveforms to choose from
* Frequency difference set in halfsteps or Hz
* Five octave, scrollable, standard and Janko keyboards
* Preset dictionary for favorite sounds
* See blog for more info


Blah blah blah...


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


David Clifton

Specializing in medical, embedded, and real-time applications

Experienced with wireless and wired communication protocols, robotic scheduling, data acquisition, signal processing, and instrumentation