From c3dceb1c3223012ae29144182d14c19678005e05 Mon Sep 17 00:00:00 2001 From: iabdalkader Date: Sun, 15 Aug 2021 20:44:36 +0200 Subject: [PATCH] rp2/boards: Add support for Arduino Nano RP2040. --- .../ARDUINO_NANO_RP2040_CONNECT/board.json | 25 ++++++++++++ .../ARDUINO_NANO_RP2040_CONNECT/manifest.py | 9 +++++ .../mpconfigboard.cmake | 6 +++ .../mpconfigboard.h | 39 +++++++++++++++++++ 4 files changed, 79 insertions(+) create mode 100644 ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/board.json create mode 100644 ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/manifest.py create mode 100644 ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/mpconfigboard.cmake create mode 100644 ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/mpconfigboard.h diff --git a/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/board.json b/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/board.json new file mode 100644 index 0000000000..ca7ba089b8 --- /dev/null +++ b/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/board.json @@ -0,0 +1,25 @@ +{ + "deploy": [ + "../deploy.md" + ], + "docs": "", + "features": [ + "Breadboard Friendly", + "Castellated Pads", + "WiFi Nina-W102", + "Bluetooth Nina-W102", + "IMU LSM6DSOXTR", + "Crypto IC ATECC608A-MAHDA-T", + "Microphone MP34DT05", + "SPI Flash 16MB", + "USB-MICRO" + ], + "images": [ + "ABX00052_01.iso_999x750.jpg" + ], + "mcu": "RP2040", + "product": "Arduino Nano RP2040 Connect", + "thumbnail": "", + "url": "https://store-usa.arduino.cc/products/arduino-nano-rp2040-connect", + "vendor": "Arduino" +} diff --git a/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/manifest.py b/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/manifest.py new file mode 100644 index 0000000000..a9c81576da --- /dev/null +++ b/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/manifest.py @@ -0,0 +1,9 @@ +include("$(PORT_DIR)/boards/manifest.py") +freeze("$(MPY_DIR)/drivers/lsm6dsox/", "lsm6dsox.py") +include( + "$(MPY_LIB_DIR)/micropython/bluetooth/aioble/manifest.py", + client=True, + central=True, + l2cap=True, + security=True, +) diff --git a/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/mpconfigboard.cmake b/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/mpconfigboard.cmake new file mode 100644 index 0000000000..b31109ac53 --- /dev/null +++ b/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/mpconfigboard.cmake @@ -0,0 +1,6 @@ +# cmake file for Arduino Nano RP2040 Connect. +set(MICROPY_PY_BLUETOOTH 1) +set(MICROPY_BLUETOOTH_NIMBLE 1) +set(MICROPY_PY_NETWORK_NINAW10 1) +set(MICROPY_HW_ENABLE_DOUBLE_TAP 1) +set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) diff --git a/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/mpconfigboard.h b/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/mpconfigboard.h new file mode 100644 index 0000000000..08995212e2 --- /dev/null +++ b/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/mpconfigboard.h @@ -0,0 +1,39 @@ +//Board config for Arduino Nano RP2040 Connect. + +// Board and hardware specific configuration +#define MICROPY_HW_BOARD_NAME "Arduino Nano RP2040 Connect" +#define MICROPY_HW_FLASH_STORAGE_BYTES (8 * 1024 * 1024) + +// Enable networking and sockets. +#define MICROPY_PY_NETWORK (1) +#define MICROPY_PY_USOCKET (1) + +// Enable USB Mass Storage with FatFS filesystem. +#define MICROPY_HW_USB_MSC (1) +#define MICROPY_HW_USB_VID (0x2341) +#define MICROPY_HW_USB_PID (0x015e) + +// UART 1 config. +#define MICROPY_HW_UART1_TX (8) +#define MICROPY_HW_UART1_RX (9) +#define MICROPY_HW_UART1_CTS (10) +#define MICROPY_HW_UART1_RTS (11) + +// SPI 1 config. +#define MICROPY_HW_SPI1_SCK (14) +#define MICROPY_HW_SPI1_MOSI (11) +#define MICROPY_HW_SPI1_MISO (8) + +// Bluetooth config. +#define MICROPY_HW_BLE_UART_ID (1) +#define MICROPY_HW_BLE_UART_BAUDRATE (119600) + +// WiFi/NINA-W10 config. +#define MICROPY_HW_WIFI_SPI_ID (1) +#define MICROPY_HW_WIFI_SPI_BAUDRATE (8 * 1000 * 1000) + +// ublox Nina-W10 module config. +#define MICROPY_HW_NINA_RESET (3) +#define MICROPY_HW_NINA_GPIO0 (2) +#define MICROPY_HW_NINA_GPIO1 (9) +#define MICROPY_HW_NINA_ACK (10)