Wednesday, May 21, 2014

BLE and other new devices

I got on a kick a while back to use the RFDuino.  The size was appealing and I imagined it could do some things it can't.  For BLE devices, there are two roles, Central and Peripheral.  Watches are peripherals, as is the RFDuino, an iPhone is a Central.   So, after much head scratching, I've realized I can't connect an RFDuino directly to a watch.  Kind of a show stopper.  Other issues with the RFDuino, which may or may not be imagined:
1.  If you use the one and only serial port for something, you can't use the USB for debugging output.  Typical problem with single Uart microcontrollers, but this is why I like the Teensy and Mega ADK.  It's hard hacking when you're running into constraints.  In this case, you run out of options for debug output, and are down to blinking led's.
2.  The programmer is cumbersome, and you need to unplug the board from the circuit to re-program.
3.  When you google this product, mostly what you get are items related to the kickstarter.  Lots of people bought these, then went back to their caves and vanished.  There are few write ups on actual projects out there.

Another strange bird.  Will make you appreciate what the Arduino empire does well.  Constant "service" calls required to keep Serial output open, otherwise "stuff" just shuts down.  Want a simple delay statement, forget it, you'll lose your serial out.  Also, I've noticed that uploading new code, doesn't always happen, although it says it did.  The compiler for this thing is slow.  And then there's the lack of memory.  But, we're all using this for a very good reason, so deal with it...


  1. Wixel's USB serial requires service calls, or regular serial too ? Arduion don't even have USB serial.
    RedBearLab BLE mini (you have?) supports central role (at least they say on page). It is chip from TI CC25xx too. Can use the same compiler. Should talk to each other. Have both but haven't connected those yet. No BLE device yet.

    1. Just an idea to use 2nd uart on wixel as debug sink.

    2. BLE mini requires IAR compiler which is $$$. :(

    3. I finally started using the Wixel for debug, per your suggestion. I'm going to need to multiplex the rfduino serial port, since I'm going to call a regular bluetooth dongle, so the watch can work without the phone.

    4. Regular BT dongle with HCI interface? May be this could help but requires different micro controller and central role is yet to be finished.
      I would consider CC2540DK-MINI which has CC on board debugger with IAR.

    5. BLE112 has a BGapi (binary protocol). C BGlib which implements BGapi protocol. It supports central role and is IAR independent :) Requires CC debugger to program.

  2. Can evaluate for 30 days, will prob give it a try. Not looking forward to porting the watch code to the wixel.

  3. Check out the microduino. Recently gone on sale after kickstarter, they are the size of a quarter, and they have several very interesting option boards, such as GSM/GPRS, radio, bluetooth etc. You could make something the size of a pack of tic-tacs that could read the data, and upload to the cloud.