Introduction: Enhanced NRF24L01 Radio With a DIY Dipole Antenna Modification.

The situation was that I was only able to transmit and receive through 2 or 3 walls with a distance of about 50 feet, using standard nRF24L01+ modules. This was insufficient for my intended use.

I had earlier tried adding recommended capacitors, but for me and my hardware got very little to no improvement. So, please ignore them in the photos.

For my remote sensors I did not want the bulk of a unit like a nRF24L01+PA+LNA with a SMA Mount and exterior antenna. So I created this modified module.

With this modified RF24 module I could go through four walls with a distance of about 100 feet.

This module should also nearly double the distance over a standard nRF24 module when used with line of sight applications; like RF planes, quad-coppers, cars and boats (100s of meters). I have not made any clear line of sight tests. In my tests there were kitchen appliances and cabinets and closets full of stuff between the transceivers.

Here is some in depth information on a dipole antenna https://en.wikipedia.org/wiki/Dipole_antenna for further antennas study try: http://www.arrl.org or http://antenna-theory.com

I have studied antenna design some, but there is so much specific design data and theory around a vast and growing number of antenna designs (particularly for high frequency compact antennas), that it is easy to feel a little lost in the woods. So experimentation tends to play a key role.

Now having gone through all of this, I give you here the implementation of my resulting design modification.

Step 1: The Items You'll Need

To fabricate your own enhanced NRF24L01+ with an improved (Dipole) antenna you will need:

Step 2: Modifying the Radio Module

I started with basic dipole antenna designs and experimentally tuned them.

Some designs which call for a ¼ wavelength element need fine adjustments due to instances of capacitance, impedance, inductance and resonances. I do not have means to measure these characteristics in an active 2.4 GHz circuit, so I made the apparently needed adjustment through empirical testing.

Pictured is a few of my test units. Some of the traces got pulled off, as I soldered, un-soldered, bent & re-bent would-be antennas. Two good things came out of this. 1) I switch from the top side to the bottom side for attaching one leg to ground, which turned out to be better mechanically and performance wise. 2) I found it is a good idea to attach the wire with super-glue or hot glue for strain relief (I kept accidentally bending the antenna during all the testing.) Done first, this can hold them for soldering.

Steps to make the modification:

  1. Make two cuts, 1-2 mm wide, of the traces near the base of the PCB antenna, as seen in the image the first image above. This effectively takes the existing antenna out of the circuit.
  2. On the other side, using an exact-o knife, scrape off the protective coating over the edge of the ground plane, as indicated in the second image above
  3. Cut two 24ga. Wires to approx. 50mm
  4. Strip off a couple of millimeters of insulation from one end of each wire.
  5. Bend the bare portion at a right angle on the wire to be attached to ground.
  6. Glue each wire down (recommend: supper-glue or hot glue), so that the bare end is ready to be soldered; one just below the cut traces, the other at the edge of the ground plane on the back. The two wire must lay parallel and 6mm apart.
  7. Once the glue is set, put solder flux paste where your going to solder, and then solder them. I recommend using flux so that your soldering will take quickly and you won't over heat the board.
  8. Make crisp right angle bends in the wires, away from each other, by the edge of the PCB, ~6mm up from where the ground plane ends. Refer to the last two images above. If you have not glued your wires down, be extra careful not to put too much stress on the solder points.
  9. Measure out each wire segment running along the edge of the board to 30mm from it's 90 degree bend and cut them off there. I discovered that I could not accurately measure and cut, so I measured and marked with a fine fiber-tipped marker where to cut.
  10. With an ohm meter check to make sure the wire near the old antenna PCB traces does not have continuity across either of the cuts made in step #1.

Step 3: The Finished Product

Your NRF24L01+ module will now perform far superior in what ever project you use them in. You can either enjoy enhanced reliability with greater range or with lower radio power settings. You should find this so, even with only modifying one radio (the transmitter or receiver); and reap twice the benefit when using a modified unit at both ends. Remember to be sure to orient the antennas parallel to each other. I am implementing a project with multiple remote sensor units utilizing these modified radios (vertically oriented with their ground legs pointing down), which will all converse with a central base station using a NRF24L01+PA+LNA and an external antenna.

The transmitter and receiver antennas, in your project must be oriented similarly both horizontal or vertical and highly preferably parallel to each other. Additionally, perhaps in a complimentary orientation if you know they have a directional preference (this is not generally indicated here). If your antennas are not necessarily physically different, like you are not using a high gain external antenna on one end, then it is best that the antennas are identical and oriented exactly the same. This is in order to achieve maximum reliability and range, and given the antennas are mounted stationary.

In the end the amount of improvement is a little hard to quantify; but in my application, I put it at from 50 to 100% over the unmodified versions. I think it is at least as good as a unit with a 2.5db external antenna; but not as effective as a NRF24L01+PA+LNA unit.

