Research, tools, and custom firmware for the Ubiquiti AmpliFi AFi-R router.
| Component | Detail |
|---|---|
| Main SoC | Qualcomm Atheros QCA956X (MIPS 74Kc, 775 MHz) |
| RAM | 128 MB DDR2 |
| Flash | 32 MB |
| WiFi | 5GHz AR9561 + 2.4GHz QCA988X |
| Display module | STM32F205VGT6 board with 240x240 LCD, touchscreen, speaker |
| OS | OpenWrt-based (Linux 4.1.16, BusyBox ash, musl libc) |
Serial console access, enabling SSH, patching uh-fw-tool, and flashing custom router firmware.
Scripts for extracting, modifying, and repacking the router's SquashFS firmware images.
Full hardware and software analysis of the stock display module — MCU firmware, USB CDC protocol, LCD controller, bootloader, and more.
Replacement STM32 firmware that lets you push arbitrary images, animated GIFs, and solid colors to the 240x240 display. Also supports speaker audio (tones, presets, music streaming), and touchscreen input (tap/drag coordinates over USB). Includes host and router scripts.
- Connect a UART reader to the J11 header inside the router
- Run
echo 'SSH' | prst_tool -w misc && reboot - Set up SSH config and key auth, then:
ssh amplifi
- Flash the custom display firmware
- Connect the display board to your PC via micro-USB
- Run:
sudo python3 custom_display_fw/scripts/host/push_image.py photo.jpg