forked from micropython/micropython
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New board version: Nano 33 BLE Rev2 #9347
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 4 commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
6f83fb8
fix typos in existing blurb and minor comment update
applecuckoo 6f94a09
Define pins for Rev2 of the BLE Sense
applecuckoo ca02590
remove Nano 33 BLE Rev2 pin defs and move them to new board def
applecuckoo 32f96db
fix typo
applecuckoo a17517f
add exception for CI check
applecuckoo 59954cf
Update tools/ci_check_duplicate_usb_vid_pid.py - add comma
dhalbert File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| # Arduino Nano 33 BLE Rev2 and Nano 33 BLE Sense Rev2 | ||
|
|
||
| The [Arduino Nano 33 BLE Rev2](https://store.arduino.cc/usa/nano-33-ble-rev2) and | ||
| [Arduino Nano 33 BLE Sense Rev2](https://store.arduino.cc/usa/nano-33-ble-sense-rev2) | ||
| are built around the NINA-B306 module, based on the Nordic nRF52840 and containing | ||
| a powerful Cortex-M4F. Both include an onboard 9-axis Inertial Measurement Unit (IMU), made up of the BMI270 6-axis IMU and the BMM150 3-axis magnetometer. | ||
| The Nano 33 BLE Sense Rev2 adds an LPS22HB barometric pressure and temperature sensor, an HS3003 humidity sensor, | ||
| an APDS-9960 digital proximity, ambient light, RGB, and gesture sensor, | ||
| and an MP34DT06JTR digital microphone. | ||
|
|
||
| Note: the Arduino Nano 33 BLE Rev2 and BLE Sense Rev2 do not include a QSPI external | ||
| flash. Any Python code will need to be stored on the internal flash | ||
| filesystem. | ||
|
|
||
| I2C pins `board.SCL1` and `board.SDA1` are not exposed and are used for onboard peripherals. | ||
| Pin `board.R_PULLUP` must be set to high to enable the `SCL1` and `SDA1` pullups for proper operation. | ||
|
|
||
| Pin `board.VDD_ENV` applies power to the BMI270, the BMM150, the LPS22HB and the HS3003, and must be high for them to be operational. | ||
|
|
||
| Pins `board.MIC_PWR`, `board.PDMDIN`, and `board.PDMCLK` are for the Nano 33 BLE Sense onboard microphone. | ||
|
|
||
| Pin `board.INT_APDS` is the interrupt pin from the APDS-9960. | ||
|
|
||
| Pins `board.INT_BMI_1` and `board.INT_BMI_2` are the two interrupt pins from the BMI270. | ||
|
|
||
| Pin `board.INT_LPS` is the interrupt pin from the LPS22. | ||
|
|
||
| Pins `board.RGB_LED_R`, `board.RGB_LED_G`, and `board.RGB_LED_B` | ||
| are the red, green and blue LEDS in the onboard RGB LED. | ||
|
|
||
| Pins `board.LED_G` and `board.LED_Y` are onboard green and red LEDs. `board.LED_Y` is also `board.SCK`. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| // This file is part of the CircuitPython project: https://circuitpython.org | ||
| // | ||
| // SPDX-FileCopyrightText: Copyright (c) 2017 Scott Shawcroft for Adafruit Industries | ||
| // | ||
| // SPDX-License-Identifier: MIT | ||
|
|
||
| #include "supervisor/board.h" | ||
| #include "nrf.h" | ||
| #include "nrf_rtc.h" | ||
|
|
||
| void board_init(void) { | ||
| // Initializations below from Arduino variant.cpp. | ||
|
|
||
| // // turn power LED on | ||
| // pinMode(LED_PWR, OUTPUT); | ||
| // digitalWrite(LED_PWR, HIGH); | ||
|
|
||
| // Errata Nano33BLE - I2C pullup is on SWO line, need to disable TRACE | ||
| // was being enabled by nrfx_clock_anomaly_132 | ||
| CoreDebug->DEMCR = 0; | ||
| NRF_CLOCK->TRACECONFIG = 0; | ||
|
|
||
| // FIXME: bootloader enables interrupt on COMPARE[0], which we don't handle | ||
| // Disable it here to avoid getting stuck when OVERFLOW irq is triggered | ||
| nrf_rtc_event_disable(NRF_RTC1, NRF_RTC_INT_COMPARE0_MASK); | ||
| nrf_rtc_int_disable(NRF_RTC1, NRF_RTC_INT_COMPARE0_MASK); | ||
|
|
||
| // // FIXME: always enable I2C pullup and power @startup | ||
| // // Change for maximum powersave | ||
| // pinMode(PIN_ENABLE_SENSORS_3V3, OUTPUT); | ||
| // pinMode(PIN_ENABLE_I2C_PULLUP, OUTPUT); | ||
|
|
||
| // digitalWrite(PIN_ENABLE_SENSORS_3V3, HIGH); | ||
| // digitalWrite(PIN_ENABLE_I2C_PULLUP, HIGH); | ||
| } |
22 changes: 22 additions & 0 deletions
22
ports/nordic/boards/arduino_nano_33_ble_rev2/mpconfigboard.h
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| // This file is part of the CircuitPython project: https://circuitpython.org | ||
| // | ||
| // SPDX-FileCopyrightText: Copyright (c) 2017 Scott Shawcroft for Adafruit Industries | ||
| // | ||
| // SPDX-License-Identifier: MIT | ||
|
|
||
| #pragma once | ||
|
|
||
| #include "nrfx/hal/nrf_gpio.h" | ||
|
|
||
| #define MICROPY_HW_BOARD_NAME "Arduino Nano 33 BLE Rev2" | ||
| #define MICROPY_HW_MCU_NAME "nRF52840" | ||
|
|
||
| #define DEFAULT_I2C_BUS_SCL (&pin_P0_02) | ||
| #define DEFAULT_I2C_BUS_SDA (&pin_P0_31) | ||
|
|
||
| #define DEFAULT_SPI_BUS_SCK (&pin_P0_13) | ||
| #define DEFAULT_SPI_BUS_MOSI (&pin_P0_01) | ||
| #define DEFAULT_SPI_BUS_MISO (&pin_P1_08) | ||
|
|
||
| #define DEFAULT_UART_BUS_RX (&pin_P1_10) | ||
| #define DEFAULT_UART_BUS_TX (&pin_P1_03) |
9 changes: 9 additions & 0 deletions
9
ports/nordic/boards/arduino_nano_33_ble_rev2/mpconfigboard.mk
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| USB_VID = 0x2341 | ||
| USB_PID = 0x805A | ||
| USB_PRODUCT = "Arduino_Nano_33_BLE" | ||
| USB_MANUFACTURER = "Arduino" | ||
|
|
||
| MCU_CHIP = nrf52840 | ||
|
|
||
| INTERNAL_FLASH_FILESYSTEM = 1 | ||
| CIRCUITPY_ULAB = 0 | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,74 @@ | ||
| // This file is part of the CircuitPython project: https://circuitpython.org | ||
| // | ||
| // SPDX-FileCopyrightText: Copyright (c) 2017 Scott Shawcroft for Adafruit Industries | ||
| // | ||
| // SPDX-License-Identifier: MIT | ||
|
|
||
| #include "shared-bindings/board/__init__.h" | ||
|
|
||
| static const mp_rom_map_elem_t board_module_globals_table[] = { | ||
| CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS | ||
|
|
||
| { MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_P1_11) }, | ||
| { MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_P1_12) }, | ||
| { MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_P1_15) }, | ||
| { MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_P1_13) }, | ||
| { MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_P1_14) }, | ||
| { MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_P0_23) }, | ||
| { MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_P0_21) }, | ||
| { MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_P0_27) }, | ||
| { MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_P1_02) }, | ||
|
|
||
| { MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_P0_04) }, | ||
| { MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_P0_05) }, | ||
| { MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_P0_30) }, | ||
| { MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_P0_29) }, | ||
|
|
||
| { MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_P0_31) }, | ||
| { MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_P0_31) }, | ||
|
|
||
| { MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_P0_02) }, | ||
| { MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_P0_02) }, | ||
|
|
||
| { MP_ROM_QSTR(MP_QSTR_A6), MP_ROM_PTR(&pin_P0_28) }, | ||
| { MP_ROM_QSTR(MP_QSTR_A7), MP_ROM_PTR(&pin_P0_03) }, | ||
|
|
||
| { MP_ROM_QSTR(MP_QSTR_SDA1), MP_ROM_PTR(&pin_P0_14) }, | ||
| { MP_ROM_QSTR(MP_QSTR_SCL1), MP_ROM_PTR(&pin_P0_15) }, | ||
|
|
||
| { MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_P1_01) }, | ||
| { MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_P1_08) }, | ||
|
|
||
| { MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_P0_13) }, | ||
| { MP_ROM_QSTR(MP_QSTR_LED_Y), MP_ROM_PTR(&pin_P0_13) }, | ||
|
|
||
| { MP_ROM_QSTR(MP_QSTR_LED_G), MP_ROM_PTR(&pin_P1_09) }, | ||
|
|
||
| { MP_ROM_QSTR(MP_QSTR_RGB_LED_R), MP_ROM_PTR(&pin_P0_24) }, | ||
| { MP_ROM_QSTR(MP_QSTR_RGB_LED_G), MP_ROM_PTR(&pin_P0_16) }, | ||
| { MP_ROM_QSTR(MP_QSTR_RGB_LED_B), MP_ROM_PTR(&pin_P0_06) }, | ||
|
|
||
| // Power line to IMU, pressure, temperature and humidity sensors. | ||
| { MP_ROM_QSTR(MP_QSTR_VDD_ENV), MP_ROM_PTR(&pin_P0_22) }, | ||
|
|
||
| // Pullup voltage for SDA1 and SCL1 | ||
| { MP_ROM_QSTR(MP_QSTR_R_PULLUP), MP_ROM_PTR(&pin_P1_00) }, | ||
|
|
||
| { MP_ROM_QSTR(MP_QSTR_MIC_PWR), MP_ROM_PTR(&pin_P0_17) }, | ||
| { MP_ROM_QSTR(MP_QSTR_PDMCLK), MP_ROM_PTR(&pin_P0_26) }, | ||
| { MP_ROM_QSTR(MP_QSTR_PDMDIN), MP_ROM_PTR(&pin_P0_25) }, | ||
|
|
||
| { MP_ROM_QSTR(MP_QSTR_INT_APDS), MP_ROM_PTR(&pin_P0_19) }, | ||
| { MP_ROM_QSTR(MP_QSTR_INT_BMI_1), MP_ROM_PTR(&pin_P0_11) }, | ||
| { MP_ROM_QSTR(MP_QSTR_INT_BMI_2), MP_ROM_PTR(&pin_P0_20) }, | ||
| { MP_ROM_QSTR(MP_QSTR_INT_LPS), MP_ROM_PTR(&pin_P0_12) }, | ||
|
|
||
| { MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_P1_03) }, | ||
| { MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_P1_10) }, | ||
|
|
||
| { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, | ||
| { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, | ||
| { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, | ||
| }; | ||
|
|
||
| MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.