BLE beacons from 1$ nrf24L01 modules

Using the humble nrf24L01+ modules as BLE beacons to send and receive BLE advertisements .

Similar projects worth following
I'm using an nrf24L01+ which is the one of the cheapest and reliable 2.4GHz radio in the maker community. I'm using this in conjunction with the Atmega328 to make it function as a BLE radio advertiser.

the following is the repository i am using and is completely generic and works on top of the RF24 library by TMRh20

Added a new Use case for the library in the project AutoSense : Collecting Road quality data easily

  • 1 × nrf24L01
  • 1 × arduino (UNO/Nano/duemilanove)
  • 1 × jumpers

  • changed the title and description to make it generic

    Pranav Gulati06/06/2016 at 18:07 0 comments

    changed the description to highlight the project as the development of a library rather than a one-off project

    this is the removed part just to serve as a history of the project

    " this beacon shall be put on every public transport and shall broadcast its time of departure to other public transports in the vicinity. those public transports log this packet and advertise this openly while travelling on the route.

    At any point in time whenever a bus crosses a passenger waiting on the bus stop, he can receive the relevant packets to estimate the time after which his desired bus will reach his stop."

    this will make the public transportation system much more predictable and reliable.

  • added receiving of packet to the repo

    Pranav Gulati06/06/2016 at 17:58 0 comments

    recently added the receiving of advertisement packets by the nrf to the library. now the module can listen to these 32 byte advertisements too.
    this will come in extremely handy to control your devices in the instead of using the power sucking ESP8266.

    next up : will integrate the transmitter and receiver in a single sketch and then implement caching of valid packets for retransmit but i think the retransmit and caching should be left out of the library since the library should focus on what it needs to do

View all 2 project logs

  • 1
    Step 1

    Connect the nrf24L01+ to the SPI pins of your specific arduino.
    Choose and change the Chip enable (CE) and Chip select (CS) in the code corresponding to your connections

  • 2
    Step 2

    clone the repo and paste the RF24BLE folder in the folder "libraries" in the sketchbook area. e.g "Arduino/libraries/RF24BLE"

  • 3
    Step 3

    open the arduino ide and choose an example from the file->examples menu and upload any example

View all 5 instructions

Enjoy this project?



marcospf.amaral wrote 09/23/2018 at 15:08 point

Hi, I'm doing my final course work and I'm wanting to use beacons to control the presence of residents of the building where I live. I would like to know if it is possible to use a beacons together with the security system of the building (cameras and alarms) to locate a tag and with that the person who is using the tag can enter and leave the building without problems, however, if a person who does not have the tag entering the building without permission for a time of 5 min, an alarm will be triggered informing that there is a stranger in the building. Can someone help me with this topic? Note: This idea came about because the building where I live has been robbed twice. If possible send a email with information
"Im usign google translate"

  Are you sure? yes | no

Pranav Gulati wrote 08/28/2017 at 16:54 point

@fool is right, putting a cap across the power and gnd helps.

Also thanks a lot @fool  :-D

  Are you sure? yes | no

fool wrote 08/28/2017 at 00:37 point

Wanted to let you know that in part because of this project, we made the header on our circuit board ( compatible with the nrf24L01!

One thing that might be useful to tell people is that it can help to put a capacitor between power and ground on these chips!  We did this for people on our board, but if you are using it with an arduino it can cause issues if you don't!

  Are you sure? yes | no

Pranav Gulati wrote 01/20/2017 at 08:00 point

BLE "advertisements" are a totally technical term from the perspective of how the BLE protocol writers wanted it. They coined the term "advertisement" probably because when something is advertised the viewer may not engage with the advertisement based on their choice, and in the BLE sense too when the advertisement (beaconing perhaps??) occurs if the device doesnt want to listen to advertisements it can just turn off its bluetooth radio.

just to answer your question, yes the incoming transmissions can always be blocked / filtered and hackers can abuse just about anything anyway so well...

Like it or not beacons for advertisements are going to happen very soon ( Google eddystone or physical web) and i just want to play my part making it accessible to the community ;-)

  Are you sure? yes | no

Olaf Baeyens wrote 01/19/2017 at 22:24 point

We live in a world where people are just fed up with yet more "advertisement".  It gets associated with even more privacy invasion and spyware.  That is creepy.

May I suggest that you avoid the word "advertisement" and use a different word to describe your project? 

The other thing is can you actually filter/block incoming transmissions? If you don't then you risk that hackers abuse it.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates