Too many books on embedded software development deliver conceptually elegant models of the development process, but lack the down-to-earth details of how to actually get the job done. This no-nonsense guide fills in those details by showing an actual project from start to finish, and all of the methods and documents created along the way. This information comes directly from the author's 20 years of experience developing embedded software for electronic products made by top U.S. corporations This guide walks the reader through the creation of a typical embedded application, a voice controlled synthesizer, from requirements analysis through validation. It is intended that a programmer with no previous embedded experience can read this book, and feel neither lost nor out of place in his first embedded project. The new embedded developer may use the methods in this book as a starting point for his own collection of techniques. The sample application is called a voice substitution device. It measures the fundamental frequency, if any, in an input signal; and substitutes a synthesized waveform of the same frequency in the output. Hopefully, this example is challenging enough to illustrate most common embedded development practices.