I have been spending most of my time with the nrf51822, but took some time to add a few things, document things, and update this page.
But to get going on this, read these posts:
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
I have been spending most of my time with the nrf51822, but took some time to add a few things, document things, and update this page.
But to get going on this, read these posts:
After porting the BTLE library, I made something useful out of it, an Eddystone™-URL Beacon. I modified the BTLE library I ported to make it easier. There are 3 protocols defined, URL, UUID, and telemetry, however only the URL variant can be used due to the packet size constraint of the nrf24le1. A typical beacon is going for somewhere around $15.00 and the development kits for around $35.00. You can buy nrf24le1 modules on aliexpress for around $5 and a programmer for $3.
The main drawback to using a nrf24le1 is you only have 8 characters to work with for the URL. This is made a bit easier because the standard has abbreviated codes for http://www, .com, .net/ etc. I used 3.ly to make an address, qr.net/bfu3j, which fits into the space available. The other thing you lose out on is the over-the-air configuration, but that's not a deal-breaker.
I have included an Eddystone-URL template in my Sublime plugin. If you just want to take a look at it, you can download the zip here.
Sort of anyway. I ported this library. I haven't really put it to use, but it is interesting to see the little nrf24le1 being used like this. I tried making some sort of beacon with it and succeeded in making an Eddystone-URL beacon.
I'd be interested to see how this might be effectively put to use, I'm sure there are some ways; I don't have much app development experience. Using only the GAP advertising packet seems somewhat cumbersome.
Anyway, it is available in the Sublime plugin package. Zip of a barebones project here.
While I'm waiting for things to come in the mail, I've been working on the software part of this project.
Both the wiring library (wiring.h) and the RF24 library (rf24.h) are included in the software installation.
Todo:
I received the parts a few days ago and re-routed the board about 3 times. I sent it off today to dirtypcbs.com.
I have heavily borrowed from SublimeAVR, a Sublime Text plugin that lets you use the AVR toolchain, and made the equivalent for the nrf24le1. There will be a Windows and Linux version.
The Windows version will include GNU Make and the programmer (which is a perl script) 'compiled' so that the end-user doesn't need to bother setting up a perl environment. It also puts the required include and lib directories in the project and a Makefile so that everything just works out of the box.
The Linux version is mostly the same, with a 'compiled' perl script that includes the dependencies so there won't be any fuss installing extras. Make won't be included since it's likely to be installed anyway.
That should mean that SDCC and Sublime Text will be the only required installs. And neither will require any tinkering.
After everything else is ready, I will put this on Package Control so it will be easy to install. Until then, check it out at my repo.
I have ordered all the parts for one dev board to verify my footprints match. After that, I'll order more parts and have the board made.
Here is the DigiKey order. 1-off parts are pricey. I have found less expensive places for most of the parts.
I got a Leonardo Micro and a bunch of 74LVC245s for about $10.00 also.
The PC side of this is already done. I just need to package it up nicely.
When it comes to compilers, there is only free option, SDCC. The other option, Kiel, costs an outrageous amount of money. SDCC works in both Linux and Windows.
Likewise, there is only one option here. Someone named Brennen did a huge amount of work and compiled an SDK that makes use of nearly the entire chip's functions and released it to everyone under an open source license. Combine this with my Wiring library and you get a familiar and portable environment.
I considered integrating this with the Arduino IDE, but then I remembered how awful that is in comparison to just about everything else. Right now I am using Sublime and a make file. It works , although it could use some work to automate things. It works on Linux and Windows. build-essential is required on Linux for make. You can try installing CygWin on windows for make, but I have just been using a bat file called make.bat. Sublime doesn't know the difference.
I have forked Dean Cording's perl script and Arduino sketch to program the le1.
I currently have a mess of wires from a le1 hookup board to an Arduino Uno. This works, but barely. The le1 is not 5v tolerant per the datasheet, but it is tolerant 98% of the time, the other 2% will kill it. Not to mention the wires and the extra board.
To make things better, I am going to use an Arduino Pro Micro 3.3v and use that as a programmer and UART bridge. Combined with a cheap module breakout, this should make be a big improvement. Programmer software here.
I might design a dedicated PCB for it one day.
Here is a link to my Wiring library page.
It gives you analogRead, digitalWrite etc.
You can buy a breakout module on aliexpress for around $5.00. I considered just using those, but I soon ran into a spaghetti tangle of wires connecting power, sensors, programming pins and whatever else. I also found, to my annoyance, that each company sells a different breakout. I have multiple versions of le1's. Each one has different pinouts. It is impossible to reliably replicate things. One supplier might disappear and I'll be left figuring out some new board. And, they all come with 1.27mm headers which is very inconvienent to work with.
Also, I want to design a board from start to finish. Just to do it and see it work.
Create an account to leave a comment. Already have an account? Log In.
That's a real pity with Nordic. They have built a great radio at dirt cheap prices, but screwed up making a usable unified solution involving an MCU.
They seem to have licensed an ARM Cortex M0 for making a BLE device (nRF51822) . Dev board costs about $5 now. If it becomes any cheaper, it'll probably take over the market.
I ordered an NRF24LE1 dev board off Aliexpress. Will try and get USBASP to work somehow. There are some pages in russian with some vague steps on modifying USBASP for LE1.
I would be interested to see a free dev kit for this module. I stopped looking at it soon after it was released and a $100 eval kit key was required to access the SDK. I'm sure things have changed since then, I hope so at least. But yes, I agree, that chip does a lot for the cost.
Nice work!
I'm also working on similar lines, but with the radio-only version. Had stayed away from the MCU+radio version because all the official downloads seemed to be windows executables, and there was an overall closed source outlook.
Should take a closer look now. It seems it can be programmed with USBASP
thanks
You are right, Nordic created a minimal compiler+SDK package and threw it out in the wild. I have never used it because the compiler costs $1k+
You may be able to program an le1 with a USBASP, but not without some work. It needs more pins then are available (unless you can use the extra pins on the 10-pin version). An Arduino works, even without a level shifter, for the most part. I have killed one chip with it though. I'm waiting for my programmer PCBs to arrive and hopefully it will all work out well.
Thanks for the comment.
Become a member to follow this project and never miss any updates
I'm not sure what dimensions that PCB has, but it might qualify for #The Square Inch Project :D