Getting started with Embedded Systems — 1: Introduction

Corentin Dugué
Invent.io
Published in
2 min readSep 10, 2017

Autonomous driving vehicles, sensor hub, smart locks, … The endless possibilities of embedded systems are truly incredible but can also make them surprisingly complex. It is a difficult subject to get started with as it encompasses a wide range of domains and therefore requires a strong set of skills. In this series of articles, I intend to go through the different components required to build an Embedded System.

The overall plan for this series will be as follow:

  1. Introduction to Embedded Systems
  2. Hardware: Microcontrollers
  3. Hardware: Schematic, PCB design, Manufacturing
  4. Networking: Bluetooth, Wifi, Zigbee
  5. Mechanical engineering: 3d printing, enclosure, thermal testing
  6. Software: Embedded specific software, RTOS, Linux
  7. Backend/Frontend: database, website, application
  8. Bonus: sensors, actuators

What is an Embedded system?

An embedded system is some combination of computer hardware and software, either fixed in capability or programmable, that is designed for a specific function or for specific functions within a larger system. (techtarget.com)

Example of two embedded systems: Nest Thermostat (left) and Meraki Camera MV21 (right)

Example: Autonomous driving car

The following car is a good example of an embedded system that I designed as it includes some hardware such as Printed Circuit Boards (PCBs), mechanical enclosure (motors, servo, chassis), sensors but also some firmware to interface the different sensors and communicate between the two PCBs. An RTOS is running on both microcontrollers. It also has an RCB screen to display important information.

Autonomous driving car

The autonomous driving car is made of two PCBs: a motor board and a sensor board. You can see them stacked on top of each other (red boards) on the image above. The sensor board collects data from the sensors such as the IR ones. It then transmits those data through the Controller Area Network (CAN) to the motor board. The motor board controls the motor along with the servos. A Real-Time Operating System (RTOS) runs on both boards and is in charge of scheduling the different tasks. A state machine runs on the motor board to decide the power of the motor along with the direction of the wheels. The microcontroller used for those two PCBs is the TI TM4C123.

The next article in this Getting Started with Embedded Systems series will be about microcontrollers. If you have any question or comment feel free to reach out to me on Twitter @cDugue.

--

--

Corentin Dugué
Invent.io

Software/Hardware Engineer and alum CMU, UT Austin & University of Edinburgh passionate about Embedded Systems.