Author Topic: RFDuino alternatives  (Read 22853 times)

andyroki

  • RFduino Newbie
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Re: RFDuino alternatives
« Reply #15 on: July 23, 2014, 07:39:58 AM »
Hello, I have been searching the web how to use NRD51822 chip and have ran into this thread.
I am electrical and software engineer but this is new to me.

I have been looking into programming NRD51822 and have ordered this kit

http://www.ebay.com/itm/NRF51822-Module-BLE4-0-Module-With-OLED-Screen-Development-Board-Kit-/301182420397?pt=LH_DefaultDomain_0&hash=item461fdf05ad


I am not sure how to get started on this.
How do I hook it up to the PC.
What software tools do I use to program this thing.

mtnscott

  • RFduino Jr. Member
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
Re: RFDuino alternatives
« Reply #16 on: July 23, 2014, 07:54:20 AM »
Hi Andyroki,
Depending on how much you understand about embedded development tools and Segger JLink you may be better off starting with the RFduino module and the Arduino IDE.

What you have purchased will require tools such as Keil uVision, Segger JLink, in order to program the device.  You will not be able to get any Blue Tooth working without a Nordic SDK license.  That is only available when you purchase nRF51822-EK or nRF51822-DK.  The DK kit comes with JLink-Lite, two nRFgo boards (which require a more expensive development kit to use) and one USB nrf51822 dongle (which you can use out of the box).  The EK comes with the same USB dongle, an nRF51822 board with the I/O pins made available and an onboard SEGGER chip for debugging.  It does not come with JLink-Lite.

The kit you have ordered looks like it has a SEGGER JLink tool and a board that has the I/O pins made available.

Working with the native Nordic code base is not as easy as using Arduino and the RFduino libraries.  It all depends on your pain threshold.

You will probably need the Nordic SDK in order to use Keil.  CrossStudio also has an IDE that will let you get started with coding the Coretex M-0 they offer a 30 day eval.  However you will not be able to do any Bluetooth without the Nordic SDK and that is only available after you have purchased one of their evaluation or development kits.
 

andyroki

  • RFduino Newbie
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Re: RFDuino alternatives
« Reply #17 on: July 23, 2014, 08:17:16 AM »
Thanks mtnscott for information. Seems I like I should buy one of the kits from Nordic.  This is a project that I am playing around as a hobby so I like to keep the cost down.

I already have kit from Ebay that has J-link. If I understand this correctly I should buy nRF51822-EK and that will have additional software/hardware I need  to program this kit or do I need to purchase some other software.

I have been programming(not embedded) for a long time so once I have all the software and hardware connected writing software should not be a problem.

Thank you.

mtnscott

  • RFduino Jr. Member
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
Re: RFDuino alternatives
« Reply #18 on: July 23, 2014, 09:42:22 AM »
Since you already have a JLink on order from eBay I would suggest you order the EK kit - http://www.mouser.com/ProductDetail/Nordic-Semiconductor/nRF51822-EK/?qs=sGAEpiMZZMvQuebtxbmqHcwahSg6lJax

There is a less expensive alternative that uses mBED, however I don't know much about mBED so I can help there.

I ordered the DK first because I wanted the JLink, and was surprised I could not use the two included modules w/o a more expensive kit.  So now I have both the DK and EK.  I also ordered the system from eBay (one w/o segger) before I ordered the EK.  I ordered the EK because I did not want to fight any compatibility issues with trying to use the Nordic examples.

You are good with the EK.  It will give you access to the Nordic SDK and then you can use Keil, Eclipse, or what ever you like.

FYI - I tried Eclipse, then Keil, and finally settled with CrossStudio.  Their support has been great and I was able to get up and running in a few days.  I spent weeks with Eclipse and Keil - well - I just don't like the interface and the fact that is only runs on Windows.

Best of luck!

andyroki

  • RFduino Newbie
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Re: RFDuino alternatives
« Reply #19 on: July 23, 2014, 10:19:34 AM »
OK I will order EK and see how it goes.
This is very confusing between tools, hardware, connection, licenses,  SDKs, etc.

Thanks
Andy r.

mtnscott

  • RFduino Jr. Member
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
Re: RFDuino alternatives
« Reply #20 on: July 23, 2014, 01:15:03 PM »
Andyroki - Yes, it is.  So I will try and post a comprehensive summary.

nRF51822 is Nordic's SOC that has Bluetooth Low Energy (aka Bluetooth Smart) and the RFduino modules are based on this chip. 

Background -
Nordic designed the system such that the Bluetooth protocol stack is supported by what they call a 'SoftDevice'.  Nordic has engineered the system such that the  'SoftDevice' and the application are flashed in separate locations on the device.  They have a feature that will 'lock' the SoftDevice into flash so you can reprogram the application over and over again without erasing the SoftDevice.

Typical development of applications on the nRF51822 require a license from Nordic in order to use their SoftDevice bluetooth protocol stack and gain access to their SDK.  This license is included when you purchase a evaluation or development kit from them.  Nordic currently provides S110, S120, and S130 soft devices.  Each supports different levels of BlueTooth Protocols.  For example S110 supports Peripheral role, S120 supports Central role and S130 supports concurrent Central, Observer, Peripheral and Broadcaster roles.

