In the previous tutorial, we discussed Internet of Things (IoT) platforms. As IoT solutions scale in size and complexity, these tools become essential for managing devices, data, and overall system performance. However, not all platforms serve the same function. Generally speaking, they fall into categories such as device management, connectivity management, application enablement, cloud integration,…
RPi Python Programming 21: The SIM900A AT commands
In the previous tutorial, we covered how to interface a SIM900A GSM-GPRS modem with Raspberry Pi, Arduino, and desktop computers. SIM900A can communicate data with the controlling device over the universal asynchronous receiver/transmitter (UART), I2C, or SPI protocol. The modem is a piece of mobile equipment with an IMEI number that’s capable of all cellular…
RPi Python Programming 22: Calls & SMS using a SIM900A GSM-GPRS modem
In the previous tutorial, we covered the AT commands that are supported by a SIM900 GSM-GPRS modem. We’ve already discussed how to interface a SIM900A GSM-GPRS modem with Raspberry Pi, Arduino, as well as other microcontrollers and desktop computers. Now, it’s time to use this modem to make and receive calls, and send and receive…
RPi Python Programming 23: Interfacing a NEO-6MV2 GPS module with Raspberry Pi
In the previous tutorial, we learned how to interface a SIM900 GSM-GPRS modem with Raspberry Pi (RPi) and a desktop computer. We employed serial UART communication to “talk” with the SIM900 modem. By using bidirectional data communication with the modem via a standard UART interface, we were able to make/receive calls and send/receive SMS messages on RPi and…
RPi Python Programming 24: I2C explained
In the previous tutorial, we covered how to interface a NEO-6M GPS module with Raspberry Pi (RPi). The module communicates with RPi over the universal asynchronous receiver/transmitter or UART protocol. The UART is the most common point-to-point data communication protocol. But, it’s not the only serial communication protocol. In embedded electronics, I2C and SPI protocols are…
RPi Python Programming 25 – Synchronous serial communication in Raspberry Pi using I2C protocol
In the previous tutorial, we discussed the basics of the I2C protocol. In most of the embedded devices, either UART otherwise I2C is used for console messages. In this tutorial, we will discuss serial communication in Raspberry Pi using the I2C protocol. I2C in Raspberry Pi For serial communication over the I2C protocol, the Broadcom…
RPi Python Programming 26 – Interfacing ADXL345 accelerometer sensor with Raspberry Pi
In the previous tutorial, we discussed synchronous serial communication in Raspberry Pi using I2C protocol. In this tutorial, we will use the I2C interface of Raspberry Pi to communicate with a digital sensor. The digital sensor that we will talk with is the ADXL345 accelerometer. ADXL345 is a small, ultra-low power, 3-axis accelerometer sensor that…
What is an IoT platform and when is one useful?
By 2025, an estimated 30 to 40 billion connected devices are expected to be in use worldwide. As of late 2024, over four billion cellular IoT connections. Industries now rely on the Internet of Things (IoT), encompassing everything from industrial systems and smart cities to healthcare and logistics. As these systems grow in scale and…
How smart traffic lights work
Traffic light systems have been in use for over 100 years. However, urban mobility faces new challenges worldwide with rising population densities, expanding road networks, and increasing car ownership. Originally designed to manage traffic with minimal human intervention, today’s traffic light systems are expected to do much more. They now play a critical role in…
How to wake ESP32 from deep sleep using EXT1
In the previous project, we discussed how to wake ESP32 using EXT0. ESP32 supports five power modes: active, modem sleep, light sleep, deep sleep, and hibernation. For battery-powered or Internet-of-Things (IoT) applications, deep sleep mode is particularly useful. In this mode, the ESP32 powers down most components, including the CPU, flash memory, Wi-Fi, Bluetooth, and…
How MicroSD cards power embedded systems and applications
MicroSD cards are widely used with single-board computers such as the Raspberry Pi, NVIDIA Jetson Nano (the 2 and 4GB variants), and Odroid. In addition to single-board computers, various embedded devices rely on MicroSD cards for storage, data logging, firmware updates, and booting operating systems. MicroSD cards are cost-effective, offering the lowest per-gigabyte cost among…
What AI acceleration techniques are used for embedded devices?
Artificial Intelligence (AI) is no longer confined to data centers. Today, AI is widely used and implemented in edge devices, smartphones, and embedded systems. This has been made possible through hardware and software acceleration methods that work together within embedded systems. It’s now feasible to run small machine-learning models on low-power, resource-constrained microcontroller units without…
How to design an ESP32-based text-to-speech engine
Text-to-speech (TTS) engines are widely used in assistive technology, communication systems, and automation in various industries. They’re essential for individuals with visual impairments or reading disabilities, enabling them to access written content audibly. TTS also assists students with dyslexia, language learners, and individuals with learning difficulties. Virtual assistants like Siri, Alexa, and Google Assistant also…
How to setup headless Raspberry Pi for remote access using SSH and VNC
Raspberry Pi is currently the most widely used single-board computer in the world. Launched in October 2023, Raspberry Pi 5 is the latest version of the development board, offering more significant computing power, an enhanced GPU, and faster memory than its predecessors. Among single-board computers, Raspberry Pi remains the most ubiquitous, outpacing alternatives like BeagleBone,…
What are AI chips and why are they important?
Artificial Intelligence (AI) has undergone rapid advancements in recent years. This progress has led to unique computational requirements for modern AI systems, which traditional CPUs and GPUs cannot fully address. Initially, GPUs offered a solution for running AI models. However, as algorithms and applications have grown more complex, particularly in areas like deep neural networks,…
What are the top edge AI chips of 2025?
Edge AI refers to deploying artificial intelligence (AI) algorithms and models directly on local devices like sensors, smartphones, or Internet-of-Things (IoT) devices. This approach includes edge computing, which processes data closer to where it’s generated rather than sending it to a centralized Cloud for analysis. According to a report by Gartner, by the end of…
What top AI chips are expected to launch in 2025?
Artificial intelligence (AI) chips have become essential for powering various advanced device features, especially in smartphones. A few AI examples related to a phone’s camera include: Adjusting camera settings for optimal results Applying filters in real-time while capturing photos or videos Tracking moving objects in real-time, keeping them focused for the shot Identifying scenes in…
What are the different types of AI ASICs?
In the previous article, we discussed the different types of AI chips. Among these, ASICs play a significant role. Compared to GPUs, ASICs are faster and more power-efficient, thanks to their customized architectures designed for specific AI tasks or algorithms. One common misconception about AI ASICs is that they’re used solely for inference applications. However,…
Supercapacitors – Basic Electronics 16
In the previous tutorials, we discussed working with a capacitor, characteristics of a capacitor, various types of capacitors, and selecting a capacitor for a given circuit. As we have learned, typical commercial capacitors have their capacitance in Picofarad, Nanofarad or Microfarad range. The maximum capacitance that these capacitors can provide is 1 Farad. If the…
How to select a capacitor – Basic Electronics 15
In the previous article, we looked at various types of capacitors. Now, let us discuss selecting a capacitor for a given application. Generally, selecting a capacitor is not a daunting task unless you have specific circuit requirements. Engineers often have a nominal capacitance derived for a circuit at hand or have to use capacitance with…



