The main intention of this Instructable is simply to instruct on how to devise a modified NRF24L01+ with a superior dipole antenna so that it will achieve greater transmit and receive capability and better usability in projects.

That is probably all that most people will be interested in. With the idea: “What do I do to get greater usable range out of these units?”

So at this point ... have at it; and let me know of your successes with your projects using your own customized radios.

If you want to pre-test your modified radio(s) I have included the software I created for my testing, in a later step.

Step 4: How I Optimized This Design

Now for those who are interested, I'll go on to share a little about how I tested and qualified would-be improvements. However, please note, how to implement testing is not the focus of this instructable.

For testing any Arduino or comparable boards, along with NRF24L01+ modules, can be used. The 01+ versions are needed with the test software, as written, because it uses the 250KHz transmit rate. Be sure to only power the radios with voltages of 1.9-3.6v.

For my range reliability testing, I used a pro-mini Arduino and an unmodified NRF24L01+ as the remote. Which simply receives a data packet and echos it back as an acknowledgment. These were run off of 3.3V regulated.

I had this assembly taped in a small box which I could easily, and repeatedly, position in various test locations.

I used a Nano3.0 MCU with the modified NRF24L01+ as the main transceiver. This end was stationary and provided test results (via either a 16x02 LCD display or the serial monitor). Early on I established that an improved antenna would result in both better transmit and receive capability. Further, I would get the same test results with a given modified radio used at either end. Note that in the test each side both transmits and receives, that is because after a transmission there is an acknowledgment that needs to be received in order for it to be counted as a successful communication.

Note that there are many things that can effect testing results:

  • Touching, or nearly so, the RF24 module or wires to it.
  • One's body inline with the transmission line.
  • The above two have a positive effect.
  • The supply voltage characteristics
  • Most of all, the orientation of the transmitter and receiver antennas.
  • Other WiFi traffic in the area. These could cause differences that can feel like those of 'good weather' to 'stormy conditions'. So I tried to mainly test during the favorable conditions. I would repeat test to get the best results for a given unit under test and later compare those results with comparable results obtained on other test units.

Indoors is harder to get reliable test results compared to outdoors with a line of sight. I could get drastic differences in results by moving the position of one of the units by just a few inches. This is due to densities and make up of barriers and reflective signal paths. Another factor could be antenna signal strength patterns, but I doubt it could cause drastic differences in a few inches movement side to side.

I devised some software to provide me with some needed performance statistics.

Plus I setup fixed, as much as possible, test conditions. Like taping down to a marked place the antennas (Tx & Rx) placed with the same orientation for each battery of performance tests. The test results below are a combined average of multiple tests from multiple locations. Under the used test conditions an unmodified radio was unable to get any successful messages through.

I got best results with 24ga. over 30ga. wire. Results were only a little better; say 10 percent. Admittedly I only tried two likewise wired up instances, and there may have been a 1 mm differences in total antenna topology (sum of differences across segments). Further, I tweaked the first iteration using the 30ga.; making several 1mm adjustments. Then duplicated those wire lengths with 24ga. without further comparable experiments in lengths with the 24 ga. Wire.

[See Table 1 results in image above]

As I wanted my units to fit in a small case I had, I switched from having the antenna transmission leads being 10mm apart and 10mm long to only being 6mm and 6mm, then tested for optimum tuned antenna lengths for that configuration. Here is a boiled down summary of the results from my various tests:

[See Table 2 results in image above]

Further testing, with better lab measurement equipment, could no doubt devise and validate improved segment lengths (wire size and possibly points of attachment or orientation) for true optimum performance of this dipole antenna modification for nRF24 radios.

Let us know if you obtain a verifiable improvement (over a 24ga. 6X6mm x 30mm configuration). Many of us would like to get the most out of these radios (without adding a bulky antenna).

The transmitter and receiver antennas, in your project must be oriented similarly both horizontal or vertical and highly preferably parallel to each other. Additionally, perhaps in a complimentary orientation if you know they have a directional preference (this is not generally indicated here). If your antennas are not necessarily physically different, like you are not using a high gain external antenna on one end, then it is best that the antennas are identical and oriented exactly the same. This is in order to achieve maximum reliability and range, and given the antennas are mounted stationary.

Step 5: Hardware and Software I Used in My Testing

Hardware I used for my testing
2 MCUs Arduino compatables

2 NRF24L01+

At times I also used a16x02 LCD display (for convenient real-time viewing. The serial console can also be used to get test results) a push button (in order to initiate a new set of tests, else you would need to go through a restart)

Links to hardware I would recommend and used:

MCUs: Nano V3.0 Atmega328P on eBay or Pro-Mini: http://ebay.com/itm/261791591581

NRF24L01+ modules http://ebay.com/itm/191351948163 and http://ebay.com/itm/191351948163

16x02 LCD IC2 display module http://ebay.com/itm/200951469149

Download the zipped code files here: