nrf52_radio_emu
nrf52_radio_emu copied to clipboard
nRF52840 emulator to run and test custom radio protocols
Introduction
This repository contains complete code for the video tutorial series Writing an emulator for the nRF52840 SoC to run a bare-metal radio firmware. Several industrial IoT devices have implemented custom 2.4 GHz radio protocols on the Nordic semiconductor nRF52840 SoC by directly accessing radio transceiver through MMIO registers as documented here. For demonstration purpose, this emulator is customized to run the latest version of the Coriandolo Radio protocol firmware binary (data/CoriandoloRadio.bin). This emulator can be extended for running and fuzz testing other real-world custom radio protocols that are written for nRF51 and nRF52 SoCs.
Emulation Results
The included firmware binary in this repository is built from the "RadioTest_CR" app published on the Coriandolo Radio code repository that should exhibit the following behaviour upon execution according to the README file:
"RadioTest_CR blinks the LEDs on the SENSOR and BASE to indicate how many messages were received in an exchange; in a "perfect" exchange the SENSOR LED will blink 8 times and the BASE LED will blink 9 times (extra blink for the Announcement)."
The following screenshot shows RadioText_CR firmware binary running under this emulator and exhibiting the expected behaviour