Home > Blog > Arduino Infra-Red Remote using Arduino Uno with Proteus Simulation

Arduino Infra-Red Remote using Arduino Uno with Proteus Simulation

Summary of Arduino Infra-Red Remote using Arduino Uno with Proteus Simulation


This project demonstrates capturing and decoding raw infrared (IR) signals from a Keyes remote using an Arduino Uno and the IRremote library (NEC protocol focus). It outputs protocol type, hexadecimal command, bit length, and raw pulse timing to the serial monitor, and supports both Proteus simulation and real hardware testing for learning IR protocols and building IR-based systems.

Parts used in the Arduino Infra-Red Remote using Arduino Uno with Proteus Simulation:

  • Arduino Uno
  • IR Receiver Module (TSOP4838 compatible)
  • Keyes Infrared Remote
  • USB cable (for serial communication)

Introduction

This microcontroller project demonstrates how to capture and analyze raw infrared (IR) data from a Keyes IR remote using the NEC protocol. Built around an Arduino Uno, the project focuses on decoding IR signals and displaying detailed timing and protocol information via serial output.
It is especially useful for learners exploring Proteus simulation, embedded systems, and practical electronics related to remote control decoding.
The project helps understand how consumer IR remotes communicate at the signal level.
It is a solid foundation for building IR-based control systems.
This setup is fully suitable for simulation and real hardware testing.

This Arduino IR Proteus Simulation helps beginners understand infrared signal decoding, NEC protocol timing, and embedded systems behavior using virtual hardware.

Arduino IR Proteus Simulation schematic diagram

How the Project Works (Overview)

An IR receiver module connected to the Arduino captures infrared pulses transmitted by a Keyes remote.
The IRremote library decodes these pulses and identifies the protocol type (such as NEC).
Once a button is pressed on the remote, the Arduino processes the signal and outputs:

  • Encoding type

  • Hexadecimal command value

  • Bit length

  • Raw timing data

All decoded information is sent to the serial monitor for analysis.

Block Diagram / Workflow Explanation

  1. IR Remote (Keyes) transmits an NEC-encoded infrared signal

  2. IR Receiver (TSOP4838) captures the IR pulses

  3. Arduino Uno decodes the signal using the IRremote library

  4. Serial Monitor displays protocol type, code value, and raw timing data

This workflow helps visualize the complete IR communication chain from transmitter to decoded data.

Key Features

  • Captures raw IR timing data accurately

  • Supports NEC and multiple other IR protocols

  • Displays protocol name, hex code, and bit length

  • Outputs RAW pulse timing for signal analysis

  • Ideal for both Proteus simulation and hardware testing

  • Uses standard Arduino libraries and serial debugging

Components Used

  • Arduino Uno

  • IR Receiver Module (TSOP4838 compatible)

  • Keyes Infrared Remote

  • USB cable (for serial communication)

Applications

  • IR-based home automation systems

  • Reverse-engineering remote controls

  • Universal remote development

  • Learning IR communication protocols

  • Embedded systems education and labs

Explanation of the Code (High-Level)

The code initializes the IRremote library and assigns pin D11 as the IR receiver input.
When a signal is detected:

  • The decoding type (NEC, SONY, RC5, etc.) is identified

  • The hexadecimal value and bit count are printed

  • Raw timing values are displayed in microseconds

  • Source-ready raw arrays are generated for reuse

This modular structure makes the firmware easy to extend or modify.

Arduino IR Proteus Simulation showing IR receiver and Arduino Uno
Illustrative View of the Concept.

Source Code

Download

// Display IR code
//
void  ircode (decode_results *results)
{
  // Panasonic has an Address
  if (results->decode_type == PANASONIC) {
    Serial.print(results->address, HEX);
    Serial.print(":");
  }

  // Print Code
  Serial.print(results->value, HEX);
}

Download Source Code

Proteus Simulation

In Proteus, the Arduino Uno is connected to an IR receiver module at pin D11.
When IR signals are injected (or simulated), decoded data appears on the virtual serial terminal.
This allows testing protocol decoding without physical hardware, making it ideal for VSM-based learning.The Arduino IR Proteus Simulation accurately displays decoded IR data on the virtual serial terminal when a Keyes remote button is pressed.

FAQs

[ultimate-faqs Include_category=”arduino-infra-red-remote”]

Conclusion

This Arduino Infra-Red remote project is a practical way to learn IR communication, NEC protocol decoding, and Proteus simulation using embedded systems.
It provides clear insight into how remote controls work at the signal level and builds a strong foundation for more advanced IR-based projects.
A valuable learning exercise for anyone working with DIY electronics and microcontroller projects.

Complete File

Arduino Infra-Red Remote using Arduino Uno with Proteus Simulation

Download Complete File

Quick Solutions to Questions related to Arduino Infra-Red Remote using Arduino Uno with Proteus Simulation:

  • How does the project capture IR signals?
    An IR receiver module (TSOP4838) connected to Arduino pin D11 captures the infrared pulses.
  • Can the project decode NEC protocol?
    Yes, the IRremote library decodes NEC and multiple other IR protocols and identifies the protocol type.
  • What information is printed to the serial monitor?
    The serial monitor displays protocol name, hexadecimal command value, bit length, and raw pulse timing data.
  • Does the project support Proteus simulation?
    Yes, Proteus VSM can simulate IR signal injection and show decoded data on the virtual serial terminal.
  • What pin is used for the IR receiver on the Arduino?
    Pin D11 is assigned as the IR receiver input in the project.
  • Can the raw timing data be reused?
    Yes, the project outputs source-ready raw arrays that can be reused for analysis.
  • What is the project useful for?
    It is useful for learning IR decoding, reverse-engineering remotes, universal remote development, and embedded systems education.
  • Does the code handle protocol-specific fields like addresses?
    Yes, for protocols such as Panasonic the code prints the address before the code value.

About The Author

Muhammad Bilal

I am a highly skilled and motivated individual with a Master's degree in Computer Science. I have extensive experience in technical writing and a deep understanding of SEO practices.

Scroll to Top