Close
0%
0%

nRFIoT - Easy IoT Sensors

Really easy IoT hardware. And cheap too.

Similar projects worth following
Take an Arduino Pro Mini 3.3v, one of those really cheap nrf24l01 transceiver boards, and a simple PCB that connects them together. And also powers the thing through a micro-USB plug.

I made a very simple board that takes a 5v USB power supply, converts it to a clean 3.3v, connects the (very annoying to use) nrf24l01 module and the pro mini, all in a small and easy to use little package.

If you solder it together with headers (like my picture shows), you can very easily connect whatever sensors you want. It is programmed easily through an FTDI programmer and you can still use the Arduino IDE (if you want).

I've written a simple protocol that has proven to be quite reliable. It is still a work in progress, as is how the data is presented, but the hardware is what this project is about. The finished product measures in at the size of the pro mini, and about 3 times thicker.

They come in under $10 each.

For me, the most annoying part of building a bunch of sensors, was what an ugly mess of wires they turned into. And compounding the problem was the Nordic radio modules. They all come in a very inconvenient 2x4 or 2x5 PTH module. I initially wanted to make my own board with a nrf24 chip and the passives required, but you can buy the module online for much cheaper. The nrf24 also wanted a really clean 3.3v power supply which isn't all that easy to come by so I solved both of those issues with a very simple board.

I'll be the first to tell you that this isn't a marvel of EE design that uses innovative ideas etc, but for me, it solves a very annoying problem in a simple and easy to implement way. Why didn't I use the onboard 3.3v regulator? Because it didn't seem to be working all that well for me so I did my own thing. My guess is the nrf24 modules are very picky about their power supply or the cheap pro minis just weren't cutting it. Additionally, I have found that you can power the 5v versions of the promini without any fuss at 3.3v. And the power supply is going to be part of another board, this has shown me that it works well.

As for the software that runs the whole thing, the RF24 library is well established and used here. The modules already provide layer 1 and 2. My layer 3 protocol is very simple and works like this:

  • a node sends a message
  • every other node that heard it retransmits it until it reaches the base station
  • it's slightly more complicated, but not by much
  • the base does the processing/saving/whatever with the data. (beyond the scope of this project, btw)

This approach works well, but assumes that some sensors will always be on (which is the case for my setup). Battery powered nodes will be sleeping and not relaying messages.

Simple. It also provides XTEA encryption for more sensitive things, like if you wanted to open your front door or something and you have the NSA stalking you.


The next step for me will be to make some boards that work with my PA-LNA nrf24 modules. I am using these as my base and for relays. They can talk from one end of my neighborhood to the other. I also plan on making a coin cell board as well.

  • 1 × Arduino Pro Mini ~$3 each on aliexpress.com
  • 1 × nRF24l01 board ~$1 each on aliexpress.com
  • 1 × Custom board $9 for 6 at OSHPark
  • 2 × 1 uF Cap 0603 couple pennies
  • 1 × 100 uF cap 0603 couple pennies

View all 8 components

  • Other project

    Justin06/13/2015 at 03:49 0 comments

    https://hackaday.io/project/6270-nrf24le1-iot-dev-kit/log/19401-wiring-library is my current project that makes use of Nordic's nrf24le1 chip.

  • more nrf24le1 stuff

    Justin05/14/2015 at 03:24 0 comments

    I created another project that contains a lot of the work I've been doing with the other Nordic SoC's. Find my other project for more information on it.

  • The nrf24le1 stuff came together easy

    Justin01/28/2015 at 02:41 0 comments

    Working with these modules had been much easier than I thought. I was able to get everything up and running fairly easily. I even created a wiring.h file to make it look a bit more arduino familiar and easy. I'll post the files and more details when I get a chance.

  • Experiments with nrf24le1

    Justin01/19/2015 at 08:59 0 comments

    I have ordered a development kit for the nrf24le1 SoC. I have also begun porting the RF24 library to the 8051 processor with SDCC. If it all works out the whole board will be a tiny little thing. I have also been playing with the idea of expendable sensor boards that connect to each other through I2C.

    On another note, if none of the SoC stuff works out, I found some very small nrf24l01 modules. 12x18mm I think, so about 25% of the boards in using now. I will be testing them sooner or later as well.

  • Web front-end

    Justin11/25/2014 at 01:18 0 comments

    It should be mostly online. It is a simple front-end for my datalogs.

    node.ntdll.net

  • Backend Server

    Justin08/24/2014 at 09:42 0 comments

    I ended up with a bunch of sensors and needed a place to store the data. My solution was to get a beaglebone black, install nginx, an MQTT broker, and a quick flask/flask-socket website. The sensors and their data to the bbb which stores the data in an sqlite database and also sends them out over the MQTT broker. The website connects to the broker and displays it all in real-time. 

  • Bad luck

    Justin08/09/2014 at 19:44 0 comments

    So I tried to test a TI REG711 33 last night, but didn't have much luck. Three tries and I gave up. I guess I shouldn't try to do these things late at night. 

  • Smaller uC board

    Justin08/07/2014 at 05:27 0 comments

    As I mentioned in my original project description, I decided I couldn't buy my own nrf24 modules and layout a custom board because it would cost significantly more money ontop of being quite a hassle. I have recently done some thinking about it and found it might be easier to make a custom board that holds the uC for at least as much as it costs to buy, but that would give the advantage of much more control and reduce the size considerably. I'm looking into it now. I laid out a pcb that uses a salvaged atmega328p in a the TQFP package size and will be making a test run soon.

  • ATTiny84

    Justin08/07/2014 at 05:24 0 comments

    I recently thought about making tiny boards using ATTiny AVRs. After looking around and finding the largest one, 8k, I played around a bit with the code and found that while I could get it shrunk down to 8k, I couldnt do anything else. Unless it took a simple analog read value, there was nowhere near enough space left over for any sensors. 

  • Second version

    Justin08/06/2014 at 23:56 0 comments

    So I did some more playing around with the onboard regulator. The issues I was running into earlier seem to be fixed by using a higher quality wall wart. I had been using a cheap cell phone usb wall wart. Turns out it sucked. I looked at it and the ripple on it was huge. A better wart fixed it. 

    This leads to a question though. The parts on my original board cost a couple pennies and clean up the power. A higher quality power supply costs maybe $15. Is an easier board to assemble worth the higher price? I think probably not. 

