After many months, i have finally come across an option i really like. Each of the previous Tiny Low Cost BLE versions had their associated drawbacks. However, V4 meets all of my previously set criteria: Its Low cost, Small, and Easy to use.
Board 3d Render
Introducing the new Tiny Low Cost BLE V4 using the NRF51 chip from Nordic. It is a very popular chip, with a lot of community support, and great documentation. There are plenty of circuit reference designs in the datasheet, and many online too.
Here are the keys specs for the NRF51
- 32-bit ARM® Cortex™ M0 32-bit CPU
- Wide supply voltage range (1.8v to 3.6V) with On-chip DC/DC converter
- 31 GPIO (Up to 4 PWM)
- 8/9/10 bit ADC - 8 configurable channels
- 256/128KB embedded flash
- 32KB/16KB RAM
- 3 x 16/24-bit timers with counter mode
- 16 channel CPU independent Programmable Peripheral Interconnect (PPI)
- 2 Mbps, 1 Mbps and 250kbs supported data rates
- Encryption -128-bit AES ECB/CCM/AAR co-processor
- Temperature sensor
- Low power comparator
It is very low power:
- 600nA @ 3V OFF mode
- 2.6µA @ 3V ON mode, all blocks in idle mode
When transmitting/Receiving it is also low power:
- 6.3mA - TX at -4dBm (3V using on-chip DC-DC)
- 8.0mA - TX at 0dBm (3V using on-chip DC-DC)
- 11.8mA – TX at +4dBm (3V using on-chip DC-DC)
- 9.7mA – RX (3V using on-chip DC-DC)
- 13mA – RX at 1Mbps (No DC-DC)
- 10.5mA – TX at 0dBm (No DC-DC)
- 2.6µA - SYSTEM-ON, All peripherals in idle mode
There is also the NRF52, which is even better, but the NRF51 is currently cheaper, hence the reason i like and use the NRF51.
Version 1 of the Tiny Low Cost BLE was using the RFduino, and inside the RFduino is a NRF51. I really liked the RFduino but it was a little expensive, and at the time the arduino bootloader was not open source, so developing a new board with the NRF51 makes sense. RedBear offer a open source arduino bootloader which i haven't tried yet, and there also seem to be one or two other bootloaders around, so that makes the NRF51 easy to program. However, i like to use mbed for easy programming. It is just as easy as Arduino coding, but gives you access to a lot more powerful processors. mbed also have a reasonable support team and user base that are happy to help. The one thing i really don't like is that it is a web based application, therefore no more quick and easy coding while on the road or train :( although if its online then maybe you can use you phone's browser, but that wouldn't be easy. Actually i also don't like the lack of debugging tools, but that's the same as with the arduino, and i can live with printf.
At the moment i like to use the Keil IDE (there is a free version that allows you to program code up to 32k), however this is for the more advanced user, who wants complete control. However, as i have been coding the NRF51 directly, and haven't really been using it as an arduino, i haven't broken out the UART pins needed to program an arduino sketch. If i get more than 10 requests for an arduino version, then i will create a special version with the UART pins broken out.
It is also worth noting, that unlike the previous Tiny Low Cost BLE versions, this NRF51 version is not precertified. Meaning that if you want to sell your project, that you will need to get it certified before you can legally sell it. However, you can find certified modules on Aliexpress and ebay.
I will upload the Eagle files to github once i have tested out the board to make sure it works. For the moment, here are images of the schematic and board layout.