In the world of microcontroller programming, the Serial Monitor stands as a silent yet indispensable companion, facilitating communication between your dev board and your computer. While its name might not evoke excitement at first glance, understanding its functionality unlocks a realm of possibilities in debugging, data logging, and real-time interaction with your projects. In this article, we … [Read more...]
Understanding C/C++ Usage of Arduino and ESP Line
Arduino and ESP (Espressif Systems' Platforms) are popular platforms used by electronics enthusiasts, hobbyists, and professionals alike for building innovative projects and IoT (Internet of Things) solutions. At the heart of programming for these platforms lies the utilization of C and C++, two powerful and versatile programming languages. Both Arduino IDE and ESP-IDF primarily use C/C++. … [Read more...]
Understanding Arduino Interrupts
In the world of embedded systems and microcontroller programming, achieving real-time responsiveness is often a critical requirement. Whether it's reading sensor data, detecting external events, or controlling actuators, the ability to respond swiftly and accurately can make all the difference. This is where Arduino interrupts come into play, offering a powerful mechanism to enhance control and … [Read more...]
How to Compare an ESP Line to an ATmega 328?
In the vast landscape of microcontroller boards supporting Arduino ecosystem, selecting the right microcontroller is paramount to the success of any project. Among the plethora of options available, two popular choices stand out: the ESP line, represented by ESP8266 and ESP32, and the ATmega328, a staple in the Arduino ecosystem. In this article, we'll embark on a journey to compare and contrast … [Read more...]
Arduino Baud Rate Explained
In our earlier article, we have explained Basics of Serial Communication. Baud is the unit for the symbol rate in telecommunications. 1 baud is the speed when 1 symbol is transmitted per second. Each symbol corresponds to a defined, measurable signal change in the physical transmission medium. The baud rate of a data transmission must be the same on the sending and receiving sides. If the … [Read more...]
Arduino Hardware Serial Examples
Arduino microcontrollers are renowned for their versatility and ease of use in a wide range of projects, from simple blinking LED experiments to complex robotics applications. One of the key features that make Arduinos so powerful is their built-in hardware serial communication capabilities, which allow for seamless data transmission between the Arduino board and other devices such as computers, … [Read more...]
Basics of Serial Communication
Serial data transmissions transmit digital data autonomously on one line (or on one pair of lines). In contrast, in parallel data transfers, data is transmitted synchronously over multiple lines. The fundamental difference is that you don't have to take into account runtime differences between different lines for serial transmissions, which allows for much higher clock speeds. The name serial … [Read more...]
How Interrupt Works
In previous article, we have discussed the basics of interrupt. In order to be able to trigger an interrupt, the hardware connected to the main processor (CPU) must be interrupt-capable, i.e. generate an output signal (electrical voltage at an output pin) via the so-called interrupt line when a certain event occurs. The CPU generally has separate pins for maskable (disabled) interrupts (INTR) and … [Read more...]
What is Interrupt?
In computer science, an interrupt is a short-term interruption of the normal execution of a program, in order to process a usually short, but time-critical, process. The triggering event is called an interrupt request (IRQ). After this request, the processor executes an interrupt handler, interrupt service routine, or ISR. The interrupt routine is executed with extended privileges (on appropriate … [Read more...]
CircuitPython vs. Arduino’s C++ Language for ESP32: A Comparative Analysis
After we published the article, Live Reloading of Arduino Code in ESP32, a reader questioned the difference with CircuitPython. Instead of a direct comparison of Toit and CircuitPython, in this article, we will compare with Arduino's official language. In the world of embedded systems and microcontroller programming, CircuitPython (offered by Adafruit) and Arduino's C++ language (offered by … [Read more...]
Toit & Jaguar: Live Reloading of Arduino Code in ESP32
Toit is a high-level language for live reloading of code on microcontrollers such as ESP32. The written code runs incrementally as we write it, and we receive instant results. We can push changes over WiFi in two seconds. What is unique to Toit is that it uses virtual machine technology to support running multiple containers on ESP32. It is like running a micro-scale Docker on ESP32. Naturally, … [Read more...]