summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDryw Wade <dryw.wade@sparkfun.com>2024-12-04 16:32:42 -0700
committerDamien George <damien@micropython.org>2025-02-08 13:26:06 +1100
commitb2ce9b6fb03ed27943733235eac2f3f5e0d5b97d (patch)
treed67764de99adc8d8bf033e32c5b7ac7bbf9f6387
parent0662c551216db1a3ab40dafbeffcc3ee929d7690 (diff)
rp2/boards: Add SparkFun IoT Node LoRaWAN board.
Signed-off-by: Dryw Wade <dryw.wade@sparkfun.com>
-rw-r--r--ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/board.json25
-rw-r--r--ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/mpconfigboard.cmake7
-rw-r--r--ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/mpconfigboard.h33
-rw-r--r--ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/pins.csv34
-rw-r--r--ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/sparkfun_iotnode_lorawan_rp2350.h88
5 files changed, 187 insertions, 0 deletions
diff --git a/ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/board.json b/ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/board.json
new file mode 100644
index 000000000..4ddcd999f
--- /dev/null
+++ b/ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/board.json
@@ -0,0 +1,25 @@
+{
+ "deploy": [
+ "../deploy.md"
+ ],
+ "docs": "",
+ "features": [
+ "Battery Charging",
+ "Dual-core",
+ "External Flash",
+ "External RAM",
+ "JST-SH",
+ "LoRa",
+ "RGB LED",
+ "USB-C",
+ "microSD"
+ ],
+ "images": [
+ "26060-IoT-Node-LoRaWAN-Feature-new.jpg"
+ ],
+ "mcu": "rp2350",
+ "product": "IoT Node LoRaWAN RP2350",
+ "thumbnail": "",
+ "url": "https://www.sparkfun.com/products/26060",
+ "vendor": "Sparkfun"
+}
diff --git a/ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/mpconfigboard.cmake b/ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/mpconfigboard.cmake
new file mode 100644
index 000000000..11fe1ee28
--- /dev/null
+++ b/ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/mpconfigboard.cmake
@@ -0,0 +1,7 @@
+# cmake file for SparkFun IoT Node LoRaWAN RP2350
+
+# TODO: DELETE THIS LINE ONCE PICO SDK 2.1.1 IS RELEASED
+set(PICO_BOARD_HEADER_DIRS ${MICROPY_PORT_DIR}/boards/${MICROPY_BOARD})
+
+set(PICO_BOARD "sparkfun_iotnode_lorawan_rp2350")
+set(PICO_PLATFORM "rp2350")
diff --git a/ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/mpconfigboard.h b/ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/mpconfigboard.h
new file mode 100644
index 000000000..106ec95aa
--- /dev/null
+++ b/ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/mpconfigboard.h
@@ -0,0 +1,33 @@
+// Board and hardware specific configuration
+#define MICROPY_HW_BOARD_NAME "SparkFun IoT Node LoRaWAN"
+#define MICROPY_HW_FLASH_STORAGE_BYTES (14 * 1024 * 1024)
+
+#define MICROPY_HW_USB_VID (0x1B4F)
+#define MICROPY_HW_USB_PID (0x0044)
+
+#define MICROPY_HW_I2C0_SDA (20)
+#define MICROPY_HW_I2C0_SCL (21)
+
+#define MICROPY_HW_I2C1_SDA (6)
+#define MICROPY_HW_I2C1_SCL (7)
+
+#define MICROPY_HW_SPI0_SCK (2)
+#define MICROPY_HW_SPI0_MOSI (3)
+#define MICROPY_HW_SPI0_MISO (4)
+
+#define MICROPY_HW_SPI1_SCK (14)
+#define MICROPY_HW_SPI1_MOSI (15)
+#define MICROPY_HW_SPI1_MISO (12)
+
+#define MICROPY_HW_UART0_TX (18)
+#define MICROPY_HW_UART0_RX (19)
+#define MICROPY_HW_UART0_CTS (2)
+#define MICROPY_HW_UART0_RTS (3)
+
+#define MICROPY_HW_UART1_TX (4)
+#define MICROPY_HW_UART1_RX (5)
+#define MICROPY_HW_UART1_CTS (6)
+#define MICROPY_HW_UART1_RTS (7)
+
+#define MICROPY_HW_PSRAM_CS_PIN (0)
+#define MICROPY_HW_ENABLE_PSRAM (1)
diff --git a/ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/pins.csv b/ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/pins.csv
new file mode 100644
index 000000000..2526b36d1
--- /dev/null
+++ b/ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/pins.csv
@@ -0,0 +1,34 @@
+GP0,GPIO0
+GP1,GPIO1
+GP2,GPIO2
+GP3,GPIO3
+GP4,GPIO4
+GP5,GPIO5
+GP6,GPIO6
+GP7,GPIO7
+GP8,GPIO8
+GP9,GPIO9
+GP10,GPIO10
+GP11,GPIO11
+GP12,GPIO12
+GP13,GPIO13
+GP14,GPIO14
+GP15,GPIO15
+GP16,GPIO16
+GP17,GPIO17
+GP18,GPIO18
+GP19,GPIO19
+GP20,GPIO20
+GP21,GPIO21
+GP22,GPIO22
+GP23,GPIO23
+GP24,GPIO24
+GP25,GPIO25
+GP26,GPIO26
+GP27,GPIO27
+GP28,GPIO28
+GP29,GPIO29
+LED,GPIO25
+LED_RGB,GPIO25
+RGB_LED,GPIO25
+NEOPIXEL,GPIO25
diff --git a/ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/sparkfun_iotnode_lorawan_rp2350.h b/ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/sparkfun_iotnode_lorawan_rp2350.h
new file mode 100644
index 000000000..5bea33cc4
--- /dev/null
+++ b/ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/sparkfun_iotnode_lorawan_rp2350.h
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2024 Raspberry Pi (Trading) Ltd.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+// -----------------------------------------------------
+// NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO
+// SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES
+// -----------------------------------------------------
+// Board definition for the SparkFun IoT Node LoRaWAN
+//
+// This header may be included by other board headers as "boards/sparkfun_iotnode_lorawan_rp2350.h"
+
+// pico_cmake_set PICO_PLATFORM=rp2350
+
+#ifndef _BOARDS_SPARKFUN_IOTNODE_LORAWAN_RP2350_H
+#define _BOARDS_SPARKFUN_IOTNODE_LORAWAN_RP2350_H
+
+// For board detection
+#define SPARKFUN_IOTNODE_LORAWAN_RP2350
+
+// --- RP2350 VARIANT ---
+#define PICO_RP2350A 1
+
+// --- UART ---
+#ifndef PICO_DEFAULT_UART
+#define PICO_DEFAULT_UART 0
+#endif
+#ifndef PICO_DEFAULT_UART_TX_PIN
+#define PICO_DEFAULT_UART_TX_PIN 18
+#endif
+#ifndef PICO_DEFAULT_UART_RX_PIN
+#define PICO_DEFAULT_UART_RX_PIN 19
+#endif
+
+// --- LED ---
+#ifndef PICO_DEFAULT_WS2812_PIN
+#define PICO_DEFAULT_WS2812_PIN 25
+#endif
+
+// --- I2C ---
+#ifndef PICO_DEFAULT_I2C
+#define PICO_DEFAULT_I2C 0
+#endif
+#ifndef PICO_DEFAULT_I2C_SDA_PIN
+#define PICO_DEFAULT_I2C_SDA_PIN 20
+#endif
+#ifndef PICO_DEFAULT_I2C_SCL_PIN
+#define PICO_DEFAULT_I2C_SCL_PIN 21
+#endif
+
+// --- SPI ---
+#ifndef PICO_DEFAULT_SPI
+#define PICO_DEFAULT_SPI 1
+#endif
+#ifndef PICO_DEFAULT_SPI_SCK_PIN
+#define PICO_DEFAULT_SPI_SCK_PIN 14
+#endif
+#ifndef PICO_DEFAULT_SPI_TX_PIN
+#define PICO_DEFAULT_SPI_TX_PIN 15
+#endif
+#ifndef PICO_DEFAULT_SPI_RX_PIN
+#define PICO_DEFAULT_SPI_RX_PIN 12
+#endif
+#ifndef PICO_DEFAULT_SPI_CSN_PIN
+#define PICO_DEFAULT_SPI_CSN_PIN 13
+#endif
+
+// --- FLASH ---
+
+#define PICO_BOOT_STAGE2_CHOOSE_W25Q080 1
+
+#ifndef PICO_FLASH_SPI_CLKDIV
+#define PICO_FLASH_SPI_CLKDIV 2
+#endif
+
+// pico_cmake_set_default PICO_FLASH_SIZE_BYTES = (16 * 1024 * 1024)
+#ifndef PICO_FLASH_SIZE_BYTES
+#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
+#endif
+
+// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
+#ifndef PICO_RP2350_A2_SUPPORTED
+#define PICO_RP2350_A2_SUPPORTED 1
+#endif
+
+#endif