-
Eddystone-URL
11/07/2015 at 02:58 • 0 commentsAfter 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.
-
Bluetooth Low Energy Added
11/06/2015 at 08:44 • 0 commentsSort 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.
-
Software Updates
06/30/2015 at 04:14 • 0 commentsWhile I'm waiting for things to come in the mail, I've been working on the software part of this project.
- Sublime Text plugin - The software can be installed through Package Control; Ctrl + shift + P, type "package control" and find Install Package, then type "io Node Framework". After it has been installed; Ctrl + shift + P, type "io node" and choose "i/o node: Create Project".
- Major work on wiring.h
- Major work on porting the RF24 library
Both the wiring library (wiring.h) and the RF24 library (rf24.h) are included in the software installation.
Todo:
- make the package available outside of Sublime
- find someone to package my programming perl script for OSX
-
Node Board Ordered
06/22/2015 at 05:55 • 0 commentsI received the parts a few days ago and re-routed the board about 3 times. I sent it off today to dirtypcbs.com.
-
Software Package
06/17/2015 at 17:20 • 0 commentsI 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.
-
Parts Order
06/13/2015 at 06:00 • 0 commentsI 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.
-
PC development environment
06/13/2015 at 05:51 • 0 commentsThe PC side of this is already done. I just need to package it up nicely.
Compiler:
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.
SDK:
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.
IDE:
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.
Programmer:
I have forked Dean Cording's perl script and Arduino sketch to program the le1.
-
Programmer details
06/13/2015 at 04:06 • 0 commentsI 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.
-
Wiring Library
06/13/2015 at 03:45 • 0 commentsHere is a link to my Wiring library page.
It gives you analogRead, digitalWrite etc.
-
Other breakout modules
06/13/2015 at 03:42 • 0 commentsYou 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.