nickisen
3 hours ago
Hello HN,
I've been working on an open-source project called PicoCrypt FPV, a system for encrypting analog FPV (CVBS) video in real-time using a pair of Raspberry Pi Picos. The goal was to create a low-cost, low-latency way to secure a standard analog video feed.
The architecture involves two identical modules (transmitter and receiver):
Transmitter: The analog video-in is conditioned by an op-amp (like an LMH6702) and digitized by a parallel 8-bit Flash ADC (like the AD9280) running at 10 MS/s. The RP2040's first core encrypts this 8-bit stream line-by-line before it's sent over the RF link.
Receiver: The second RP2040 receives the encrypted stream, decrypts it on Core 0, and Core 1 clocks the data out to an 8-bit R-2R resistor ladder DAC. An op-amp buffers the final analog signal.
The encryption is a fast XOR-based stream cipher using the Xorshift128+ PRNG, seeded with a 64-bit pre-shared key. To prevent desynchronization, the PRNG is reset to its initial state on every V-Sync pulse, which effectively emulates a one-time-pad for each video frame.
By using the RP2040's dual cores, PIO for timing, and a line-by-line processing approach, the total added processing latency is kept under 1ms.
The repository includes all the C firmware for the sender/receiver, CMake build files, hardware schematics, a Bill of Materials, and a very detailed HTML project guide walking through all 6 phases of the build.
GitHub Repo: https://github.com/nickisen/picocrypt-fpv/tree/3d017e2fa1856...
Detailed Guide: https://github.com/nickisen/picocrypt-fpv/blob/3d017e2fa1856...