Skip to main content

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.


  • Color Pixels, a colorful LED strip, can be controlled by mobile phone.

    • Hardware

      -  [Arch BLE](
      - [Digital RGB LED Strip](
      - Android device with BLE

*  Make it run

1. Download [BLE\_Color\_Pixels\_Arch\_BLE.hex](
2. Copy the hex file to the MBED disk of your Arch BLE
3. Download [the Color Pixels Android app](

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 & Product Discussion

Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.

Loading Comments...