I'd like to dip my toe into the Bluetooth pool by making a clock that is settable via BLE. I know it's overkill, but I'd like to keep the application as simple as possible so I can focus on the BLE elements. There are lots of BLE modules out there, so I thought I'd see if anyone here has a favorite, or at least one they recommend for starting with. Not being an IOS or Android developer, I'd also like it to have some sort of app-building tool that goes along with it. Thanks for any tips.
Seeking easiest way to add Bluetooth to an embedded design
You could use something like a Microchip RN4020 module.
Some of the bluetooth modules have a processor themselves with I/O, ADC, pwm, etc ready for programming....no need for an AVR.
https://www.mouser.com/new/cypress-semiconductor/cypress-ble/
Having used the Nordic nrf5x devices, i can recommend these. Supported by Arduino. I wrote an iPhone app as well. The bluetooth part was the easiest part of the project - it just worked.
I like the USART to BT module HC-06.
If you want to use iOS, I believe you need to use a BLE compatible module, since Apple did some funny licensing dance that prevents easy use of non-BLE (I may be wrong).
here is a good links on some of the HC-xx modules
http://www.martyncurrey.com/bluetooth-modules/
from: https://stackoverflow.com/questions/51591133/classic-bluetooth-implementation-ios
big $$$$$
someone always has a workaround: https://rhammondiii.wixsite.com/engineering/single-post/2017/03/31/Qt-Bluetooth-Classic-iOS
I like the USART to BT module HC-06.
I strongly not recommend Microchip's RN4870 and RN4871.
- Very low range. RN4871 has TX power of 0dBm and antenna gain of 0,1dBi.
- A lot of bugs in firmware. Module may spontaneously erase it's config memory with MAC address so it becomes 000000000000.
- UART in the module sometimes hang up and it can't send data to host CPU, but it can still receive commands
- Interface protocol to host CPU is very primitive. Module can send a lot of data such as command response, status flags, bluetooth received data but it's hard to find out what exactly the module is transmuting at the moment and when it finishes a transmission packet. There's no any 'end of transmission' character or packet length
- Very weak support at Microchip's Forum. People ask questions and nobody replies.
Module may spontaneously erase it's config memory with MAC address so it becomes 000000000000.
RN487x Firmware v1.30 Release Notes_030118.pdf
...
...
The CPN with that firmware are listed in :
BM70/BM71/RN4870/RN4871 Bluetooth® Low Energy Module Errata
(page 3)
1. Invalid Bluetooth Address
...
Its UART is 10Kbps max (competitors are approximately an order of magnitude greater)
I strongly not recommend Microchip's RN4870 and RN4871.
- Very low range. RN4871 has TX power of 0dBm and antenna gain of 0,1dBi.
- A lot of bugs in firmware. Module may spontaneously erase it's config memory with MAC address so it becomes 000000000000.
- UART in the module sometimes hang up and it can't send data to host CPU, but it can still receive commands
- Interface protocol to host CPU is very primitive. Module can send a lot of data such as command response, status flags, bluetooth received data but it's hard to find out what exactly the module is transmuting at the moment and when it finishes a transmission packet. There's no any 'end of transmission' character or packet length
- Very weak support at Microchip's Forum. People ask questions and nobody replies.
Oh. I missed the "not" in the first line and was thinking, "What's with this guy?"
I have read that the HC-05 (eBay here: https://www.ebay.com/itm/Bluetoo... ) is the best way to learn about BlueTooth using Arduino AVR. Apparently, it is easy to make the pair of HC-05 devices form a wireless COM port link between an Arduino and a PC or between two Arduinos.
HC-06 is not a BLE compatible device.
WHAAAT? Are we supposed to read the post and not just the title now?.....
- UART in the module sometimes hang up and it can't send data to host CPU, but it can still receive commands
http://www.martyncurrey.com/arduino-with-rn48701/#comment-14309
...
I bonded (2) Microchip RN4870 BLE FW V1.3 modules, but found that they can disconnect on their own (even the Microchip Eng told me to code into the Features to “reboot” upon disconnect, which I think confirms that they have this bug).
...
http://www.martyncurrey.com/arduino-with-rn48701/#comment-14321
...
I’ve had good results using the HM-11.
...
Huamao technology Co,. Ltd. | Bluetooth
via http://www.martyncurrey.com/hm-10-bluetooth-4ble-modules/#HM-10-downloads
HC-06 is not a BLE compatible device.
WHAAAT? Are we supposed to read the post and not just the title now?.....
Dang. That's going to screw me up pretty good. (Whenge mode on.)
There is a ble serial bridge module, HM10 or something.
But I'd add another vote for the nRF8x Nordic chips. BLE and plenty of ARM Cortex M to spare.
Haven't used it under Arduino myself, but that's probably much easier than using GCC under Eclipse, which I've ended up doing.
... HM10 or something.
Huamao technology Co,. Ltd. | Bluetooth
...
☆ Type: HM-10S-A
...☆ Type: HM-10S-B
...☆ Type: HM-10C-A
...☆ Type: HM-10C-B
...
with or without 32KHz crystal, with or without lower castellations
But I'd add another vote for the nRF8x Nordic chips.
nRF91 is on cellular :
Low power cellular IoT - nordicsemi.com
Sorry, typo.