You will need a development environment to compile your applications - gcc, Eclipse, Keil, CrossStudio are just a few.

Keil uVision provides a free version for applications under 32K in size.  After that you need to purchase a license for their tools.  Currently they are only available on Windows.  I found their interface outdated and some of the functionality not intuitive.  While Nordic includes project files for their examples I found it difficult to create a project file on my own.

Eclipse is free and you can get a toolchain helper install at  http://sourceforge.net/projects/nrf51osx/ or you can setup your environment using Nordic application note nAN-29.  I tried the application note but found nrf51osx much easier (Thanks Roland!).  In the end I found Eclipse difficult and troublesome.  I'm sure with enough time I could have gotten it to work.
 
CrossStudio is not free, it is much less expensive than Keil (for applications above 32K) and more updated.  It is also available on Windows and Macintosh platforms.  It is easier to setup than Eclipse but like Eclipse you have to build the project files yourself.

You can program the RFduino modules using the above tools if you need more than what RFduino offers wrt Bluetooth.  There is a note in this forum on how to connect JLink to the RFduino.

If you can live with the limitations of the RFduino (more about that later) then you can use the free Arduino IDE to program the device.  It does not offer any debugging as you just flash and it runs.  But for many it may be the easiest solution - and definitely the least expensive.

About RFduino - RFdigital built a custom boot loader and provide access to Nordic's S110 Bluetooth stack via a few API's they developed that make calls into Nordic's SoftDevice.  If you look at their reference document you can see their custom implementation for access to Nordic's SoftDevice stack.  For example you can turn the stack on, off, set the advertisement, advertisement intervals, transmit power, send data, receive data, and some other items related to another protocol stack called gazelle, and iBeacons. They are adding support for new features all the time and their support is pretty good.  You can use the Arduino IDE to program the device and seems to work well.  You don't need to know much about Bluetooth to get an application up and running using it.

The nice thing is that the SoftDevice comes free with the purchase of an RFduino module.  The Arduino IDE is free so it's a fair deal - less than the cost of a Nordic DK or EK + IDE tools.

Limitations of the RFduino platform -
There are limitations using RFduino's implementation.  For example you are limited to the S110 stack - Bluetooth Peripheral stack only.  Also you can't change the services or characteristics so you are stuck with their implementation.  The service ID is hard coded so if you have multiple RFduino's providing different capabilities  or you want to implement battery service you will have to overload their one service for reading and writing.  Bluetooth uses profiles for different devices to help define what is where - http://en.wikipedia.org/wiki/List_of_Bluetooth_profiles#List_of_profiles.

I hope this helps.

andyroki

  • RFduino Newbie
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Re: RFDuino alternatives
« Reply #21 on: July 23, 2014, 01:51:27 PM »
Thank you for that great write up.
Funny this thread is about "RFDuino alternatives" But from you describe RFDuino might be the simplest way if willing to sacrifice some flexibility.
I am looking to make simple temperature monitor so I can display temperature on my phone, RFduino seems to be capable of that.

If I understand this correctly I can get RFD90101 RFduino 2pc Dev Kit  and download free Arduino IDE and be able to program the device that is about $40.00. All I like to do is read temperature and display it on Android phone for now, please correct me if I am wrong.

So my strategy for now would be get RFD90101 and work with it, get familiar with Bluetooth technology and tools. If I need something more complicated move to Nordic.





mtnscott

  • RFduino Jr. Member
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
Re: RFDuino alternatives
« Reply #22 on: July 23, 2014, 03:23:46 PM »
you got it!

The folks at RFduino also supply an example that does just that!  Follow the RFduino installation instructions (http://www.rfduino.com/download-rfduino-library/) - there is a sequence to installing RFduino support into the Arduino IDE.  Its not hard, just need to follow the sequence.  You will know if you have done it correctly when you can select RFduino under Tools->Board.
Then open the example File->Examples->RFduinoBLE->Temperature, build and flash and you are good to go.  I've written the IOS apps to read the temp, not sure what is available under Android.

Good Luck!  Glad I could help.
« Last Edit: July 23, 2014, 03:30:10 PM by mtnscott »

ardiri_evo

  • RFduino Newbie
  • *
  • Posts: 2
  • Karma: +0/-0
    • View Profile
Re: RFDuino alternatives
« Reply #23 on: July 29, 2014, 07:04:40 AM »
Hi, due to the lack of support by now for RFDuino of the RFDuino stuff and no news on new features, I was asking if there is a good alternative to RFDuino but with the same features:

1) built-in low power battery options with power level reporting and long life;
2) built-in connectivity and easy connection to existing devices (PC, Phones); BLE4 would be a plus but not a necessity by now;
3) soldering none or limited;
4) Arduino compatibility;
5) Small size;

I already know about JeeNode, Moteino, Microduino, but I think they do not have all these features packed in.

http://redbearlab.com/blendmicro/

