Arduino pro mini 3.3V wireless nRF24L01+ board REV1.2, updated to include REV 1.2.2

The first batch of Arduino pro mini 3.3V wireless nRF24L01+ REV 1.2 boards has finally arrived.

This is the first board I ever designed and a good learning experience. The board was designed with Eagle 6.5 and manufactured by OSH Park. Making the design in Eagle was a bit more complicated then I at first thought it would be, because I couldn’t find any existing library that fulfilled my criteria. So I ended up creating a library for every different component in the design. Because I find that using autorouter in Eagle is quite useful if you have given it good design rules I created my own design rules for the autorouter. The dru file can be found here.

Hardware

The nRF24L01+ board is connected according to the RF24 library, see table 1. The IRQ pin of the nRF24L01+ can easily be disconnected from the D2 pin of the Arduino, this is especially useful because the D2 pin is one of the interrupt pins of the Arduino. The IRQ pin is connected when using a jumper connector on the IRQ connect pins.

Table 1: nRf24L01+ routing.

Signal: RF module pin: Arduino pin:
GND 1 GND
VCC 2 VCC
CE 3 9
CSN 4 10
SCK 5 13
MOSI 6 11
MISO 7 12
IRQ 8 2

As can be seen in Figure 2 the board has a 10 kΩ potentiometer and 4 dip-switches on it. The potentiometer also uses a connection with a jumper connector but now on the Pot connect pins. This means you can also disconnect the potentiometer from the Arduino freeing up the A7 pin. The 4 dip switches are wired to pins D3, D4, D5 and D6.

Figure 1: Render by OSH Park
Figure 1: Render by OSH Pak
Figure 2: Board without nRF24L01+ module and without Arduino
Figure 2: Board without nRF24L01+ module
and without Arduino
Figure 3: Board with nRF24L01+ moudule and Arduino
Figure 3: Board with nRF24L01+ moudule and Arduino

Progamming
The pro mini doesn’t have a built in USB connection, that is why you need some extra hardware to program the Arduino. I use Arduino Uno with the ATmega328 removed from the board, you could also buy an FTDI programmer which aren’t expensive. But if you already have an Arduino Uno lying around its free.


Software

The first thing you need to do is make sure you get a library for the nRF24L01 or nRF24L01+. I personally prefer and use the Rf24 and RF24Network library from maniacbug which can be found here. There are also a few examples that can be found in the library.

Update
On REV 1.2 I unfortunately made a mistake, which renders the dip switches useless. This was because I didn’t check how to properly connect the switches. I”m currently at the end stage of a REV 1.3 where the dip switch problem has been resolved and a few other enhancements where made. If REV 1.3 is finished I will upload them to this blog. REV 1.2 can be found here.

REV 1.2.2 upgrades
The REV 1.2.2 is the improved version of REV 1.2. The dip switches are now correctly connected to the Arduino, but require a 10k 0805 SMD resistor per switch. The IRQ connect and nRF24L01+ connections have switched places to ensure that the v, g, A7 and A6 connections are easily accessible when the nRF24L01+ module has been attached. Also a few minor silkscreen changes have been made. The REV 1.2.2 brd file can be found here.

Top view 1.2.2
Figure 4: Top view 1.2.2
Bottom view 1.2.2
Figure 5: Bottom view 1.2.2

 

Leave a Reply

Your email address will not be published. Required fields are marked *