nRF51-VBLUno51¶
Overview¶
Zephyr uses the nrf51_vbluno51 board configuration to run on the VBLUno51 board, a VNG Bluetooth Low Energy UNO using an nRF51822 ARM processor.

nrf51_vbluno51 Top

nrf51_vbluno51 Bottom
More information about the board can be found at the VBLUno51 wiki page [1].
Hardware¶
VBLUno51 board has two external oscillators. The frequency of the slow clock is 32.768 kHz. The frequency of the main clock is 16 MHz.
Supported Features¶
- CPU:
- Nordic nRF51822: ARM® Cortex™ M0 32bit.
- Bluetooth Low Energy interface.
- 256KB Flash, 32KB Ram.
- UART(1), I2C(2), SPI(1), PWM(3), SWD, Timer 16bit(3).
- 21 digital channels, 6 ADC 10bit channels.
- 1 Led and 1 Button onboard.
- GPIO Voltage: 0 - 3.3V.
- DAPLink (CMSIS-DAP) interface for program and debug:
- USB MSD: Drag and Drop programming flash memory.
- USB HID (DAP): CMSIS-DAP compliant debug channel.
- USB CDC: Virtual COM port for log, trace and terminal emulation.
- Supports hardware flow control features (RTS/CTS).
- Energy monitoring for BLE module by current measurement (Only VBLUno51_EM)
- FOTA (Firmware over the air): Upgrade firmware over BLE interface.
- Build good applications with:
- Compiler and IDE: GCC, Keil MDK, IAR, Eclipse, Qt Creator.
- Frameworks: Arduino, ARM mbed-OS, Zephyr-OS, Nordic SDK, RIOT-OS, MyNewt-OS, ChibiOS, NuttX RTOS
- A lot of tutorials for Arduino, mbed-os and more.
- Pinout: Arduino Uno Rev3 compliant.
- Power:
- USB port.
- Power adapter: +9 -> +12V.
- 3V Battery: CR20xx holder
- Rechargeable battery jump: +3.7 -> +12V
- Open source: Hardware design, firmware, packages, tutorial and example codes
See VBLUno51 wiki page [1] for full documents and tutorials about the VBLUno51 board.
Programming and Debugging¶
Applications for the nrf51_vbluno51
board configuration can be
built and flashed in the usual way (see Build an Application
and Run an Application for more details).
Flashing¶
The VBLUno51 board has on-board DAPLink (CMSIS-DAP) interface for flashing and debugging. You do not need any other programming device. You only need to install pyOCD tool (https://pypi.python.org/pypi/pyOCD)
This tutorial uses the blinky application Blinky Application.
See the Getting Started Guide for general information on setting up your development environment. Then build and flash the application in the usual way.
# On Linux/macOS
cd $ZEPHYR_BASE/samples/basic/blinky
mkdir build && cd build
# On Windows
cd %ZEPHYR_BASE%\samples\basic\blinky
mkdir build & cd build
# Use cmake to configure a Ninja-based build system:
cmake -GNinja -DBOARD=nrf51_vbluno51 ..
# Now run ninja on the generated build system:
ninja
ninja flash
Debugging¶
You can debug an application in the usual way. Here is an example for the Blinky Application application.
# On Linux/macOS
cd $ZEPHYR_BASE/samples/basic/blinky
# If you already made a build directory (build) and ran cmake, just 'cd build' instead.
mkdir build && cd build
# On Windows
cd %ZEPHYR_BASE%\samples\basic\blinky
# If you already made a build directory (build) and ran cmake, just 'cd build' instead.
mkdir build & cd build
# Use cmake to configure a Ninja-based build system:
cmake -GNinja -DBOARD=nrf51_vbluno51 ..
# Now run ninja on the generated build system:
ninja debug
Testing the VBLUno51 with Zephyr: buttons, LEDs, UART, BLE¶
Here are some sample applications that you can use to test different components on the VBLUno51 board: