COVID-19 Update: We are currently shipping orders daily. However, due to transit disruptions in some geographies, deliveries may be delayed. To provide all customers with timely access to content, we are offering 50% off Science and Technology Print & eBook bundle options. Terms & conditions.
Fast and Effective Embedded Systems Design - 2nd Edition - ISBN: 9780081008805, 9780081009031

Fast and Effective Embedded Systems Design

2nd Edition

Applying the ARM mbed

Authors: Rob Toulson Tim Wilmshurst
eBook ISBN: 9780081009031
Paperback ISBN: 9780081008805
Imprint: Newnes
Published Date: 8th October 2016
Page Count: 510
Sales tax will be calculated at check-out Price includes VAT/GST
Price includes VAT/GST

Institutional Subscription

Secure Checkout

Personal information is secured with SSL technology.

Free Shipping

Free global shipping
No minimum order.


Fast and Effective Embedded Systems Design is a fast-moving introduction to embedded systems 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 to start. C/C++ programming is applied, with a step-by-step approach which allows you to get coding quickly. Once the basics are covered, the book progresses to some "hot" embedded issues – intelligent instrumentation, wireless and networked systems, digital audio and digital signal processing. In this new edition all examples and peripheral devices are updated to use the most recent libraries and peripheral devices, with increased technical depth, and introduction of the "mbed enabled" concept.

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 and techniques introduced, and considers applications in a wider context.

New Chapters on:

  • Bluetooth and ZigBee communication
  • Internet communication and control, setting the scene for the ‘Internet of Things’
  • Digital Audio, with high-fidelity applications and use of the I2S bus
  • Power supply, and very low power applications
  • The development process of moving from prototyping to small-scale or mass manufacture, with a commercial case study.

Key Features

  • Updates all examples and peripheral devices to use the most recent libraries and peripheral products
  • Includes examples with touch screen displays and includes high definition audio input/output with the I2S interface
  • Covers the development process of moving from prototyping to small-scale or mass manufacture with commercial case studies
  • Covers hot embedded issues such as intelligent instrumentation, networked systems, closed loop control, and digital signal processing


Students studying embedded systems using ARM technology, Professional embedded systems engineers, and software engineers developing embedded systems.

Table of Contents

  • Companion Website
  • Introduction
  • Chapter 1. Embedded Systems, Microcontrollers, and ARM
    • 1.1. Introducing Embedded Systems
    • 1.2. Microprocessors and Microcontrollers
    • 1.3. Development Processes for Embedded Systems
    • 1.4. The World of ARM
    • Chapter Review
    • Quiz
  • Part I. Essentials of Embedded Systems, Using the mbed
    • 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
      • Quiz
    • 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. Digital Input and Output With the Application Board
      • 3.6. Interfacing Simple Optodevices
      • 3.7. Switching Larger DC Loads
      • 3.8. Mini Project: Letter Counter
      • Chapter Review
      • Quiz
    • 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
      • Quiz
    • Chapter 5. Analog Input
      • 5.1. Analog-to-Digital Conversion (ADC)
      • 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 Projects
      • Chapter Review
      • Quiz
    • 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
      • 6.7. Working With Bespoke Libraries
      • Chapter Review
      • Quiz
      • References
    • Chapter 7. Starting with Serial Communication
      • 7.1. Introducing Synchronous Serial Communication
      • 7.2. SPI
      • 7.3. Intelligent Instrumentation
      • 7.4. Evaluating SPI
      • 7.5. The I2C Bus
      • 7.6. Communicating With I2C-Enabled Sensors
      • 7.7. Evaluating I2C
      • 7.8. Asynchronous Serial Data Communication
      • 7.9. USB
      • 7.10. Mini Project: Multinode I2C Bus
      • Chapter Review
      • Quiz
    • 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. Pixel Graphics—Implementing the NHD-C12832 Display
      • 8.6. Color LCDs—Interfacing the uLCD-144-G2
      • 8.7. Mini Project: Digital Spirit Level
      • Chapter Review
      • Quiz
    • Chapter 9. Interrupts, Timers, and Tasks
      • 9.1. Time and Tasks in Embedded Systems
      • 9.2. Responding to External 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. Where Do We Go From Here? The Real-Time Operating System
      • 9.12. Mini Projects
      • Chapter Review
      • Quiz
    • Chapter 10. Memory and Data Management
      • 10.1. A Memory Review
      • 10.2. Introducing Pointers
      • 10.3. Using Data Files With the mbed
      • 10.4. Example mbed Data File Access
      • 10.5. Using External SD Card Memory With the mbed
      • 10.6. Using External USB Flash Memory With the mbed
      • 10.7. Mini Project: Accelerometer Data Logging on Exceeding Threshold
      • Chapter Review
      • Quiz
  • Part II. Moving to Advanced and Specialist Applications
    • Chapter 11. Wireless Communication – Bluetooth and Zigbee
      • 11.1. Introducing Wireless Data Communication
      • 11.2. Bluetooth
      • 11.3. Zigbee
      • 11.4. Mini Projects
      • Chapter Review
      • Quiz
    • Chapter 12. Internet Communication and Control
      • 12.1. Introduction to Internet Communication
      • 12.2. The Ethernet Communication Protocol
      • 12.3. Local Area Network Communications With the mbed
      • 12.4. Using Remote Procedure Calls With the mbed
      • 12.5. Using the mbed With Wide Area Networks
      • 12.6. The Internet of Things
      • Chapter Review
      • Quiz
    • Chapter 13. Working With Digital Audio
      • 13.1. An Introduction to Digital Audio
      • 13.2. USB MIDI on the mbed
      • 13.3. Digital Audio Processing
      • 13.4. Digital Audio Filtering Example
      • 13.5. Delay/Echo Effect
      • 13.6. Working With Wave Audio Files
      • 13.7. High-Fidelity Digital Audio With the mbed
      • 13.8. Summary on Digital Audio and Digital Signal Processing
      • 13.9. Mini Project: Portable Music Player
      • Chapter Review
      • Quiz
    • Chapter 14. Letting Go of the mbed Libraries
      • 14.1. Introduction: How Much Do We Depend on the mbed API
      • 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
      • Quiz
    • Chapter 15. Hardware Insights: Clocks, Resets, and Power Supply
      • 15.1. Hardware Essentials
      • 15.2. Clock Sources and Their Selection
      • 15.3. Reset
      • 15.4. Toward Low Power
      • 15.5. Exploring mbed Power Consumption
      • 15.6. Getting Serious About Low Power; the M0/M0+ Cores and the Zero Gecko
      • Chapter Review
      • Quiz
    • Chapter 16. Developing Commercial Products With mbed
      • 16.1. Embedded Systems Design Process
      • 16.2. Using mbed-Enabled Platforms in Commercial Products
      • 16.3. Implementing the mbed Architecture on a Bespoke Printed Circuit Board
      • 16.4. Programming the LPC1768 Directly
      • 16.5. Case Study: Irisense Temperature Logger With Touch Screen Display
      • 16.6. Closing Remarks
      • Chapter Review
      • Quiz
  • Appendix A. Some Number Systems
  • Appendix B. Some C Essentials
  • Appendix C. mbed Technical Data
  • Appendix D. Parts List
  • Appendix E. Using a Host Terminal Emulator
  • Index


No. of pages:
© Newnes 2016
8th October 2016
eBook ISBN:
Paperback ISBN:

About the Authors

Rob Toulson

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

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

Ratings and Reviews