Nordic Semiconductor PCA10031

The Nordic Semiconductor PCA10031 is a low-cost, versatile USB development dongle for wireless applications based on the Nordic Semiconductor nRF51422 chip using the nRF51 series SoC.

Interfaces

Interface Hardware Supported TinyGo Support
GPIO YES YES
UART YES YES
SPI YES YES
I2C YES YES
ADC YES YES
PWM YES Not yet
USBDevice NO NO
Bluetooth YES YES

Pins

Pin Hardware pin Alternative names
LED1 P0_21 LED_RED, LED
LED2 P0_22 LED_GREEN
LED3 P0_23 LED_BLUE
UART_TX_PIN P0_09
UART_RX_PIN P0_11

Machine Package Docs

Documentation for the machine package for the PCA10031

Flashing

There are two options to flash the PCA10031 board.

You must install OpenOCD before you will be able to flash the PCA10031 board with your TinyGo code. You should check OpenOCD Documentation for installation and configuration instructions.

Once you have installed it correctly, you will be able to flash the PCA10031 board with your TinyGo code.

  • Plug your PCA10031 into your computer’s USB port.
  • Build and flash your TinyGo program using tinygo flash -target=pca10031

Programs can be loaded onto the PCA10031 board using the nrfjprog command line utility program.

First install the J-Link Software and Documentation Pack from Segger: https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack

Then install the nRF5x Command-Line Tools: https://docs.zephyrproject.org/latest/guides/tools/nordic_segger.html#nrf5x-command-line-tools-installation

Once you have installed both of these correctly, you will be able to flash the PCA10031 board with your TinyGo code.

  • Plug your PCA10031 into your computer’s USB port.
  • Build and flash your TinyGo program using tinygo flash -target=pca10031 -programmer command