.. _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:: ../../../../../../../../zephyr/boards/arm/arduino_nano_33_ble/doc/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. The I2C pull-ups are enabled by setting pin P1.00 high. This is automatically done at system init. The pin is specified in the ``zephyr,user`` Devicetree node as ``pull-up-gpios``. 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 `_ #. 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="" 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