iOS/Android <-> (Transparent UART) Bluetooth 4.0 (or above) <-> (UART) AT32UC3A0

Go To Last Post
12 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi there, 

 

We are trying to design a board a Bluetooth 4.0 (or above) Bluetooth module which is compatible with both iOS and Android, and can be interfaced with Atmel AVR MCU via UART. 

Previously, we used RN41, which allowed us to interface with the Atmel AVR MCU via UART, and communicate with Windows, OSx and Androids over Bluetooth. This was fairly straight-forward as I didn't have to become well-versed in various Bluetooth protocols and profiles. It was simply a cable replacement. However, we weren't able to communicate with iOS because RN41 is Bluetooth 2.0. Consequently, is isn't mFI either. 

 

After failures with many Bluetooth modules, I found RN4870 (http://ww1.microchip.com/downloa...)

Datasheet suggests that I can use this module to communicate with iOS or Android (without having to re-flash the module) via Transparent UART. 

 

If this is in fact true, could you please confirm that I don't need to write an extensive API for iPhone or Android? Basically, will it simply be a cable replacement also, like RN41?

 

Thanks!

This topic has a solution.

Last Edited: Tue. Jul 17, 2018 - 09:21 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Don't Microchip have a forum for specific questions about their BT products?

 

Or raise a support request?

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Their forum doesn't have an answer to my question. 

I have already created a support ticket. But I figured I could also tap into people's expertise here...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If the device can pair to both then there is no need to write anything special. The ave talks tot he device through its usart so you only need to configure the baud rate and the BT identifier you want to appear in each device during a search

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks Jim! Pairing is dictated by the default BT mode (profile) and Bluetooth version, right? Os is there more to pairing than the aforementioned compatibility criteria?

This reply has been marked as the solution. 
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have no idea.  When I use these types of modules I set them up as per the datasheet(s) and off they go.  What does the datasheets say about the pairing for the new module you have chosen? 

 

 

Like I said, I generally set the device up and the phone/tablet finds it.  Never had too much issue with any of the Roving Networks(RN) modules, and I can get just about any of the cheap BT modules from Ebay to work as well.  In all cases I have never had any need for different configurations for Android or Apple. 

 

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Thanks Jim!! Yeah, my previous RN modules worked seamlessly. It's when we tried to use Nordic, Silicon Labs is when things just didn't work. 

I guess, I'll just give this RN4870 a shot and see how it goes. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 2

Not sure about SiLabs, but Nordic only have BLE products - not "Classic" Bluetooth.

 

There is no standard "transparent UART" profile defined for BLE.

 

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

mtandon wrote:
I'll just give this RN4870 a shot and see how it goes.
fyi, RN4871 (reduced I/O) is on a Microchip tiny1617 board though doesn't use transparent UART (it's private services for temperature, coin cell voltage, accelerometer, authentication)

https://www.microchip.com/DevelopmentTools/ProductDetails/PartNo/ATAVRBLE-IOT

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

thanks @gchapman for the heads up!

thanks @awneil for that info!!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

mtandon wrote:
It's when we tried to use Nordic, Silicon Labs is when things just didn't work.
Nordic SDK has 

Nordic Semiconductor Infocenter

UART/Serial Port Emulation over BLE
http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.0.0%2Fble_sdk_app_nus_eval.html&cp=4_0_0_4_1_2_24

IIRC, Bluetooth 5 adds mesh networking (increased range with additional modules)

https://www.mouser.com/new/laird/laird-bl654/ (Nordic Semiconductor nRF52840)

https://www.microchip.com/wwwproducts/en/BM71

Google Play :

Microchip Bluetooth Data

...

3. BM70 /BM78 /BM64  :
Discover and connect LE device. Transfer text typed in the app to peripheral device. Transfer text file data, send and receive across the device and phone

...

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

gchapman wrote:
Nordic SDK has 

Nordic Semiconductor Infocenter

UART/Serial Port Emulation over BLE
http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.0.0%2Fble_sdk_app_nus_eval.html&cp=4_0_0_4_1_2_24

But that's not a Standard BLE Service - it's a Nordic proprietary thing.

 

So it's not going to "just work" on any Android/iOS/whatever device - which was the OP's specific requirement.

 

It is going to require some messing about with "APIs" - it is going to require specific app development on each platform.

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
Last Edited: Wed. Jul 18, 2018 - 06:18 AM