Skip to content

UmutUsenmez/Wireless-RF-Joystick-LED-Matrix-Controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

🕹️ Wireless RF Joystick & LED Matrix Controller (PIC16F887)

Project Schematic/Hardware

📌 Project Overview

This repository contains the source code and simulation files for a wireless LED Matrix controller. The system uses two PIC16F887 microcontrollers to read analog joystick data, transmit it wirelessly via a 433 MHz RF module using the NEC Protocol, and display the corresponding directional animations on an 8x8 LED Matrix driven by a MAX7219.

This was developed as a comprehensive embedded systems project, focusing on raw microcontroller programming, custom protocol implementation, and hardware-level communication.

⚙️ System Architecture & Workflow

The system is strictly divided into two autonomous nodes:

1. Transmitter Node (rf_transmitter.c)

  • Reads horizontal and vertical physical movements from a Joystick (via analog pins AN0 & AN1).
  • Digitizes the signals using the PIC's internal 10-bit ADC.
  • Maps the coordinates and encodes them into a 32-bit custom NEC signal.
  • Transmits the encoded signal wirelessly via the 433 MHz RF TX module.

2. Receiver Node (rf_receiver.c)

  • Listens for incoming RF signals using External Interrupts and Timer1 to decode the NEC protocol.
  • Extracts the 32-bit command to determine the joystick's position.
  • Drives the 8x8 LED Matrix via the MAX7219 IC.
  • Technical Highlight: The SPI communication with the MAX7219 is entirely bit-banged in software within the receiver code.

🚀 Key Technologies & Skills Demonstrated

  • Microcontroller: PIC16F887 (8 MHz internal oscillator)
  • Programming Language: Embedded C (CCS C Compiler)
  • Wireless Protocol: Custom NEC Protocol implementation over 433 MHz RF
  • Hardware Interfacing: ADC (Joystick/Potentiometer), MAX7219 (LED Matrix)
  • Embedded Concepts: Interrupt Service Routines (ISR), Timer Management, Bit-banging (Software SPI).
  • Simulation: Proteus (ISIS)

🛠️ Installation & Simulation

  1. Compile rf_transmitter.c and rf_receiver.c separately using the CCS C Compiler.
  2. Ensure the device fuse configurations (oscillator, MCLR) match the .h definitions.
  3. Open the Proteus simulation file. Load the compiled .hex files into the respective PIC16F887 microcontrollers.
  4. Run the simulation. Moving the joystick (represented by potentiometers in the simulation) will change the animations on the LED matrix.

👨‍💻 Author

Feyzullah Umut Üşenmez Mechatronics Engineering Student @ YTU Focus Areas: Autonomous Systems, Computer Vision, Embedded AI

About

Wireless LED Matrix controller using PIC16F887, custom NEC RF protocol, and software SPI. // Çift PIC16F887, NEC RF protokolü ve yazılımsal SPI kullanan kablosuz LED Matrix sistemi.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages