Hello friends! Today we will learn how to restart an Arduino program deliberately and, more importantly, distinguish a real microcontroller reset from simply starting our application logic again. These operations can look similar on the Serial Monitor while leaving the hardware in different states. For the main example, we will use a classic Arduino Uno with an ATmega328P and its watchdog timer. We will also revisit the two approaches in the original tutorial: connecting an output pin to RESET and calling a function pointer at address zero. Both need important qualifications before they are used in a project. The original wiring image is retained below for reference, but the recommended example does not need that jumper. Remove any output-to-RESET connection before following the watchdog p ...
Hello friends! Today we will install the Arduino bootloader on an ATmega328P using a second Arduino Uno as the programmer. This is useful when replacing the socketed processor on a classic Uno or restoring a compatible target whose serial bootloader has been erased. We will follow the original two-board arrangement: board B is the working programmer, and board A contains the target processor. Giving the boards separate roles helps prevent a common mistake, which is changing settings for one board while accidentally programming the other. The title uses the familiar ATmega328 family name, but the standard classic Uno configuration targets the ATmega328P. Read the marking on your chip before starting. An ATmega328, ATmega328P and ATmega328PB are different device selections; a similar name is ...
Hello friends! Today we will connect an Android phone to an Arduino through USB and exchange commands in both directions. This is useful when you want a wired control panel, a portable instrument display or a direct connection without configuring Bluetooth or Wi-Fi. We will start with one classic Arduino Uno and a small LED-control sketch. After that, we will revisit the original two-Arduino arrangement, which lets a computer monitor the bytes travelling through the phone connection. The second board is a debugging aid, not a requirement for Android communication. The important details are the phone's USB host support, the board's USB interface, permission to open the device and a clearly defined message format. Once these are understood, we can build a useful connection without treating U ...
Hello friends! Today we will learn how to get the compiled HEX file from an Arduino sketch. This is useful when you want to load firmware into a Proteus model, program a compatible AVR microcontroller or keep a specific compiled version of a project. Libraries Libraries used in this tutorial Arduino Library for Proteus: V1.0 (2015, used in this tutorial) · latest version: V4.0 (October 2026) Arduino UNO Library for Proteus: V1.0 (2015, used in this tutorial) · latest version: V4.0 (October 2026) Helping Tools Serial Monitor Advance : a serial terminal window for the UART of your board Serial Monitor Expert : the serial monitor with extra debugging tools LCD Library for Proteus V3.0 : 16x2, 20x4 and I2C LCDs to show your readings Arduino does generate compiled firmware during its normal bui ...
Hello friends! Today we will build an intelligent energy-saving demonstration using an Arduino Uno, two doorway sensors, an LCD and controlled loads. The idea is to count completed entries and exits, then switch the model room's loads according to that count. The interesting part is not simply turning a relay on. We need to recognize direction, handle an interrupted crossing, avoid counting the same person repeatedly and decide what to do when the count becomes uncertain. We will develop those rules before looking at the complete program. This is a controlled educational demonstration. Two narrow beams cannot reliably count a crowd or guarantee that a real room is empty. We will use low-voltage demonstration loads and make the limitations visible rather than treating an imperfect counter a ...
Hello friends! Today we will troubleshoot the “Failed, response timed out” message that can appear while using an nRF24L01 or nRF24L01+ radio with Arduino. We will work through the local SPI connection, radio settings, power supply and the reply expected by the example program. The original experiment on this page improved after adding a 100-microfarad capacitor across the radio supply. That is useful experience to retain, but it is not a universal diagnosis. A timeout reports a missing event; it does not identify the reason that event was missing. If you are wiring the radios for the first time, begin with our nRF24L01 and Arduino interfacing tutorial . Here, we will concentrate on finding faults systematically rather than changing several settings until the link happens to work. Figure: ...
Hello friends! Today we will connect an LM35 temperature sensor to an Arduino Uno and reproduce the measurement in Proteus ISIS. We will start with the sensor's analog output, convert that voltage into temperature, and display Celsius and Fahrenheit readings on a serial terminal. Libraries Libraries used in this tutorial Arduino Library for Proteus: V2.0 (2021, used in this tutorial) · latest version: V4.0 (October 2026) Helping Tools Serial Monitor Advance : a serial terminal window for the UART of your board Serial Monitor Expert : the serial monitor with extra debugging tools LCD Library for Proteus V3.0 : 16x2, 20x4 and I2C LCDs to show your readings The circuit is small, but it teaches several important measurement concepts: ADC resolution, reference voltage, sensor accuracy and the d ...
Hello friends! Today we will build a traffic-signal demonstration with Arduino using red, yellow and green LEDs. We will connect the three indicators, define their sequence and write a program that changes states using elapsed time. The same idea can be explored on a breadboard or in a suitable Proteus Arduino simulation. This is an educational model of one signal head. It teaches output control and timed state transitions; it is not a controller for a public road or a complete intersection. Real installations require coordinated phases, fault handling and jurisdiction-specific timing that cannot be established by a three-LED sketch. The original tutorial used long delays and changed directly from green to red before showing yellow. In this revision, we will use a clearly defined red, gree ...
Hello friends! Today we will interface an RC522 RFID reader with Arduino and read the identifier of a compatible card. We will begin with the radio and wiring requirements, install the MFRC522 library and then build a complete sketch that prints the whole UID and compares it with a demonstration record. The original tutorial used this idea as the starting point for an attendance project. That is a useful learning exercise, but reading a card identifier is only one part of such a system. We must also handle repeated scans, unknown cards, reliable records and the difference between identification and secure authentication. Our example uses an Uno R3 and an MFRC522-based RC522 module communicating over SPI. The original module and connection images remain below. Because the Uno uses 5 V logic ...
Hello friends! Today we will connect two nRF24L01 radio modules to two Arduino boards and send a small command from one board to the other. We will start with the radio interface and wiring, install the RF24 library, and then use one complete sketch with a selectable transmitter or receiver role. The useful part of this project is not simply making a number appear in Serial Monitor. We also want to understand which settings must match, what an acknowledgment proves and how to distinguish an SPI connection problem from a wireless communication problem. Those distinctions make the same hardware much easier to use in a sensor node or remote-control experiment. The examples below target two Uno R3 boards and ordinary nRF24L01+ modules. The original wiring illustrations, demonstration video and ...