Arch BLE

Arch BLE is an mbed enabled development board based on Nordic nRF51822. With Arduino form factor and Grove connectors, it is extremely easy to create a Bluetooth Low Energy(BLE) device.

The nRF51822 is a powerful multi-protocol single chip solution for ULP wireless applications. It incorporates Nordic’s latest best-in-class performance radio transceiver, an ARM Cortex M0 MCU and 256kB flash + 16kB RAM memory. The nRF51822 supports Bluetooth® low energy and 2.4 GHz protocol stacks.


  • mbed enabled
    • Online IDE
    • Easy to use C/C++ SDK
    • Handy libraries
  • CMSIS DAP based on LPC11U35
    • Drag-n-drop programming
    • Debug using CMSIS DAP standard
    • USB virtual serial for communication
  • Arduino form factor with Grove connectors
  • Nordic nRF51822 Multi-protocol Bluetooth® 4.0 low energy/2.4GHz RF SoC
    • ARM Cortex M0 processor
    • 256kB flash/16kB RAM
    • Configurable I/O mapping for digital I/O
  • USB Micro B connector

Hardware Overview

Get Started

  1. Click this link to login or signup to mbed
  2. Import the mbed_blinky program
  3. Click the Compile icon of the top toolbar to compile the program, then download the compiled hex file.
  4. Drag-n-drop the downloaded hex file into the MBED disk

You can open main.cpp to change the program. For example, use the following code to blink the LED every 0.1s

    #include "mbed.h"

    DigitalOut led(p30);           // on-board led is connected to p30

    int main()
        while (true) {
            led = !led;


If you are get a compiling error that 'device.h' is not found, try to update the mbed library to the latest revision in your program.


If you want to change the program, click this link to import the Color Pixels program to mbed online IDE.

If the BLE device is disconnecting frequently, we can improve the stability by changing the BLE parameters - Advertising Duration (in main.cpp), Min Interval and Max Interval (in nRF51822/projectconfig.h)

#define CFG_GAP_CONNECTION_MIN_INTERVAL_MS           20                     /**< Minimum acceptable connection interval */
#define CFG_GAP_CONNECTION_MAX_INTERVAL_MS          200                     /**< Maximum acceptable connection interval */

Update or Restore Firmware

The latest firmware version for the Arch BLE is v0221 built on March 02 2015. To check your firmware version and built date, open the MBED.HTM file of your MBED disk in a text editor.

Change log:

  • 2014-06-26: First version
  • 2014-08-25: Support to drag-n-drop hex file generated by gcc toolchain and without softdevice
  • 2014-10-08: Use USB EJECT INSET instead of reconnecting USB, increase intel hex data line buffer (from 64 bytes to 128 bytes)
  • 2015-02-03: Fix Mac OS X 10.10 Yosemite read only file system bug

Known issues:

  • Issues when directly downloading the hex file into the MBED disk with the Chrome browser. The reason is Chrome creates a temporary file while downloading. If you are using Chrome, please save the hex file to a different location and then copy it to the MBED disk.


To flash a new firmware:

  • Hold the Arch BLE's button and power it ON.
  • A CRP DISABLD disk will pop up.
    • On Windows, replace firmware.bin with the above firmware.
    • On Linux/Mac, use command: dd if={new_firmware.bin} of={firmware.bin} conv=notrunc

Schematic Online Viewer


Tech Support

Please submit any technical issue into our forum.