How-to articles about hardware-software integration and electronics design.

Serial Communication Protocols: CAN vs. SPI

Distributed systems require protocols for communication between microcontrollers. Controller Area Networks (CAN) and Serial Peripheral Interfaces (SPI) are two of the most common such protocols.

Optimal C Constructs for 8051 Microcontrollers

The limitations of an 8-bit microcontroller (MCU) can sometimes make conventional C constructs produce suboptimal code. In this article we look at common problems on the 8051 family and discuss workarounds in C.

Introduction to Counter/Timer Hardware

 Printable PDF

Counter units (aka, timer units) are crucial components of most embedded systems and included in many microcontrollers. Here's a primer on the hardware.

Introduction to Closed-Loop Control and PID

Most control systems utilize feedback in some manner. Here's a look at several fundamental feedback mechanisms, culminating in a description of a basic PID controller.

How Endianness Works: Big-Endian vs. Little Endian

Some human languages are read and written from left to right; others from right to left. A similar issue arises in the field of computers, involving the representation of numbers.

Introduction to Watchdog Timers

 Printable PDF

For those embedded systems that can't be constantly watched by a human, watchdog timers may be the solution.

Introduction to Pulse Width Modulation (PWM)

Pulse width modulation (PWM) is a powerful technique for controlling analog circuits with a processor's digital outputs. PWM is employed in a wide variety of applications, ranging from measurement and communications to power control and conversion.

How to Use C's volatile Keyword

The proper use of C's volatile keyword is poorly understood by many programmers. This article will teach you the proper way to do it.


Types of Memory in Embedded Systems

SRAM or DRAM? EEPROM or flash? What types of memory will you use in your next embedded systems design?

How to Design Safety into the Electro-Mechanical System Around Software

 Printable PDF

When it comes to safety-critical applications, sometimes you have to protect users from the software. And sometimes you have to protect users from themselves.