ST Nucleo and Mbed

Discussion in 'Coding, Scripting & Programming' started by wlanboy, Mar 15, 2014.

Tags:
  1. wlanboy

    wlanboy Content Contributer

    2,126
    1,169
    May 16, 2013
    I am always looking at new single-board products that are able to handle electronics.
    The Raspberry Pi or the Arduino are two well known examples of that kind of products.

    I recently bought a NUCLEO-F103RB development board from ST.

    st-nucleo.jpg

    You can download the user manual here.

    You can find the drivers for Windows here.

    The key feature of this board is that it is part of the mbed ecosystem.

    The board itself does contain:
    - ARM Cortex-M3 CPU at 72MHz
    - 128 KBytes Flash
    - 2x 12bit ADC 1 Msps up to 16 channels
    - Up to 7 timers
    - Up to 2x I2Cs, 3x USARTs, 2x SPIs 18 Mbit/s
    - USB 2.0 Full Speed
    - CAN 2.0B Active

    st-nucleo-layout.jpg

    To work with this board you have to:
    1. Install the ST Link driver
    https://mbed.org/teams/st/wiki/ST-Link-Driver

    2. Download and update the firmware
    https://mbed.org/teams/ST/wiki/Nucleo-Firmware

    After these steps your Nucleo board acts like a USB stick.

    The programming itself is handled through the mbed compiler:

    mbed.jpg

    The online compiler will generate a bin file that you simple have copy to the "USB stick".
    The ST Linker will upload the binary and restart the the board.
    After that you code will run in the infinite loop as any other microcontroller would do.

    If you need any additional libraries you can import them or choose one of the allready imported ones:

    mbed-libs.jpg

    The libs are well documented and they do provide examples too:

    mbed-lib-example.jpg

    The Arduino showed how important it is to have an easy and cheap tool chain.
    Most of the more advanced microcontrollers do need a quite expensive tool chain.
    You can easily spend thousand of dollars to be able to compile stuff for the target plattform.

    The Arduino linker (we want to use libs!), compiler, uploader and the IDE are free of charge and are available for Linux, OS X and Windows.

    mbed is another approach to solve the problem to get the code running on your microcontroller.
    They accomplished the goal to provide a web solution that is eleminating the hassle to have everything (libs, linker, compiler,...) installed on the local machine.

    There are some platforms that are allready supported:
    https://mbed.org/platforms/
    Even an Arduino clone:
    https://mbed.org/platforms/Seeeduino-Arch/

    The price tag in Europe is about 8€, so you have to pay around $11 for it.
    If you look at the specs it is cheaper as an Arduino but offers more functionality (32bit vs 8bit controller).

    Maybe another road to catch some people to get into electronics again.

    And worth looking at it.
     
     
    peterw, GIANT_CRAB and tchen like this.
  2. gxbfxvar

    gxbfxvar Member

    42
    24
    Nov 21, 2013
    mbed environment is quite nice. Although, I don't like to send my code to some web page, so I have been using offline SDK from https://github.com/mbedmicro/mbed and compiled all code locally on my own computer.
     
    wlanboy likes this.
  3. peterw

    peterw New Member

    800
    189
    Jun 14, 2013
    Mbed is a great platform. I bought a DipCortex M0 and it is a great product for prototyping for only £18. It has seven 10bit ADC channels and one 16bit and one 32 bit timer.