This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Need to add small (under 12x10mm) BLE module to handheld device to be able to periodically download data from the device to smartphone, handheld device can provide its data via I2C pins.

Hello, we have a handheld device with Microchip (ex. Atmega) Microcontroller that essentially monitors and records different environmental conditions and stores them them into memory.  In the nutshell it is just a temperature log device. We want to add functionality to be able to download its stored data via BLE to smartphone phone or tablet.  Data size is not large, about 1kByte per session.

We reserved PCB space for BLE module, space is about 10x15mm and also reserved 3.3V power and I2C pins to be able to communicate with BLE device.

Can you please suggest the best solution for this problem, what module to buy, and what is the best(easiest) tool to write program for it so that our handheld device can push data to it via I2C protocol and then the BLE device will further sent that data to smartphone or perhaps another BLE enabled device.

  • There are quite a few ready-built modules which come pre-certified. You could build your own right onto the board but the certification is worth it especially if you're not BLE experts. 

    I like Rigado myself https://www.rigado.com/products/modules-page-2-0/, they make solid small modules which just work. There's plenty of pins broken out so I2C is trivial. For your kind of usage the 52832 or 52810 modules sound like they'd be fine. 

    For development the best thing, in my opinion, would be to purchase a Nordic nRF52 development board, they're very inexpensive, then download the SDK and find an example which is close to what you want. They have I2C drivers, obviously they have loads of bluetooth examples. 

    There's no free lunch here, if you want to do this you'll have to learn the SDK, define your protocol and work out how to pick up the data on the phone side and write that too. But if you get a module like the Rigado and the devkit, all you have to worry about is writing the code. 

  • There are quite a few ready-built modules which come pre-certified

    In fact, there is a huge number!

    Nordic have a list of the ones they know about - undoubtedly, there are more:

    https://www.nordicsemi.com/eng/Products/3rd-Party-Bluetooth-low-energy-Modules

    Note that some modules come ready-loaded with firmware to handle the BLE comms, and provide some API (eg, AT Commands) for control by an external Host.

    For development the best thing, in my opinion, would be to purchase a Nordic nRF52 development board

    If you're going to develop your own firmware, that is certainly the way to go.

  • So you have an existing product, and you're adding BLE to it - yes?

    IF you were starting from scratch, there would probably be no point in having the separate microcontroller - the Nordic chips can certainly do anything that an ATMega could ...

  • Thank you, I am looking into it now, there are indeed few units that will fit right in, I think the most challenging part in anything is not to actually start learning SDK but rather getting all pieces of the puzzle together about how to get started. Thank you again.

  • Correct, we have existing project that is already in production and BLE is a bonus that can be added since we had reserved I2C and power pins to be able to add any peripherals in future and this is one of those cases.

    I do understand now that BLE modules are essentially a powerful microcontrollers with RF functionality by BLE protocol. So with next projects I will enforce to build product around BLE module from start.

Related