7 years, 6 months ago.

Please some guidance: I have no idea how to start with mbed

Hello everyone, I am new at this embedded electronics world. I am working hard to learn fast, specially with things related to the Internet of Things. Here is what've done so far, particularly with Bluetooth low energy:

A) I have built my own bluetooth 4 PCBs using Bluegiga's BLE112 modules and have been able to program the Bluegiga's modules with their BGscript b) I have built my own bluetooth 4 PCBs using Nordic nRF51822 from LairdTech's BL600 and have learned their SmartBasic language.

I am comfortable with basic PCB design (eaglecad stuff) and then coding the above modules and playing with Bluetooth low energy stuff.

Unfortunately both BL600 and BLE112 are quite expensive (+ - $16 bucks or so...) So now I want to move towards using cheaper nRF51822 modules that are more barebones such as this one I found for 5 dollars in China: http://see.sl088.com/w/images/a/aa/PTR5518_eng_V1.1.pdf

Anyway, now that I believe I have the nRF51822 module down, I am looking for good/affordable development environment, and when I come across embed.org I thought I had found everything I need (compiler, community, widely accepted C/C++ ) - But I run into an issue: I simply don't understand how to use mbed.org solutions. I've watched the videos, read all pages over and over, but I still have the following questions:

a) Can I use the compiler and available libraries for any ARM based hardware out there, or only the boards mbed offers?

b) The following link ( http://mbed.org/questions/2718/Using-mbed-compiled-bin-without-mbed-har/ ) confirms that a person can use different Nordic nRF51822 modules with the mbed compiler, because that's how they did it according to the post... but when I tried it, the compiler asks me to add an specific mbed.org hardware platform, and I don't know how I can add a different one, except the one that is coming out in April (http://mbed.org/platforms/Nordic-nRF51822/).

c) Is there a page that can easily explain how to upload code to a board?... The site is not very straight forward in that regard... unless it has to do with mbed platforms only....

I do have the Segger JTAG board – ‘jlink lite’ if that is required to upload code to the boards.

Apologies for rumbling too much here.... I basically would love to start using the mbed development environment with my custom nRF51822 boards, but I have no idea how to start....

I just want to write C code and upload it to my ARM based nRF51822 custom board... is that possible? Any direction is welcomed!

I'd appreciate some guidance and I thank you in advance for the patience.

Regards, Flavio flavio@ortolanos.com

2 Answers

7 years, 6 months ago.

A. Only the ones listed, and all others with the same microcontrollers on them. So you cannot compile for any random board. But there are for example many LPC1768 boards on ebay, you can use your compiled code for one on all of them. (Of course within reason, if an LED is at another pin, you also will have to change the pin number).

B. Related to the first question, there is in principle only the Nordic development board, however the generated code isn't specific to that board, only specific to that IC. So you can use it on every board with the same IC. (Again, there might be things different, such as pin numbers of LEDs). So compiling for that one should work fine. (Only risk is maybe different crystal setup, but not sure if that is the case).

C. For all mbed platforms it is simply drag and drop programming. The problem is that there isn't a single method for different microcontrollers to upload code; that is vendor and also platform dependent. I am sure for the NRF there is somewhere a general tutorial on how to program it, but maybe someone else here can answer that one.

7 years, 6 months ago.

Dear Flavio

this should be better titled BLE and mbed , from prototype to production !

Bluegiga modules are based on TI cc2540/1 technology ( 8 bit 8051 core + RF ) , which was perhaps the first player in BLE but needs some expensive IAR compiler ...

Laird ( as the cheap chinese ones you mention ) modules are based on Nordic nRF51822 technology . ( ARM cortex M0 + RF ) There are a lot of nrF51822 module partners as can been seen here .... http://www.nordicsemi.com/eng/Products/3rd-Party-Bluetooth-low-energy-Modules

Also , it seems that Nordic has opensourced its stack http://devzone.nordicsemi.com/documentation/nrf51/5.1.0/html/index.html

I am not a BLE expert but I believe that since you have allready compiled binaries for the Laird module , I dont see why cant you put the same binary on the XungTong modules you mention , That should be 99 or 100 % the same HW logic with Laird . ( I dont know if you can get the final binary in a bin or hex file after the script , since I dont own a Laird Development Kit )

The BLE module price depends perhaps on manufacturer support , qualifications and quantity , thats why you can find modules from 10 to 20 euros . Nordic chips (no module ) in thousand pieces are 2.5 euros I think

As per mbed , the mbed compiler allready produces nRF51822 native binaries , but I believe there may be some debugging period and thats why not everyone can make mbed nRF51822 code yet . Also , there are only 3 examples on mbed BLE , you may have to wait for more examples to be published and tested

Regards , Christos