06/14/2017 at 19:16 •
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.
09/28/2016 at 22:13 •
So after a few months of playing around with the RFduino and Simblee, i decided to try and make a DA14580 board. At first i considered doing it all from scratch, but realised that it would be a lot easier to use a pre-certified module, so i ended up designing a board with the Murata LBCA2HNZYZ which is a tiny 7.4mm by 7mm module with built in antenna.
This board was actually made in KiCad, basically because i thought KiCad would be a nice improvement over Eagle, plus it would be s good opportunity to expand my skills. I do like KiCad and it has a lot of good features... but i still find myself going back to Eagle, and Eagle is very slowly getting better.
The KiCad PCB files can be found on Github: https://github.com/Cannonball2134/MiniWear/tree/master/BLE Microcontrollers
I was very impressed with the module and actually started developing another project with it. However, i felt it was missing something.... it wasn't super easy to understand the programming. I still wanted the module to be cheap which it was at roughly $6 for 1 (AVNET) but i still wanted something as easy to use as the Arduino programming language for prototyping.... so i have come up with an idea for Tiny Low Cost BLE V4 but this is still far away from being finished.
Here are the key DA14580 specs from the Dialog website:
- 32-bit ARM Cortex M0 microcontroller
- Radio current consumption: 4.9 mA RX / TX at 3 V at 0 dBm output power
- Under 600 nA sleep mode
- -93 dBm Rx sensitivity
- 0.9 – 3.6 V operating range
- Single-pin antenna interface
- Up to 32 GPIOs
- Supporting software upgrades Over-The-Air (OTA)
- World leading low power consumption
- Smallest form factor
- Lowest system BoM
- Runs from coin cell, single or dual cell (alkaline or NiMH)
- Best-in-class RF link budget
I made this board quite a few months ago, so if you try it, let me know if everything works ok.
I do remember it being a little annoying to solder, not as bad as BGA's but still annoying, so good luck :)
03/08/2016 at 02:06 •
I am in the process of creating V3 of my Tiny Low Cost BLE project. The previous designs have been easy to use, small, but are not low cost enough. Version 3 will hopefully be using the DA14580 chip, it will be even smaller than the Simblee, even more low power friendly, and be at least half the price. The only sacrifice is going to be easy of use, as this will not be Arduino compatible.... unless someone wants to join the project and take over the coding side of things?
This version is going to take some time, probably a few months depending on my available time, but please feel free to ask for updates to help motivate me to get a move on :)
01/15/2016 at 22:02 •
As promised, here are the Eagle Design files for new Simblee Board: GITHUB
01/15/2016 at 20:58 •
My Simblee arrived along with my MiniWear Simblee PCB.
The PCB labels need a bit of work, but other than that once i managed to hot plate solder everything, it worked!
Here is my first test of the Simblee using the Blink sketch:
I will upload the the eagle design files shortly.
12/22/2015 at 11:55 •
The RFD22301 is a great BLE Arduino microcontroller, but to make this project even better i would like to make it smaller, cheaper, lower power. Making it cheaper would be easy if i didn't want it to be Arduino compatible, so for the moment i would just like to make it smaller and lower power. This is why i have decided to make a new board with the Simblee BLE micrcontroller, which is actually made by the same company that makes the Rfduino. It is only 7mm by 10mm (compared to the 15.24mm by 15.24 mm of the RFD22301 ), and uses as low as 8mA for TX and 10mA for RX (compared to 12mA for RX and 12mA for TX )
I will initially be putting the Simblee onto a MiniWear compatible board, so the acutally PCB size won't change very much. But in theory it could be a lot smaller.
If you are interested, here are some Simblee specs copied from their website:
- Bluetooth® Smart
- Simblee interference immunity
- 3ms latency
- 10us accuracy (jitter)
- Physical range adjustable from a few inches to hundreds of feet
- Build iPhone and Android apps without Xcode or the Android SDK
- FCC, IC, CE, TELEC compliance approved
- Built in AES encryption engine
- 7mm x 10mm x 2.2mm
- 29 GPIOs (flexible pin configuration)
- <3uA ULP with clock running (run for years on a coin cell)
- 600nA ULP Sleep mode
- 8mA TX @ 0dBm
- 12mA TX @ +4dBm
- 10mA RX
- -93dBm receiver sensitivity
- -55dBm to +4dBm TX power
- ARM Cortex M0 processor
- Flash code space available for user application (no need for external controller)
- 6x ADC inputs, 4x PWM outputs, 2x SPI master/slave, 2x I2C, 1 x UART
- Temperature sensor
- Battery/Supply voltage monitoring
- Onchip UART bootloader
- OTA programming with hardware OTA disable
- Integrated 16 MHz crystal and 32KHz precision crystal
- Integrated antenna
- Integrated shield
11/26/2015 at 16:01 •
I have now uploaded the Eagle and gerber files for V5 of the RFduino based Tiny Low Cost BLE board: https://github.com/Cannonball2134/MiniWear/tree/master/BLE Microcontrollers/RFduinoBLE
11/22/2015 at 14:02 •
To give you a better understanding of how to connect this module to other boards, and how easy it can be. Here is a little video: