October 02, 2025

RF Transceiver System

RF Transceiver System

Short Summary

This project involves creating a custom RF communication system with a transmitter and receiver. The transmitter collects environmental and motion data from multiple sensors, while the receiver displays this information on an OLED screen. Both boards are powered by ATmega328 microcontrollers and designed to be low-power and compact, featuring custom PCBs, LiPo battery support, and USB-C connectivity.

Problem

Many IoT and embedded projects need reliable wireless communication between sensors and displays, but off-the-shelf solutions can be limiting or bulky. Our goal was to design a compact, efficient system that allows real-time sensor data transmission without compromising power efficiency or modularity.

Solution

The project features:

-- Transmitter board with BMI323 6-axis IMU, BME280 temperature/humidity/pressure sensor, VEML7700 light sensor, and P3T1755DPZ temperature sensor.

-- Receiver board with SSD1306 OLED display to visualize incoming sensor data.

-- Both boards use MCP2221A for UART/I2C conversion, BQ24072RGT battery charger with auto-bypass, TLV1117 LDO voltage regulator for 3.3V, optional BQ27427YZFR battery fuel gauge, optional 12 MHz crystal, bypass capacitors, and pull-up resistors for SPI and I2C.

-- Wireless communication handled via nRF24L01 transceiver modules.

-- USB-C input, LiPo battery connection, on/off toggle switch, and status LEDs on both boards.

How It Works

The transmitter collects sensor data via I2C (BMI323, BME280, VEML7700, P3T1755DPZ) and packages it for transmission via the nRF24L01 module. The receiver collects the wireless packets and displays the sensor readings on the OLED screen in real time. Both boards are designed with proper decoupling and bypass capacitors to ensure stable operation.

Key Features

-- Compact, custom PCB design for both transmitter and receiver

-- Low-power operation with LiPo battery support

-- On-board USB-C connectivity and battery management

-- Real-time sensor data transmission via nRF24L01

-- Multiple environmental and motion sensors for comprehensive data collection

-- Visual feedback via OLED display and status LEDs

Hardware & Software Stack

Hardware
-- ATmega328 microcontrollers on both boards
-- nRF24L01 RF modules for wireless communication
-- MCP2221A USB-to-UART/I2C bridge
-- Sensors: BMI323, BME280, VEML7700, P3T1755DPZ
-- Battery management: BQ24072RGT charger, optional BQ27427YZFR fuel gauge, TLV1117 LDO
-- Optional 12 MHz crystal for more precise timing
-- Indicators: LEDs and toggle switches
-- Custom PCBs designed in KiCad and printed via JLCPCB

Software
-- C++ programming using Atmel Studio/PlatformIO
-- Sensor data collection via I2C
-- Wireless data transmission and reception using nRF24L01 libraries
-- OLED display control for receiver visualization

PCB & Hardware Design

The PCBs were designed in KiCad, with attention to trace routing, component placement, and power management. Both boards feature hand-soldered components and SMD soldering for compact assembly. Bypass and decoupling capacitors were included throughout to minimize noise and ensure stable operation.

Schematics & PCB Images

Evaluation & Testing

-- Verified sensor readings on the transmitter via USB interface
-- Ensured reliable RF communication under various distances and orientations
-- Checked battery charging, voltage regulation, and power consumption
-- Monitored OLED display functionality and real-time data visualization

Conclusion

The RF Transceiver project demonstrates a complete end-to-end embedded system for wireless sensor communication. With custom PCBs, multiple sensors, microcontrollers, RF modules, and real-time display capabilities, this project highlights modular design, low-power operation, and practical IoT connectivity.

Future Work / Improvements

-- Add optional components like the BQ27427YZFR fuel gauge and 12 MHz crystal for more precise operation
-- Implement additional sensors and features for expanded functionality
-- Fix data overload and program hang when the VEML7700 light sensor is at full brightness

© 2025 — Taimoor Arshad