I am referring to the 100_Projects_In_100_Days( but only 52 in the git repository! ). Both dynamic broadcaster(project 9) and eddybeacon(project 50) broadcasts data continuously.

Which one would be a correct fit for my project?

My requirements: 1. The BLE module should Transmit/Receive data to/from other BLE modules. Exchanged data would be long strings(URLs) 2. All the modules will be in listening state and upon a random event, the modules will start transmitting the data. Since the event is randomly generated in the BLE modules, some BLE devices will end in transmitting state and some will end up in listening state. 3. The transmitted data should be in Ibeacon or Eddystone format. 4. Interrupts should work. 5. UART communication between an external embedded host should work.

Hi, Thanks for your reply. I will go with EddyStone as I need to send beacons in that format. I see that there is no broadcaster and observer option under GAP role. What option should I choose if I want my device to act as most of the time observer except interrupted by an external host which then changes the BLE to act as a transmitter?

You will need to either: Pick the Custom profile, or just pick the observer profile. You will need to dynamically switch between the observer and broadcaster profiles using code/API commands running in software, as the component configuration will not allow you to setup what you are wanting to do.