Friday, October 19, 2007

New project with new chip (nRF24LU1)

I have decided to use one of the suggestions from the previous post for the next project. In case you didn't know, Nordic recently released a new chip that takes the 24L01 and on the same chip adds an 8051 core, 16 kB of EEPROM for program memory, and an AES encryption coprocessor. It also has 6 GPIO pins, that can also be multiplexed with other features, such as hardware SPI and UART.

I am going to try to lay out a board and get SDCC or some other compiler to generate code for the 8051 core. If any of you guys are familiar with 8051 coding (especially in C using some freely available compiler), then I would definitely like to hear from you (the easiest way is to make comments on this post).

This project is going to be quite an undertaking, and once I get my stuff working I will try to start making some boards for purchase. There will also have to be some sort of programmer module, since programming the chip initially requires that it be done over SPI. If I can get a bootloader going, I am going to try to get USB up and running on the chip, so that it can be programmed that way.

It may be a while before I get this done (or even a large amount of progress). Be patient and watch for updates occasionally.

Edit: I now have nRF24LU1 breakout boards for sale at!

Labels: , ,


At October 23, 2007 at 1:48 AM , Blogger Eduard said...

You probably know this, but Nordic also has a small USB dongle which is their reference design for the nRF24U01. It comes with all the documentation and tools needed to start developing for the 8051 core inside the chip and you can program it via the USB port.

I've been wanting to get one myself, but our local distributor for Nordic says they can't get the stuff yet (maybe in November). Maybe you're a bit luckier than we in South Africa, in which case playing with the reference USB dongle may help you get started with the 8051 programming and also with all the features of the nRF24U01 chip.

At October 23, 2007 at 5:04 PM , Blogger brennen said...

Yes, I am indeed aware of the reference design kit for the nRF24U01. I've actually seen it at one distributor for about $150. I'd personally like to develop a schematic and software that is totally open and free and that everyone can access. Plus I've always been one to do things the hard way anyway. :)

At November 2, 2007 at 12:11 PM , Blogger Ian Harris said...

Alternatively these guys have a board that might get you up and going:

At November 2, 2007 at 12:43 PM , Blogger brennen said...

Unfortunately that's not the right chip. Theirs is for the nRF9E5, which is for their 900 MHz wireless units. They also don't have a schematic/layout for it, so I can't really even use it for a good jump-off point.

The good news is that I have a schematic for my nRF24LU1 development board, but I'm still trying to figure out the best options, so it's not totally complete. Once I get the schematic and layout done, I'll post a link to it.

At December 14, 2007 at 5:53 AM , Anonymous Anonymous said...

I am interested to know the results of using nRF24LU1. USB driver has been ported successfully?? Appreciate if you could let us know the tools you used.

At December 14, 2007 at 8:33 AM , Blogger brennen said...

I haven't actually started the coding process. The boards are scheduled to be in on Monday, and then I'll start soldering. At that point, I'll start trying to program and flash the chips.

A USB driver will have to be written from scratch or ported from other tools or architectures, as I haven't seen anywhere that Nordic has posted any sourcecode whatsoever for the nRF24LU1.

At January 2, 2008 at 4:20 AM , Anonymous Anonymous said...

Thank you so much for your blog.

I've bought 3 WRL-00153 modules at Sparkfun and I'll be experimenting them using your PIC tutorial (they are very clear and detailed).

I understand you have made 12 PCB with a design based on the 24LU1. I'm interested to buy you one for use as a USB dongle, once it's ready and if you agree, of course.

Keep on with the good work and many thanks again.


At March 13, 2008 at 4:40 PM , Blogger said...

What programming tools are you going
to use for the nRF24LU1?

At August 25, 2008 at 2:31 PM , Anonymous Anonymous said...

Currently I'm trying to create a virtual com port implementation on the 24LU01 so it will work on any OS without having to write the PC side too.
I use the SDCC compiler, did some work on defining all the bits and registers in SDCC style.
The USB part of the chip is very sparse, or ill documented. So far the SDCC compiler seems to do a good job, together with Eclipse as IDE.

At August 25, 2008 at 2:51 PM , Blogger brennen said...

Overall, I really like the SDCC compiler. As far as help with USB, I know that Nordic has an SDK for the 24LU1, but I don't think they've released it to the public. If you contact their technical support, they have examples of USB communication that they can send you (I know of at least one person who has done this exact thing).

At August 27, 2008 at 2:57 AM , Anonymous Anonymous said...

I have the reference design kit and SDK from Nordic. Their code uses the Keil compiler for the 8051. There is a comment in the doc that says the evaluation version of Keil will not compile the example USB code because of size limitations. I don't want to spend $2000 for a compiler! What is this SDCC that I've seen mentioned?

At August 27, 2008 at 7:48 AM , Blogger brennen said...

SDCC is a free compiler for 8051 microcontrollers (plus several other architectures). If you try to port the Keil code over, you may have a lot of changes to do because of differences between compilers, but that's often hit or miss. You can check out SDCC at

At August 27, 2008 at 10:49 AM , Anonymous Anonymous said...

I have some sample code, but no serial driver. Just need some more time.

Regarding KEIL and SDCC one of the things missing is an intrinsics.h (definitions like nop) and can easily be created with inline assembly. Other things are registers, but if you use the SDCC compiler.h include and do a little work most compiler errors are gone. Most of the work will be in getting the memory typedefs in good order. One particular is typedef of u_int16 that is SDCC unsigned short int, whereas Keil does unsigned int.

At January 22, 2009 at 5:14 PM , Anonymous Anonymous said...

I bought the nRF24U01 dongle kit and it comes with "nRF24LUM Configuration and Evaluation" software which is supposed to allow you to configure the dongle registers and allow communicating from one dongle to another (sending a file). I can't get it to work.. How did you test your devices?


Post a Comment

Subscribe to Post Comments [Atom]

<< Home