Wireless Digital Radio Signaling

Like many projects, this was an opportunity to try out some technologies and make a fun toy in the process.

The objective was to create two boxes with wireless capabilities to allow two people to communicate with one another remotely.

Press a button on your box, the lights indicate a message on the remote box.  And back and forth.




Microcontroller – AVR Atmega328P (my first attempt at using one)

Programming in C++


433MHz RF modules (my first attempt at using them, or anything wireless)

I studied for and got my HAM radio license (KD2KDD) in preparation for this.


Oscilloscope / Analyzer – Saleae (excellent scope software, I recommend this)



Wireless Digital Protocol

5 byte message structure, 4 of which are to a lower-level wireless network protocol I basically made up for my apartment.

Byte 1 Byte 2 Byte 3 Byte 4 Byte 5
Realm SRC MAC DST MAC Encapsulated



24 240 1 = MSG_ATTENTION



4 = MSG_NO

2000 baud operation in software.




The fading LEDs is handled in software through PWM signals implemented in C++ across many channels.

Had to buy an oscilloscope/analyzer (Saleae) to look at how some of the signals were looking during debugging and it was a lifesaver.  Really great software and hardware, I do recommend.

225 microseconds, nice.



Main application code (link)

Supporting libraries under here (link)



Build Photos


(actual build)



Full Gallery