Reixa LoRa Keyfob
Reixa is an ultra low power dual-radio keyfob: a LoRa 868 MHz link and a 433 MHz sub-GHz transmitter on a single 45 x 75 mm, 4-layer board, running straight off two AAA cells.

Two Radios, Two Jobs
A rolling code receiver only accepts a counter value inside a narrow window, which makes sharing one receiver between several keyfobs awkward: each fob keeps its own counter and they drift apart. Reixa splits the problem across two radios. A base unit holds the authoritative counter and distributes it over the LoRa 868 MHz link, while the CC1101 433 MHz transceiver handles the transmission itself. The long range radio keeps every keyfob in sync, the short range one does the job.
Ultra Low Power
The board is designed to spend almost all of its life asleep, and to do it on a pair of AAA cells:
- No regulator. The battery drives the rail directly through a reverse-battery P-FET, removing the quiescent current that usually dominates a keyfob’s power budget.
- Full cell range, from 3.2 V down to 2.0 V, with every part rated across it: no brownout partway through the battery.
- Nothing draws current at rest. The button debounce is passive and the pull-ups only conduct while a button is held.
- Wake on press. Each of the four buttons has its own interrupt line, so the STM32WL stays in its deepest sleep state until a finger arrives.
RF Design
Both antennas are printed directly on the board: an inverted-F for 868 MHz and a single loop for 433 MHz, each laid out to fit the keyfob outline without connectors or external parts. The 868 MHz feed carries a pi-network footprint, so the match can be trimmed on the bench without spinning a new board.
The 433 MHz front end is a discrete balun and LC filter, placed symmetrically and tuned for the band.
The 4-layer stackup puts a solid ground reference directly beneath the RF sections, stitched with vias, and keeps the antenna areas clear of copper on every layer.

Built and Tested
The assembled boards work exactly as designed. Both radios, the four buttons and the debug interface are validated on the bench, with the node running from a pair of AAA cells.
