.. _blueclover_plt_demo_v2_nrf52832:

Blue Clover PLT Demo V2 nRF52832
################################

Overview
********

The Blue Clover PLT Demo V2 is an open source (OSWHA certified) hardware
product, featuring the Nordic Semiconductor nRF52832 ARM Cortex-M4F MCU
and several useful external peripherals.

The Nordic Semiconductor nRF52832 ARM Cortex-M4F MCU features the following:

* :abbr:`ADC (Analog to Digital Converter)`
* CLOCK
* FLASH
* :abbr:`GPIO (General Purpose Input Output)`
* :abbr:`I2C (Inter-Integrated Circuit)`
* :abbr:`MPU (Memory Protection Unit)`
* :abbr:`NVIC (Nested Vectored Interrupt Controller)`
* :abbr:`PWM (Pulse Width Modulation)`
* RADIO (Bluetooth Low Energy)
* :abbr:`RTC (nRF RTC System Clock)`
* Segger RTT (RTT Console)
* :abbr:`SPI (Serial Peripheral Interface)`
* :abbr:`UART (Universal asynchronous receiver-transmitter)`
* :abbr:`WDT (Watchdog Timer)`

.. figure:: img/blueclover_plt_demo_v2.jpg
     :align: center
     :alt: Blue Clover PLT Demo V2 nRF52832

Hardware
********

- nRF52832 ARM Cortex-M4F processor at 64 MHz
- 512 KB flash memory and 64 KB of SRAM
- Bosch BMI270 IMU
- Sensiron SHT30 Humidity and Temperature sensor
- Murata PKLCS1212E4001R1 Piezo Buzzer
- Battery connector and charger for 3.7 V lithium polymer batteries
- 4 APA102C Addressable LEDs
- Reset button (can be configured as user button)
- 1 User button
- Tag-Connect TC2030-FP 6-pin Debug Connector

Supported Features
==================

The Blue Clover PLT Demo V2 board configuration supports the
following hardware features:

+-----------+------------+----------------------+
| Interface | Controller | Driver/Component     |
+===========+============+======================+
| ADC       | on-chip    | adc                  |
+-----------+------------+----------------------+
| CLOCK     | on-chip    | clock_control        |
+-----------+------------+----------------------+
| FLASH     | on-chip    | flash                |
+-----------+------------+----------------------+
| GPIO      | on-chip    | gpio                 |
+-----------+------------+----------------------+
| I2C(M)    | on-chip    | i2c                  |
+-----------+------------+----------------------+
| MPU       | on-chip    | arch/arm             |
+-----------+------------+----------------------+
| NVIC      | on-chip    | arch/arm             |
+-----------+------------+----------------------+
| PWM       | on-chip    | pwm                  |
+-----------+------------+----------------------+
| RADIO     | on-chip    | Bluetooth            |
+-----------+------------+----------------------+
| RTC       | on-chip    | system clock         |
+-----------+------------+----------------------+
| RTT       | Segger     | console              |
+-----------+------------+----------------------+
| SPI(M/S)  | on-chip    | spi                  |
+-----------+------------+----------------------+
| UART      | on-chip    | serial               |
+-----------+------------+----------------------+
| WDT       | on-chip    | watchdog             |
+-----------+------------+----------------------+

Connections and IOs
===================

Push buttons
------------

* RESET = P0.21
* STATUS = P0.26

UART
----

* TXD = P0.06
* RXD = P0.08

Power
-----

* USB-C Connector
* JST-PH Battery Connector

NFC
---

* U.FL Connector, on NFC1/P0.09, NFC2/P0.10

Programming and Debugging
*************************

Applications for the ``blueclover_plt_demo_v2_nrf52832`` board configuration
can be built and flashed in the usual way (see :ref:`build_an_application`
and :ref:`application_run` for more details).

Flashing
========

Flashing Zephyr onto the ``blueclover_plt_demo_v2_nrf52832`` board requires
an external programmer. The programmer is attached to the SWD header.

Build the Zephyr kernel and the :zephyr:code-sample:`led-apa102` sample application.

   .. zephyr-app-commands::
      :zephyr-app: samples/drivers/led_apa102
      :board: blueclover_plt_demo_v2_nrf52832
      :goals: build
      :compact:

Flash the image.

   .. zephyr-app-commands::
      :zephyr-app: samples/drivers/led_apa102
      :board: blueclover_plt_demo_v2_nrf52832
      :goals: flash
      :compact:

References
**********

.. target-notes::

.. _Blue Clover PLT Demo V2 Product site:
    https://bcdevices.com/products/plt-demo-board

.. _Blue Clover PLT Demo V2 OSWHA Certification:
    https://certification.oshwa.org/us002054.html

.. _Schematic, layout, and gerbers:
    https://github.com/bcdevices/plt-docs/tree/master/PLT-DEMOv2
