blob: 4aa8a9532c2b5763c6219221024ebb8dda079a48 [file] [log] [blame]
.. _nrf51_vbluno51:
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.
.. figure:: img/nrf51_vbluno51.jpg
:align: center
:alt: nRF51_VBLUno51
nrf51_vbluno51 Top
.. figure:: img/nrf51_vbluno51_bot.jpg
:align: center
:alt: nRF51_VBLUno51 Bottom
nrf51_vbluno51 Bottom
More information about the board can be found at the
`VBLUno51 wiki page`_.
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 |reg| Cortex |trade| 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`_ for full documents and tutorials about the VBLUno51 board.
Connections and IOs
===================
LED
---
* LED = LED0 (green) = P0.7
Push buttons
------------
* BUTTON = BUT = SW0 = P0.15
More details
------------
.. figure:: img/vbluno51_nordic_pinout.jpg
:align: center
:alt: nRF51_VBLUno51 Pinout
nrf51_vbluno51 Pinout
.. figure:: img/vbluno51_frizting.jpg
:align: center
:alt: nRF51_VBLUno51 Fritzing part
nrf51_vbluno51 Fritzing part
Programming and Debugging
*************************
Applications for the ``nrf51_vbluno51`` board configuration can be
built and flashed in the usual way (see :ref:`build_an_application`
and :ref:`application_run` 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 :ref:`blinky-sample`.
See the :ref:`getting_started` for general information on setting up
your development environment. Then build and flash the application in
the usual way.
.. zephyr-app-commands::
:zephyr-app: samples/basic/blinky
:board: nrf51_vbluno51
:goals: build flash
Debugging
=========
You can debug an application in the usual way. Here is an example for the
:ref:`blinky-sample` application.
.. zephyr-app-commands::
:zephyr-app: samples/basic/blinky
:board: nrf51_vbluno51
:maybe-skip-config:
:goals: 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:
* :ref:`hello_world`
* :ref:`blinky-sample`
* :ref:`button-sample`
* :ref:`bluetooth-beacon-sample`
* :ref:`peripheral_hr`
References
**********
.. target-notes::
.. _VBLUno51 website: http://iotviet.com.vn/store/detail?id=2
.. _VBLUno51 wiki page: https://vngiotlab.github.io/vbluno/