View all 10 project logs

  • 1
    Step 1

    Download the brd file. Before you send it off to be made, find a Pro Mini source. Not all of them have the same footprint so match the two.

  • 2
    Step 2

    The board uses 0603 capacitors. It could easily enough be changed to bigger, and probably even PTH so figure out which route you want to go and get the parts. You'll need 2x 1uF and 1x 100uF caps. 

  • 3
    Step 3

    Get the transistor. It's a tiny little thing. PTH versions are available. 

View all 8 instructions

Enjoy this project?

Share

Discussions

Ansgar wrote 11/06/2017 at 15:51 point

Hello Justin,

how to get to the *.brd file?

Your page says "Files: 0" here in my view... even if logged in.

Do I have to pay for it somewhere? Just can't figure it out...

greetings

Ansgar

  Are you sure? yes | no

davedarko wrote 11/06/2017 at 16:04 point

 nRFIoT Folder (brd and source files) it's in the link section below the images ;)

  Are you sure? yes | no

Justin wrote 02/13/2015 at 17:27 point

I like that. Already made, too. 

  Are you sure? yes | no

raspi wrote 11/06/2014 at 22:56 point
Similar project is on iot-playground.com with arduino+NRF24L01 and Raspberry Pi as EasyIoT server controller.

  Are you sure? yes | no

Turkish1450 wrote 08/26/2014 at 13:48 point
I saw your update about using the beaglebone as a backend. Just tossing this out there because I like to be cheap; Have you considered using a pogoplug? I've found them for as low as $7 and with Archlinux you just forward data over serial to your favorite script(in my case perl) for logging. Start up a web server on it too and everything is contained in a fairly simple/cheap setup.

  Are you sure? yes | no

Turkish1450 wrote 07/24/2014 at 15:32 point
I was JUST about to slap together something like this, but less neat. Nice work.

  Are you sure? yes | no

Justin wrote 07/25/2014 at 08:15 point
Thanks. I was surprised that I couldn't find anybody already doing something like this. Those nrf24 modules are so annoying to work with. Those 2x4 headers they all come as...

  Are you sure? yes | no

davedarko wrote 07/23/2014 at 07:12 point
Are you placing the usb port upside down?

  Are you sure? yes | no

Justin wrote 07/23/2014 at 09:23 point
They are weird. But yes, the plug does seem to go in the other way in comparison to everything else, but that is the only way it works. I also haven't been able to find an eagle footprint for them. I have about 80 left though, so I'll stick with them for awhile longer. I got them here:
http://www.aliexpress.com/item/100pcs-lot-USB-connector-MICRO-5P-SMD-5P-Shen-plate-copper-shell-terminal-board/1138869456.html

  Are you sure? yes | no

Justin wrote 07/22/2014 at 11:56 point
Yes, there is a regulator, but since I'm converting 5v from USB, there's little use for it. I just connect my 3.3v straight to the VCC of the Arduino. Dunno if it was just my Arduinos, but things weren't working with 5v USB going through the regulator.

  Are you sure? yes | no

davedarko wrote 07/22/2014 at 11:58 point
strange, I thought that when 5V where applied to the raw input pin, it should work fine (did that with LiPo cells)

  Are you sure? yes | no

Justin wrote 07/22/2014 at 12:01 point
I also found the nrf24 modules to be very sensitive to dirty power supplies.

  Are you sure? yes | no

davedarko wrote 07/22/2014 at 12:18 point
well I only used them with a separate 3.3v regulator on 5V arduino NG clones so far, so I never ran into that, I guess. Well inspiring work anyways :)

  Are you sure? yes | no

davedarko wrote 07/22/2014 at 11:49 point
First off; neat board! - I love pcb sandwiches! Isn't there a regulator for 3.3v already on the board?

  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