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

Serial UART to nRF8002 to Bluetooth 4.0 service

Hi Nordic Devs,

First, thank you for excellent documentation and sample code for use with your hardware. It's been tremendously useful already!

I'm pleased to own an nRF8002 Bluetooth LE chip, mounted on a proximity tracker (iCookie). I've soldered onto the test points, and made a breakout board for the serial UART.

Now I'd like to use the serial connection to send some data that will be transmitted as a characteristic of a Bluetooth 4.0 service.

I can see the nRF8002's broadcast services using LightBlue on my MacBook Pro. itunes.apple.com/.../id639944780

To communicate with the serial line, I have 5 options.

  1. My Raspberry Pi has 3.3V GPIO ports, including UART as an option.
  2. I have an old Toshiba laptop with a DB9 serial connector. I think that uses 5V.
  3. I have a SystemBase USB to RS422/485 adaptor. systembase.co/.../
  4. I have a CANUSB USB to serial adaptor. www.can232.com/
  5. I have a COMS USB to 485 adaptor. www.ebay.com/.../231089860247

As far as I can tell from the datasheet, the nRF8002 uses 3V levels, which means only the Raspberry Pi is safe to use. Can you confirm that?

I don't have a MAX3232 serial level converter, unfortunately, but I am looking to find one. If I get a voltage converter, would it be possible to then make the UART work with one of my serial adaptors, or the old Toshiba laptop?

nRFgo Studio only works on Windows. Do you have any suggestions for the Raspberry Pi?

I have 7 days to figure something out, but my equipment is limited to what I listed above.

I'm not trying to reverse-engineer the iCookie. The goal of this project is to make a wireless kitchen scale, which will require interfacing the weighing scale sensor-SPI-adaptor/Raspberry Pi-UART-nRF8002-Bluetooth-mobile app. The iCookie was selected by my manager as a cheap way to get access to a Bluetooth 4.0 chip.

Please let me know if there's anything you can suggest!

Peter Burkimsher

  • I'm sorry to be the bearer of bad news, but this is not possible. The UART interface of the nRF8002 is only usable for DTM testing and configuration of it, and can not be used to transfer custom data in any way. The nRF8002 is a hard-coded system-on-chip for proximity use cases, and you can not extend or change what profiles or services it supports in any way.

    I'd strongly recommend you to instead get hold of an nRF51822 kit of some kind, and develop with that. I understand that your 7 days timescale may be problematic, but there isn't really any way you can get the nRF8002 to do what you want.

  • Ole,

    Thank you for your quick reply! Even though I'm naturally a little disappointed that it's not possible with the hardware I have, I'm hoping my manager will understand. He chose the iCookie anyway, so it's not entirely my fault ;-). It wasn't a bad investment either, because it led us to your chips! I told him how excellent your documentation and technical support is, and I'm sure he'll be pleased that I got a reply within 5 minutes!

    I found the nRF51822, and was very pleased that it's already intended for weighing scales in healthcare applications! He still wanted me to build a prototype to prove my competence, and then he said he'd invest in the development board. Now you say it's impossible, I can move onto the other half (the weighing scale sensor input), and show him what I've got despite this roadblock.

    Back to the nRF8002 though - maybe it's impossible to use it as a true serial input, but could I reflash it with a different characteristic value? I was looking at the Device Name (0x2A00), Alert Level (0x2A06) and CCCD (0x2902), because they're Read/Write. It would be a nice little demo to show off, just to prove that my serial breakout actually works.

    Peter

  • You can configure the chip over the serial interface, including changing the name of it. Take a look at the configuration options in nRFgo Studio to see what you can and can't do.

    However, you can not change the configuration while it's running, and each time you want to configure it, you'll have to reset the chip, causing it to lose the connection and any bonding information. Honestly, I personally think it would be a waste of effort trying to do this, since the use of it would be so limited, and the knowledge applicability for our other chips so low...

  • Although the knowledge applicability is pretty low, it will at least introduce me to nRFgo Studio, and give me something to demo (kind of).

    It sounds like the most helpful method would be to interface it with a Windows PC, either a virtual machine on my Macbook Pro or this old Toshiba. Then I can show nRFgo Studio, which will apply to other chips too.

    Can you confirm that to use it with my USB-DB9 adaptors, I'll need a serial level converter to bring the voltage down to 3V? I'm just worried about frying the chip.

    Thanks for being so prompt, even at this hour! I guess it's a time zone thing :).

  • If you are looking at a serial interface you can also look at the nRF8001 that provides a well defined serial interface (SPI) and you can use an Arduino to control the nRF8001. See devzone.nordicsemi.com/arduino Making a weighing scale with Arduino and the nRF8001 should be easy using the nRFgo Studio for nRF8001 configuration.

Related