For those who have a spare Ruuvitag and aren’t happy with the RPI’s BLE performance or have a device like a Onion Omega 2+ or older RPI that doesn’t have built in BLE.
A spare Ruuvitag or any other nRF52832 module can be used as a gateway. With the upcoming Ruuvi Gateway on it’s way the Firmware for the nRF module can be used to turn your spare Ruuvitag into a BLE receiver which can turn a small board into a powerful gateway.
I slightly altered fimware found at:
So the data includes the channel of which the device is currently scanning on. This could be used in the future if lets say a certain BLE tag had bad performance and it turned out that it was unable to be seen on certain BLE channels.
I also changed the RX, TX pins so that connecting to the devkit was easier for testing. The edited firmware can be found at:
Once the Ruuvitag is flashed it can be simply connected to Either a RPI or Onion Omega 2+. Note that there are some steps needed to get the UART pin to work on a RPI.
With the use of Python a power BLE gateway can be created that can leverage the performance or the BLE in the nRF52832.
The application can be found at:
It can be configured to easily use the RPI BLE or to use the external nRF module.
What would be awesome would be to create a expansion board for a RPI or the Onion Omega that would be a simple plug and play experience. Tied in with the BLE in the RPI , MQTT messages could then be used to connect to BLE devices exchange data whilst not loosing Scanning functionality.