Microcontroller Interfacing –  Part 1


Developing embedded systems that interface microcontrollers to the outside world is a fascinating endeavor.  Such systems require both hardware and software development.  Most of the literature covers the programming of the microcontrollers.  There does not seen to be as much that describes the practical aspects of designing the circuits that interact with the outside world.   

The purpose of this series is to introduce the reader in how to design simple microcontroller interface circuits in embedded systems. It is assumed the reader has a basic understanding of electronics. The emphasis will be how to use this basic knowledge to create functional and reliable circuits. A special effort will be made to point out which things must be carefully considered, and the areas where precision is not necessary.

Rather than just provide a compendium of common microcontroller interface circuits, this series will attempt to go through the steps of the actual design process, trade offs, and other considerations.  If a circuit described here does not quite meet the requirements of their application, the reader will hopefully be in a position to make the necessary design changes themselves.

Circuit design requires a certain amount of mathematics for calculating component values.  When math is required, it will be kept as simple as possible.  The basic equation used will be shown, followed by the equation with the example values substituted for the variables, and the final answer.  The reader can then follow the process presented, and make adjustments to suit their own application’s requirements.

When actual microcontroller specifications are used as examples, Microchip PIC and Atmel AVR units will be referenced. These are both very popular microcontroller families.  They have low cost development tools available and the components themselves are low cost. In some cases, some of the smaller components can be purchased in single quantities for well under a dollar.  Larger and more powerful microcontrollers can be purchased for a few dollars. That is a lot of computing power for very little money. 

Although the main point of this series is on hardware, sometimes it will be necessary to discuss programming. It will be kept to a minimum and attempts will be made to keep program examples generic. 

The series will start with the basics and move to more complex subjects.  Additional installments will be added as time allows. 

Most of this series will cover low voltage circuits. Extreme caution must be exercised when working with high voltage circuits. Every effort is made to ensure this information is correct.  This information is provided as-is, and without warranty. The reader is responsible for implementing any circuits in a safe manner.

Development hardware and software for many microcontrollers is powerful and inexpensive. The immensely popular Arduino systems are a great way to start. The open source software handles a lot of the low level details, allowing new programmers to get their applications running quickly.  Arduino hardware is low cost and available from a number of vendors.  Sidebars with special tips for Arduino users are included on some topic pages.

Note that the series may not follow a logical order. Sections are added as I get the urge or based on requests from readers. Rather than re-sorting them from time to time, I decided to leave them in the order they are written so that external links to these pages are not affected.

I'm always looking for feedback on this series. Please contact me if you find any errors. If there is a specific topic you would like covered, please send me an email and I will put it on the list for consideration for future installments. Email: w9xt (at) unifiedmicro (dot) com. Be sure to include “Microcontroller I/F Series” in the subject line so it will not be caught in the spam filter.

Enjoy your journey into the world of embedded systems!


Unified Microsystems  Electronic equipment, modules and kits for engineers, students, electronic hobbyists and Amateur Radio operators.

© 2009 - 2016 Gary C. Sutcliffe



Created with the QTH.com SiteBuilder.