Fast and Effective Embedded Systems Design

Fast and Effective Embedded Systems Design

Applying the ARM mbed

1st Edition - July 3, 2012

Write a review

  • Authors: Tim Wilmshurst, Rob Toulson
  • eBook ISBN: 9780080977690

Purchase options

Purchase options
DRM-free (Mobi, PDF, EPub)
Sales tax will be calculated at check-out

Institutional Subscription

Free Global Shipping
No minimum order


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


    Chapter 7. Starting with Serial Communication

    7.1 Introducing Synchronous Serial Communication

    7.2 Serial Peripheral Interface

    7.3 Intelligent Instrumentation and a SPI Accelerometer

    7.4 Evaluating SPI

    7.5 The Inter-Integrated Circuit Bus

    7.6 Communicating with an I2C Temperature Sensor

    7.7 Using the SRF08 Ultrasonic Range Finder

    7.8 Evaluating I2C

    7.9 Asynchronous Serial Data Communication

    7.10 Mini-Project: Multi-Node I2C Bus

    Chapter Review



    Chapter 8. Liquid Crystal Displays

    8.1 Display Technologies

    8.2 Using the PC1602F LCD

    8.3 Using the mbed TextLCD Library

    8.4 Displaying Analog Input Data on the LCD

    8.5 More Advanced LCDs

    8.6 Mini-Project: Digital Spirit Level

    Chapter Review



    Chapter 9. Interrupts, Timers and Tasks

    9.1 Time and Tasks in Embedded Systems

    9.2 Responding to Event-Triggered Events

    9.3 Simple Interrupts on the mbed

    9.4 Getting Deeper into Interrupts

    9.5 An Introduction to Timers

    9.6 Using the mbed Timer

    9.7 Using the mbed Timeout

    9.8 Using the mbed Ticker

    9.9 The Real Time Clock

    9.10 Switch Debouncing

    9.11 Mini-Projects

    Chapter Review


    Chapter 10. Memory and Data Management

    10.1 A Memory Review

    10.2 Using Data Files with the mbed

    10.3 Example mbed Data File Access

    10.4 Using External Memory with the mbed

    10.5 Introducing Pointers

    10.6 Mini-Project: Accelerometer Data Logging on Exceeding Threshold

    Chapter Review



    PART II: Moving to Advanced and Specialist Applications

    Chapter 11. An Introduction to Digital Signal Processing

    11.1 What is a Digital Signal Processor?

    11.2 Digital Filtering Example

    11.3 An mbed DSP Example

    11.4 Delay/Echo Effect

    11.5 Working with Wave Audio Files

    11.6 Summary on DSP

    11.7 Mini-Project: Stereo Wave Player

    Chapter Review



    Chapter 12. Advanced Serial Communications

    12.1 Introducing Advanced Serial Communication Protocols

    12.2 Bluetooth Serial Communication

    12.3 Introducing USB

    12.4 Introducing Ethernet

    12.5 Local Network and Internet Communications with the mbed

    Chapter Review



    Chapter 13. An Introduction to Control Systems

    13.1 Control Systems

    13.2 Closed Loop Digital Compass Example

    13.3 Communicating Control Data over the Controller Area Network

    Chapter Review



    Chapter 14. Letting Go of the mbed Libraries

    14.1 Introduction

    14.2 Control Register Concepts

    14.3 Digital Input/Output

    14.4 Getting Deeper into the Control Registers

    14.5 Using the DAC

    14.6 Using the ADC

    14.7 A Conclusion on using the Control Registers

    Chapter Review



    Chapter 15. Extension Projects

    15.1 Where do We Go from Here?

    15.2 Pololu Robot for mbed

    15.3 Advanced Audio Projects

    15.4 The Internet of Things

    15.5 Introducing the mbed LPC11U24

    15.6 From mbed to Manufacture

    15.7 Closing Thoughts


    APPENDIX A: Some Number Systems

    APPENDIX B: Some C Essentials

    APPENDIX C: mbed Technical Data

    APPENDIX D: Parts List

    APPENDIX E: The Tera Term Terminal Emulator


Product details

  • No. of pages: 400
  • Language: English
  • Copyright: © Newnes 2012
  • Published: July 3, 2012
  • Imprint: Newnes
  • eBook ISBN: 9780080977690

About the Authors

Tim Wilmshurst

Tim Wilmshurst has had a varied career of electronic and embedded system design and teaching at the Universities of Cambridge and Derby, where he was Head of Electronics over a number of years. He is the author of a number of leading textbooks on embedded system design. In his teaching, Tim is passionate about “learning through doing”, and is a frequent user of problem-based learning. He is now a freelance technical author and educator.

Rob Toulson

Rob Toulson is Professor of Creative Industries: Commercial Music at the University of Westminster, as well as Founder and Director of RT Sixty Ltd., a company that develops innovative applications for the audio-visual and music industries. Professor Toulson is a world-leading expert in audio-visual mobile applications, digital signal processing, embedded systems, musical acoustics, music production and interactive sound design.

Affiliations and Expertise

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

Ratings and Reviews

Write a review

There are currently no reviews for "Fast and Effective Embedded Systems Design"