Embedded Systems

IoT RTOS Zephyr on cheap STM32 Minimum Development Board

If you have been listening closely, you would have heard the buzz around Zephyr - a Real Time Operating system (RTOS) for embedded systems. The real buzz comes from the fact that this RTOS is being tweaked for IoT platforms in particular. A lot of action is happening around Zephyr...

GLEM: Graphical LCD Emulator in C

At some point in time we all have had to develop some sort of UI for our embedded devices. The thing about UI design is, it can take one hell of a time before we can get it right (and it’s a thankless job! I have my reasons). I for...

Race condition in reading RTC timekeeping registers

Most of you must have used a Real Time Clock (RTC) at some point. RTCs are small ICs that have a separate battery backup and allow you to keep track of time. Typical place where you can expect to see an RTC in action is your computer. They are used...

Interfacing 16x2 LCD with C2000 launchpad

There is CCS (Code Composer Studio) IDE for programming and debugging the Launchpad. It includes an optimizing C/C++ compiler, source code editor, project build environment, debugger, profiler, and many other features. Also, the presence of Control Suite, a support software containing libraries and examples makes the learning easy. Note: I...

Microcontroller Input voltage Measurement through ADC Module

Input voltage measurement of an embedded device is not as simple as it sounds. But if estimated, can come in very handy in a number of occasions. In this article we will see how we can add this feature to your embedded system with minimal components. It is one thing...

Basics of DC Motor Drive and Speed Control for Robots

DC motors are really cheap and can be found very easily. In this post we will discuss the basic theory behind the DC motor drive system and its speed control. Having some basic understanding of how your motor driver works will play a key role in building your own circuits...

Reading datasheet, what to look for and how to find them

Did you know that experienced engineers spend up to an hour on every major component that they are going to be using for upcoming projects? Project as in, real commercial work involving a lot of money and man hour.. not just some hobby project. When a component is being purchased...

Graphic LCD Command Sheet HTML Version

Yet again I was looking for the GLCD command sheet in the internet and failed to find any good resolution images that I can use for post references. Even the data sheet looks really bad. So here I am with a HTML Version of the GLCD command sheet just like...

Interface 4x4 Matrix Keypad With Microcontroller

In this post we will discuss logic and interface of a matrix keypad (4x4 for this post) with microcontroller to reduce the number of port pins required to read a certain number of inputs (digital). The same logic applies to any matrix keypad of order NxN. Where, N is the...

Interface 7 Segment Display with Microcontroller

The 7 segment display is widely used to display numeric data. They are limited by the number of segments (LEDs) they have and hence are not suitable for displaying text. There are some variants of this kind of displays that have 11 segments which enables them to display text also....

Stepper Motors - Introduction and Working Principle

Stepper motor is a specially designed DC motor that can be driven by giving excitation pulses to the phase windings. They cannot be driven by just connecting the positive and negative leads of the power supply. They are driven by a stepping sequence which is generated by a controller. The...

Interfacing LCD Module with Microcontroller

The LCD module interface with a microcontroller is simple and it is a primitive means of adding a visual appeal to your embedded application. There are two basic types of LCD modules in the market they are, Character LCD and Graphics LCD. Character LCDs are the some of the cheapest...

Character LCD Command Sheet HTML Version

I was looking for an image of the Character LCD command sheet throughout the internet and failed to find any good resolution images that I can use for post references. Here is an HTML Version that could be used at whichever resolution you choose! Character LCD Command Sheet Instruction Code...

Need for Clock Line in Digital Communication

What is the need for a clock line in digital communication protocols? This was a question that was posted on a Facebook page. I was surprised to see no one had posted a response. Probably they felt that the question was below standard, lame, stupid or on the worst case...

Timer/Counter Module - A Controller Independent Guide

In this post I intend to provide a standalone, controller independent, Guide to Timer / Counter Module in Microcontrollers. The concepts explained are not associated with any one particular controller which might not be useful for all readers. To an extent this is an independent post but little exposure to...

Interfacing RTC with Microcontroller

Have you ever wondered how your PC and phones keep track of time even when the device is turned OFF? Well there is a Real Time Clock (RTC) that is kept powered even is the device is turned OFF. Once the device is turned ON and connected to the internet...

I2C Protocol (2-Wire Interface) in a nut shell

The I2C protocol also known as the two wire interface is a simple serial communication protocol that uses just two pins of a microcontroller namely SCL (serial clock) and SDA (serial data). This is a very popular protocol that can be used to address a large number of slave devices...