149 lines
4.9 KiB
ReStructuredText
149 lines
4.9 KiB
ReStructuredText
.. _arduino_nano_33_ble:
|
|
|
|
Arduino Nano 33 BLE (Sense)
|
|
#################################
|
|
|
|
Overview
|
|
********
|
|
|
|
The Arduino Nano 33 BLE is designed around Nordic Semiconductor's
|
|
nRF52840 ARM Cortex-M4F CPU. Arduino sells 2 variants of the board, the
|
|
plain `BLE`_ type and the `BLE Sense`_ type. The "Sense" variant is distinguished by
|
|
the inclusion of more sensors, but otherwise both variants are the same.
|
|
|
|
.. image:: img/arduino_nano_33_ble_sense.png
|
|
:width: 500px
|
|
:align: center
|
|
:alt: Arduino Nano 33 BLE (Sense variant)
|
|
|
|
The Sense variant of the board
|
|
|
|
Hardware
|
|
********
|
|
|
|
Supported Features
|
|
==================
|
|
|
|
The package is configured to support the following hardware:
|
|
|
|
+-----------+------------+----------------------+
|
|
| Interface | Controller | Driver/Component |
|
|
+===========+============+======================+
|
|
| ADC | on-chip | adc |
|
|
+-----------+------------+----------------------+
|
|
| CLOCK | on-chip | clock_control |
|
|
+-----------+------------+----------------------+
|
|
| FLASH | on-chip | flash |
|
|
+-----------+------------+----------------------+
|
|
| GPIO | on-chip | gpio |
|
|
+-----------+------------+----------------------+
|
|
| I2C0 | on-chip | i2c |
|
|
+-----------+------------+----------------------+
|
|
| I2C1 | on-chip | i2c |
|
|
+-----------+------------+----------------------+
|
|
| MPU | on-chip | arch/arm |
|
|
+-----------+------------+----------------------+
|
|
| NVIC | on-chip | arch/arm |
|
|
+-----------+------------+----------------------+
|
|
| PWM | on-chip | pwm |
|
|
+-----------+------------+----------------------+
|
|
| RADIO | on-chip | Bluetooth, |
|
|
| | | ieee802154 |
|
|
+-----------+------------+----------------------+
|
|
| RTC | on-chip | system clock |
|
|
+-----------+------------+----------------------+
|
|
| SPI | on-chip | spi |
|
|
+-----------+------------+----------------------+
|
|
| UART | on-chip | serial |
|
|
+-----------+------------+----------------------+
|
|
| USB | on-chip | usb |
|
|
+-----------+------------+----------------------+
|
|
| WDT | on-chip | watchdog |
|
|
+-----------+------------+----------------------+
|
|
|
|
Other hardware features have not been enabled yet for this board.
|
|
|
|
Notably, this includes the PDM (microphone) interface.
|
|
|
|
Connections and IOs
|
|
===================
|
|
|
|
The `schematic`_ will tell you everything
|
|
you need to know about the pins.
|
|
|
|
A convenience header mapping the Arduino pin names to their
|
|
Zephyr pin numbers can be found in :code:`arduino_nano_33_ble_pins.h`,
|
|
if you link against the :code:`arduino_nano_33_ble_pins` CMake library.
|
|
|
|
For your convenience, two Kconfig options are added:
|
|
|
|
#. :code:`BOARD_ARDUINO_NANO_33_BLE_INIT_SENSORS`:
|
|
This configuration option enables the internal I2C sensors.
|
|
#. :code:`BOARD_ARDUINO_NANO_33_BLE_EN_USB_CONSOLE`:
|
|
This configuration option enables the USB CDC subsystem and
|
|
the console, so that printk works.
|
|
|
|
Programming and Debugging
|
|
*************************
|
|
|
|
This board requires the Arduino variant of bossac. You will not
|
|
be able to flash with the bossac included with the zephyr-sdk, or
|
|
using shumatech's mainline build.
|
|
|
|
You can get this variant of bossac with one of two ways:
|
|
|
|
#. Building the binary from the `Arduino source tree <https://github.com/arduino/BOSSA/tree/nrf>`_
|
|
#. Downloading the Arduino IDE
|
|
|
|
#. Install the board support package within the IDE
|
|
#. Change your IDE preferences to provide verbose logging
|
|
#. Build and flash a sample application, and read the logs to figure out where Arduino stored bossac.
|
|
#. In most Linux based systems the path is ``$HOME/.arduino15/packages/arduino/tools/bossac/1.9.1-arduino2/bossac``.
|
|
|
|
Once you have a path to bossac, you can pass it as an argument to west:
|
|
|
|
.. code-block:: bash
|
|
|
|
west flash --bossac="<path to the arduino version of bossac>"
|
|
|
|
For example
|
|
|
|
.. code-block:: bash
|
|
|
|
west flash --bossac=$HOME/.arduino15/packages/arduino/tools/bossac/1.9.1-arduino2/bossac
|
|
|
|
Flashing
|
|
========
|
|
|
|
Attach the board to your computer using the USB cable, and then
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/basic/blinky
|
|
:board: arduino_nano_33_ble
|
|
:goals: build
|
|
:compact:
|
|
|
|
Double-tap the RESET button on your board. Your board should disconnect, reconnect,
|
|
and there should be a pulsing orange LED near the USB port.
|
|
|
|
Then, you can flash the image using the above script.
|
|
|
|
You should see the the red LED blink.
|
|
|
|
References
|
|
**********
|
|
|
|
.. target-notes::
|
|
|
|
.. _BLE:
|
|
https://store.arduino.cc/usa/nano-33-ble/
|
|
|
|
.. _BLE SENSE:
|
|
https://store.arduino.cc/usa/nano-33-ble-sense/
|
|
|
|
.. _pinouts:
|
|
https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/pinouts
|
|
|
|
.. _schematic:
|
|
https://content.arduino.cc/assets/NANO33BLE_V2.0_sch.pdf
|