Bluetooth Low Energy (BLE) is one of the most popular wireless protocols used in consumer devices including blood pressure monitors, wearables, and smart home appliances. Renode, Antmicro’s embedded and IoT simulation framework, has supported the BLE protocol for a long time, but the typical use scenario would cover setups where all the nodes exist in the simulated world.
This thesis project involved adding support for BLE host-guest communication via the Host Controller Interface, a communication layer between the host and controller elements of the Bluetooth protocol stack, to Renode, allowing you to connect physical BLE modules to Renode simulation. The implementation was tested using the open source Zephyr RTOS as well as Android Emulator, and provides a starting point for deterministic and repeatable testing of real-world devices requiring advanced testing scenarios.