Embedded Systems 101

Embedded Systems 101

Welcome to the Embedded Systems 101 series.

Introduction

An embedded system can be summarized as a combination of electronics and computer systems designed for a specific purpose or application.

Around the home are several notable examples:

00_coffeeMaker 01_route 02_oven 03_thermo

Let’s consider the example of a digital HVAC thermostat.  Here’s what a system block diagram might look like:

Thermostat_Sys

The system outlines the following:

  • User interface:
    • Buttons and sliders to provide input on desired operating modes and temperature thresholds for heating and cooling.
    • Display to indicate system status and information.
  • Temperature Sensor – measures ambient temperature, allows system to regulate heating/cooling based on measured temperature vs set temperature.
  • Real Time Clock – keeps time and date, used by system for programmed HVAC schedules.
  • EEPROM (or other non-volatile memory) – used for system to store user settings and HVAC schedules.
  • Output to HVAC termination block – system interface to the HVAC air-handler unit to turn on/off heater, fan, and/or cooling modes.
  • Microcontroller  (μC) – computer system with specific software (firmware) to integrate with connected electronic subsystems.

A HVAC thermostat doesn’t need to be an embedded system.  Even a “programmable” thermostat can and has been made from only electro-mechanical parts.  The advantages of incorporating an embedded system into a thermostat include:

  • Lower cost: a collection of semiconductor parts is often cheaper than a bill of materials calling for gears, mercury switches, bimetallic strips, etc
  • Increased Reliability: Solid state electronics have less worry of wear and tear compared to electromechanical parts that may fade over time.
  • Higher predictability and responsiveness of execution:  Less mechanical parts often lend itself to less stiction and play in the controls.  On our digital thermostat, if you tap the set point 1-2 degrees down in the summer, the AC will kick in.  –if you’ve ever used a mechanical thermostat you might have to move it 5-10 degrees down to get it to turn on, but then you’re able to nudge it back a few degrees upwards with the AC still on.
  • Expanded features: Our sample thermostat supports programming HVAC schedules for Heat and AC, for 4 phases during a day, and distinct programs for M-F and Sat/Sun.  More advanced thermostats might include WiFi and mobile application integration for more sophisticated monitoring and control.

Sound embedded system designs bring more cost-efficient and reliable products and instruments to the world that operate predictably.  Often an embedded system enables features otherwise not available from only designing with electronics.   Other times, without an embedded system there might not even be a product.

Workshop Prerequisites:

  1. Basic working knowledge of operating a computer (can launch programs, locate and access software controls/buttons/menus with mouse and keyboard)
  2. Understanding of basic math at least up to Algebra I.
  3. Comfortable with reading guides online, downloading and skimming through semiconductor datasheets, not afraid to search for terms on Google.

Workshop Objectives:

  1. Understand basic components of a microcontroller.
  2. Introduce a firmware development environment.
  3. Gain introductory experience in developing robust, portable firmware.
  4. Become accustomed to interfacing electronic and semiconductor components.
  5. Be familiar with basic electronics concepts, such as voltage division, current limiting, voltage regulation.
  6. Be familiar with various microcontroller interfaces and peripherals such as: General Purpose I/O, SPI, UART, I2C, EEPROM

Housekeeping

As of original writing, the tutorial pages will be sequentially staged and posted.  Update intervals will most likely not be consistent, as I’m writing and testing this course in available off-time.

The order of the first few sessions will be determined heavily by initial expected costs by the reader to continue with the course.  My intention is to introduce as many concepts in the beginning that cost $0 or not too much more than $0 to build confidence and interest.

That way, when expenditures (mostly electronics hardware and debug tools) are required to get the most of subsequent sessions, a judgement call on value-of-pursuit may be made whether to obtain such materials to continue.

 

 

One thought on “Embedded Systems 101

Leave a Reply

Your email address will not be published. Required fields are marked *