← Back to portfolio

Point to Point Communication

Team Lead

View CAD model →
Point to Point Communication

Signal & Protocol

The system transmits numeric messages via 38kHz modulated infrared using the NEC protocol. We wrote custom firmware that converts each keypad press to a hex value, transmits it through the IR emitter, and decodes it on the receiver side to display on a 16x2 LCD. A red LED on the transmitter confirms each successful input and flashes when an out of bounds angle is entered.

I initially prototyped with a visible laser, but ambient light caused inconsistent detection at the receiver. Switching to IR with a matched 780-1050nm photodiode eliminated the issue entirely. The receiver code auto clears the LCD after 4 seconds of inactivity, so the system resets itself without requiring manual intervention between messages. I also added a 600ms delay threshold; if the gap between key presses exceeds that, the LCD inserts a space, letting users send multiple numbers as separate values.

Circuit diagram showing transmitter (left) and receiver (right) wiring
Circuit diagram showing transmitter (left) and receiver (right) wiring

Transmitter

The transmitter houses an Arduino Uno, NEMA 17 stepper motor, L298N motor driver, 12-button keypad, and IR emitter. Rather than rotating the entire enclosure, I mounted only the IR emitter on a rotating platform driven by the stepper motor. This reduces the load on the motor and allows faster repositioning across the 135° rotation range.

I repurposed the * and # keys on the keypad for control functions: * to enter a rotation angle, # to send the numeric message. The user dials in a direction, confirms it, then types the message, for a simple two step workflow that keeps the interface intuitive.

Housing Design

I 3D printed both housings in PETG for durability. The first iteration used identical 84mm × 120mm rectangular enclosures for both units, but once I integrated the rotating emitter, the transmitter needed a redesign. Since the IR LED sweeps in an arc, I added a curved front face that follows the emitter's path, keeping it fully enclosed throughout its rotation.

First CAD iteration: identical rectangular housings for transmitter and receiver
First CAD iteration: identical rectangular housings for transmitter and receiver

An intermediate cylindrical design worked mechanically but was much larger than necessary. I conformed the final housing shape to the internal components; a rectangular prism for the electronics with a semicylindrical front for the rotating emitter. The receiver stayed simple, as a rectangular box with cutouts for the IR sensor and LCD.

Final CAD: curved transmitter housing with rectangular receiver
Final CAD: curved transmitter housing with rectangular receiver

Performance

Testing confirmed 100% message accuracy at distances up to 16 meters, with reliability dropping off beyond that. Angular tolerance was approximately 10°, providing reasonable margin for imprecise aiming. Total system power draw is approximately 1W during typical operation, calculated assuming 60% idle time, 30% IR transmission duty, and 10% motor duty. The NEMA 17 at 350mA per phase accounts for most of the consumption, but it only runs during repositioning.

Pmotor=9 V×0.35 A×2 phases×0.1=0.63 WPArduino=5 V×0.06 A×0.6=0.18 WPIR LED=5 V×0.12 A×0.3=0.18 WPtotal=0.63+0.18+0.181 W
← Back to portfolio