All About Circuits

Latest Embedded Technical Articles

Categories

How to Write Better Unit Tests For Embedded Software With TDD

How to Write Better Unit Tests For Embedded Software With TDD

Test-driven development (TDD) is an iterative process for writing software, where the unit tests are developed just before the implementation. TDD isn't used widely in embedded software, but it's the best way to get started with unit testing.


Embedded PID Temperature Control, Part 6: Ziegler–Nichols Tuning

Embedded PID Temperature Control, Part 6: Ziegler–Nichols Tuning

In this article, we will use a simple, proven tuning procedure to find effective values for proportional, integral, and derivative gain.


Projects Mar 07, 2016 by Robert Keim
Building Raspberry Pi Controllers Part 6: Displaying Messages on a LCD with a RPi

Building Raspberry Pi Controllers Part 6: Displaying Messages on a LCD with a RPi

Readers will learn how to wire a standard 16x2 LCD (liquid crystal display) to a Raspberry Pi to display messages.


Projects Mar 04, 2016 by Don Wilcher
Program a PIC Microcontroller as an I2C Slave Device for Custom Sensor and I/O Interfacing

Program a PIC Microcontroller as an I2C Slave Device for Custom Sensor and I/O Interfacing

No I2C interface with that sensor? No problem. Program a PIC chip as an I2C slave device for custom sensor and I/O interfacing. Here, we use three DHT22 sensors on a single I2C interface.


How to: Send an SMS with PIC16F628A and SIM900A

How to: Send an SMS with PIC16F628A and SIM900A

In this article I'll show you one way of sending an SMS using a PIC 16F628A and a SIMCOM SIM900A module.


Embedded PID Temperature Control, Part 5: Adjusting Gains

Embedded PID Temperature Control, Part 5: Adjusting Gains

We will explore how P, I, and D gain influences system performance, and in the process we will find a gain configuration that works well for our temperature controller.


Projects Feb 29, 2016 by Robert Keim
How to Flash the SIM900A Module

How to Flash the SIM900A Module

SIMCOM's SIM 900A in Europe? Read on to learn how.


Embedded PID Temperature Control, Part 4: The Scilab GUI

Embedded PID Temperature Control, Part 4: The Scilab GUI

With USB communications and a Scilab graphical user interface, we can really see what the PID controller is doing.


Projects Feb 19, 2016 by Robert Keim
Create an Arduino Controlled Battery Charger

Create an Arduino Controlled Battery Charger

In this project, we use an Arduino and an attached charging circuit to control the charging of NiMH rechargeable batteries.


Create a Laser Detection System Using a PICAXE

Create a Laser Detection System Using a PICAXE

Lasers are plentiful, inexpensive, and fun to use. Here's a target that reacts when it's hit by a laser beam.


Embedded PID Temperature Control, Part 3: Implementation and Visualization

Embedded PID Temperature Control, Part 3: Implementation and Visualization

We will implement a basic PID (proportional–integral–derivative) controller in firmware and observe the results using an oscope and LEDs.


Projects Feb 15, 2016 by Robert Keim
Create an Object Tracking System Part 2: Controlling a Servo

Create an Object Tracking System Part 2: Controlling a Servo

This project explains the basic operation of servo motors and how to interface with them using an Arduino Uno.


Projects Feb 11, 2016 by Michael Stock
C-BISCUIT: Design Choices and Justification

C-BISCUIT: Design Choices and Justification

While the C-BISCUIT project is far from complete, it's already come a long way, seeing numerous ideas and design goals in the process. This article will discuss some of these.


Projects Feb 10, 2016 by Trevor Gamblin
Building Raspberry Pi Controllers Part 5: Reading Analog Data with an RPi

Building Raspberry Pi Controllers Part 5: Reading Analog Data with an RPi

Learn how to read electrical signals and data from an analog device using the Step Response technique in Part 5 of the Building Raspberry Pi Controllers series.


Projects Feb 09, 2016 by Don Wilcher
Why You Should Use Unit Tests to Write Better Embedded Software

Why You Should Use Unit Tests to Write Better Embedded Software

An introduction to software unit testing for embedded systems developers.


Controlling a Toaster Oven with a PICAXE - Part 2

Controlling a Toaster Oven with a PICAXE - Part 2

Soldering surface mount components by hand can be done, but reflow soldering in an oven is much quicker and produces more consistent results. Building a microprocessor controlled reflow oven is well within the abilities and budget of many hobbyists.


Create an Object Tracking System: Using Built-in Arduino Libraries

Create an Object Tracking System: Using Built-in Arduino Libraries

We'll learn Arduino library implementation and establish the firmware framework for the 7-part project series. We'll use Microsoft Visual Studio Express for library editing.


Projects Feb 04, 2016 by Michael Stock
Embedded PID Temperature Control, Part 2: Board-Level Integration

Embedded PID Temperature Control, Part 2: Board-Level Integration

This article covers the firmware that allows the EFM8 microcontroller to communicate with the DAC and the MAX31855.


Projects Feb 03, 2016 by Robert Keim
Learn LabVIEW FPGA on NI myRIO - Hello World!

Learn LabVIEW FPGA on NI myRIO - Hello World!

Learn LabVIEW FPGA by programming the on-board Xilinx FPGA of the student-focused embedded device NI myRIO.


Embedded PID Temperature Control, Part 1: The Circuit

Embedded PID Temperature Control, Part 1: The Circuit

Invoke the power of the PID (proportional–integral–derivative controller)! The key components in this design are an EFM8 microcontroller, a DAC, and the MAX31855 thermocouple-to-digital converter.


Projects Feb 01, 2016 by Robert Keim