RedBearLabs offers a nice device, I have been using it for a few weeks now. I hope that the support in the forums here gets a little better, from the past it seems there has been a lot complaints about failure to respond, open source issues - the device is nice due to its size, but the documentation has a lot more to be desired for.

// Aaron Ardiri
Chief Technology Officer
Evothings AB (Stockholm, Sweden)
http://www.evothings.com/

hotpaw2

  • RFduino Newbie
  • *
  • Posts: 3
  • Karma: +0/-0
    • View Profile
Re: RFDuino alternatives
« Reply #24 on: December 25, 2014, 05:31:54 PM »
http://redbearlab.com/blendmicro/

RedBearLabs offers a nice device, I have been using it for a few weeks now.
...
// Aaron Ardiri

How does the RedBearLab Blend Micro compare with the LightBlue Bean?

https://punchthrough.com/bean/

The Bean is an Arduino (ATmega 328p) combined with a BLE module (LBM313) on a small PCB, and in about the same price range.  It includes an on-board accelerometer, LED, coin cell battery holder, and allows downloading Arduino sketches over BLE from an iPhone, iPad or recent Mac.

There's also the MbientLab MetaWear board: https://www.mbientlab.com/product/ which is based on the same Nordic nRF51822 ARM M0 as the RFDuino, but includes an on-board LED, button, accelerometer, and Li-Ion battery charger.  But the MetaWear board currently doesn't seem to support any easy end-user programmability, AFAIK.

hotpaw2

  • RFduino Newbie
  • *
  • Posts: 3
  • Karma: +0/-0
    • View Profile
Re: RFDuino alternatives
« Reply #25 on: March 22, 2015, 10:51:59 AM »
The TI CC2650STK looks like an interesting new BTLE module.  The chip includes an both an ARM Cortex-M3 plus an M0, thus hiding the RF stack from the application code.  The demo board includes a coin cell battery holder and bunch of sensors: accelerometer, gyro, magnetometer, IR temperature, light, pressure, microphone, and 2 buttons.  The SensorTag 2 is already shipping (I got one last week), and TI claims a dev kit for it will be out sometime in April.  No breadboarding contacts, but still would become really interesting if someone ported an Arduino run-time to it, and/or built an RFduino-like module with the 2650 chip.

iwalker

  • RFduino Newbie
  • *
  • Posts: 7
  • Karma: +1/-0
    • View Profile
Re: RFDuino alternatives
« Reply #26 on: March 23, 2015, 03:40:07 AM »
Surprised that there have been no official announcements on the forum.
The RFDuino team are working on a new product called the SIMBLEE - https://www.simblee.com/.
Not sure which chip this is based on - custom silicon maybe?
The part that I find very interesting is that You can "build" the user interface from the device side rather than using XCode or android SDK.
Maybe an RFDuino team member can elaborate on this?

edorphy

  • RFduino Full Member
  • ***
  • Posts: 86
  • Karma: +0/-0
    • View Profile
Re: RFDuino alternatives
« Reply #27 on: April 17, 2015, 12:11:09 PM »
My suspicion is that there will be a Web API. There is no way for iPhone to create a view by loading some file unless it is a web view, it has to be programmed. Perhaps there is a base view that changes to a couple of predefined values when a characteristic is read from the device.

Without at least one installed application there would be no way for your iPhone to connect and communicate with the Simblee, I feel the advertisement is VERY misleading. Maybe the consumer of Simblee (like the developers here) don't need to create an app because they are already going to do that.

Trying to get some info from their customer support.

ichbinsnur

  • RFduino Jr. Member
  • **
  • Posts: 58
  • Karma: +0/-0
    • View Profile
Re: RFDuino alternatives
« Reply #28 on: July 04, 2015, 02:03:31 AM »
The part that I find very interesting is that You can "build" the user interface from the device side rather than using XCode or android SDK.
Maybe an RFDuino team member can elaborate on this?

I would be interested in that information too.
I can't really believe that the flash on that "baby" is able to carry whole Web user interfaces and send them to the phone on the fly.
At least, not as fast as shown in the video.
I assume there will be a prebuilt mobile app with kind of "reusable" UI blocks to use by the device.

Can someone of the RFduino Staff please clarify this?

bsiever

  • RFduino Full Member
  • ***
  • Posts: 89
  • Karma: +4/-0
    • View Profile
Re: RFDuino alternatives
« Reply #29 on: July 05, 2015, 07:52:03 AM »
I assume there will be a prebuilt mobile app with kind of "reusable" UI blocks to use by the device.

The v0.1 Simblee data sheet seems to corroborate this  (https://www.simblee.com/Simblee%20RFD77101%20Preliminary%20Datasheet%20v0.1.pdf).  It says
Quote
Using the Simblee mobile browser on a phone or tablet, anyone can interact with Simblee enabled devices instantly without needing to download additional apps for each device.

In just hours you can create functional IoT applications using the Simblee development environment.


(Second page, Section 1.1)

This just indicates that Simblee uses a single app for interaction. It may achieve the custom UI via web views, as edorphy mentioned. (The User Interface could be specified using JavaScript, HTML, or some other form that is translated to JavaScript/HTML).
« Last Edit: July 05, 2015, 08:06:02 AM by bsiever »