Skip to content

A peer-to-peer wireless communication system using Arduino Uno, a 16×2 I2C LCD Display and NRF24L01 transceiver modules to transmit and receive Morse code messages. This project demonstrates encoding text into Morse code, transmitting it wirelessly, and decoding it back into human-readable form.

License

Notifications You must be signed in to change notification settings

HimanshuChauragade/Wireless-Morse-Code-Communication-System

Repository files navigation

🚀📡 Wireless-Morse-Code-Communication-System

✨⚙️ Features

  • A peer-to-peer wireless communication system using Arduino Uno,
  • This project demonstrates encoding text into Morse code,
  • Transmitting it wirelessly, and decoding it back into human-readable form.
  • NRF24L01 transceiver modules to transmit and receive Morse code messages.
  • It uses 2.4GHz global open ISM band, license-free in India.
  • Range upto 1500 meters in line of sight with SMA Antenna.
  • Display messages on a 16×2 LCD screen
  • Option to build circuit with or without I2C module

📖 Introduction

Morse code is a communication method that uses short and long signals

  • Different combination and sequence of dots · and dashes to encode text in morse code.
    (space too for switching between words.)
  • This project implements a wireless Morse code communication system using NRF24L01 modules for transmission and reception, and a 16×2 LCD to display messages.

🎥📷 Demo


Prototype showing wireless Morse code transmission

Watch the video

System in action with LCD display

🔧🔌 Hardware Used

Component Description
Arduino Uno (ATmega328P) Microcontroller board
NRF24L01 2.4 GHz Transceiver Modules (x2) Wireless radio communication modules
16×2 LCD Display (HD44780) Character LCD display
I2C Serial Interface Adapter Module (PCF8574) Enables I2C communication with LCD
Push Buttons User input controls
Miscellaneous Components Resistors, breadboard, jumper wires, etc.

📦📚 Libraries Used

Library Purpose
#include <LiquidCrystal.h> For LCD display
#include <SPI.h> For SPI communication
#include <avr/wdt.h> Watchdog Timer library
#include <RF24.h> For NRF24L01 wireless communication
#include <nRF24L01.h> For NRF24L01 wireless communication

📐📊 Circuit Options Comparison

Option Description
With I2C Module - Simplifies the circuit design
- More beginner-friendly
- Frees up I/O ports for other uses
Without I2C Module - Adds complexity to the circuit
- Consumes additional I/O pins
- Attempt with prior experience.

⚙️ Circuit With I2C Module

⚙️ Circuit Without I2C Module



🔮🌱 Future Improvements

  • Make a 3D printed portable version with rechargable Li-Polymer battery
  • Add buzzer/vibration feedback for Morse input
  • Add support for mesh (multi-node) communication (multiple devices)
  • Implement error-checking for more reliable transmission

🤝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

🙌 Development Guidelines

  • Follow Arduino coding best practices
  • Keep circuit diagrams clear and well-documented
  • Use meaningful and descriptive commit messages

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Arduino community for open-source hardware & libraries
  • nRF24L01 & rf24 for the NRF24L01 library support
  • HD44780 & PCF8574 documentation for LCD interfacing
  • Open-source contributors for inspiration and resources
  • Electronics hobbyist forums for troubleshooting help

📞 Contact

Star this repository if you found it helpful!

About

A peer-to-peer wireless communication system using Arduino Uno, a 16×2 I2C LCD Display and NRF24L01 transceiver modules to transmit and receive Morse code messages. This project demonstrates encoding text into Morse code, transmitting it wirelessly, and decoding it back into human-readable form.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages