Fast and Effective Embedded Systems Design is a fast-moving introduction to embedded system design, applying the innovative ARM mbed and its web-based development environment. Each chapter introduces a major topic in embedded systems, and proceeds as a series of practical experiments, adopting a "learning through doing" strategy. Minimal background knowledge is needed. C/C++ programming is applied, with a step-by-step approach which allows the novice to get coding quickly. Once the basics are covered, the book progresses to some "hot" embedded issues – intelligent instrumentation, networked systems, closed loop control, and digital signal processing.

Written by two experts in the field, this book reflects on the experimental results, develops and matches theory to practice, evaluates the strengths and weaknesses of the technology or technique introduced, and considers applications and the wider context. Numerous exercises and end of chapter questions are included.

Key Features

    • A hands-on introduction to the field of embedded systems, with a focus on fast prototyping
    • Key embedded system concepts covered through simple and effective experimentation
    • Amazing breadth of coverage, from simple digital i/o, to advanced networking and control
    • Applies the most accessible tools available in the embedded world
    • Supported by mbed and book web sites, containing FAQs and all code examples
    • Deep insights into ARM technology, and aspects of microcontroller architecture
    • Instructor support available, including power point slides, and solutions to questions and exercises


    Embedded systems engineers, undergraduates and graduates developing embedded applications

    Table of Contents

    Please visit the Companion



    PART I: Essentials of Embedded Systems, using the mbed

    Chapter 1. Embedded Systems, Microcontrollers and ARM

    1.1 Introducing Embedded Systems

    1.2 Microprocessors and Microcontrollers

    1.3 Development Processes in Embedded Systems

    1.4 The World of ARM

    Chapter Review



    Chapter 2. Introducing the mbed

    2.1 Introducing the mbed

    2.2 Getting Started with the mbed: A Tutorial

    2.3 The Development Environment

    Chapter Review



    Chapter 3. Digital Input and Output

    3.1 Starting to Program

    3.2 Voltages as Logic Values

    3.3 Digital Output on the mbed

    3.4 Using Digital Inputs

    3.5 Interfacing Simple Opto Devices

    3.6 Switching Larger DC Loads

    3.7 Mini-Project: Letter Counter

    Chapter Review



    Chapter 4. Analog Output

    4.1 Introducing Data Conversion

    4.2 Analog Outputs on the mbed

    4.3 Another Form of Analog Output: Pulse Width Modulation

    4.4 Pulse Width Modulation on the mbed

    Chapter Review



    Chapter 5. Analog Input

    5.1 Analog-to-Digital Conversion

    5.2 Combining Analog Input and Output

    5.3 Processing Data from Analog Inputs

    5.4 Some Simple Analog Sensors

    5.5 Exploring Data Conversion Timing

    5.6 Mini-Project: Two-Dimensional Light Tracking

    Chapter Review



    Chapter 6. Further Programming Techniques

    6.1 The Benefits of Considered Program Design and Structure

    6.2 Functions

    6.3 Program Design

    6.4 Working with Functions on the mbed

    6.5 Using Multiple Files in C/C++

    6.6 Modular Program Example

    Chapter Review



    No. of pages:
    © 2012
    Print ISBN:
    Electronic ISBN:

    About the authors

    Rob Toulson

    Rob Toulson is Professor of Creative Industries at the University of Westminster. He holds a PhD in the field of digital signal processing (awarded by Anglia Ruskin University in 2004) and a first degree in Mechanical Engineering from Loughborough University (1999). Rob has a number of year’s industrial experience in digital signal analysis, control systems design, rapid prototyping, and model based design, as well as commercial experience in sound engineering and music production. His main focus is now in developing collaborative research between the technical and creative industries.

    Affiliations and Expertise

    Professor of Creative Industries at the University of Westminster, London, UK.

    Tim Wilmshurst

    Tim Wilmshurst is the author of Designing Embedded Systems with PIC Microcontrollers. He has been designing embedded systems since the early days of microcontrollers. For many years this was for Cambridge University, where he led a development team building original systems for research applications – for example in measurement of bullet speed, wind tunnel control, simulated earthquakes, or seeking a cure to snoring. Now he is Head of Electronic Systems at the University of Derby, where he aims to share his love of engineering design with his students.

    Affiliations and Expertise

    Head of Electronics, University of Derby, UK


    "The authors address a wide range of topics, including digital and analog input and output, interrupts, LCDs, and digital signal processing. The book provides deep insights into computer architecture, memory management, and input/output processes…Overall, this is a great book for computer hobbyists, embedded systems engineers, and students.", October 28, 2013
    "Toulson…and Wilmshurst…explain how to program circuits on ARM's mbed microprocessor-based hardware platform and provide instructions for building a digital-to-analog converter, serial data links, and a liquid crystal display."--Reference and Research Book News, February 2013