For my home automation projects I want to use radio communication. I found a very good solution with MySensors, based on Arduino.
But my concept of communication is founded on broadcast, like CAN used in cars. The goal is to realize a kind of swarm intelligence based on the idea, that any device knows the states of all other devices and includes the real time background of the whole system for local decisions.
Because the mainstream of communication is based on P2P (Master/Slave, Client/Server) and even sensor networks (e.g. BT-Piconet) are structured accordingly, I have to go my own way and develop the communication from the root.
One model near to my idea is the usage of Beacons with BLE. So I studied BLE (specification) and found a very good forum at NORDIC. I bought a development kit for the nRF52840 and tested a few examples.
But for BLE, the usage of the nRF52840 is somehow hidden inside so called Soft Devices and it has taken a lot of time to program my own Beacon with direct access to the registers of the M4 and its periphery.
Now I want to use the Arduino BLE 33 for a "Sensor Data Beacon", but there is a similar problem: The mbedOS hides the usage of the micro controller and I did not find information about the resources used by mbedOS (e.g. which timers are used).
Fortunately there is no significant background activity if You avoid to use the ArduinoBLE library (which I do not need).
So I started this thread for programmers who want to use the nRF52840 with the Arduino BLE 33 like I do without the mbedOS. That includes
- using own callbacks for peripheral interrupts
- using own hardware timers
- using own libraries for I2C/TWI and other peripheral elements
A few things I found out meanwhile, but it is a start with a small lantern in the fog. My hope is, that there are many other programmers with similar ideas and together we crack all nuts.