Skip to content

Commit

Permalink
rp2/boards: Add SparkFun IoT Node LoRaWAN board.
Browse files Browse the repository at this point in the history
Signed-off-by: Dryw Wade <[email protected]>
  • Loading branch information
sfe-SparkFro authored and dpgeorge committed Feb 8, 2025
1 parent 0662c55 commit b2ce9b6
Show file tree
Hide file tree
Showing 5 changed files with 187 additions and 0 deletions.
25 changes: 25 additions & 0 deletions ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/board.json
Original file line number Diff line number Diff line change
@@ -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"
}
Original file line number Diff line number Diff line change
@@ -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")
33 changes: 33 additions & 0 deletions ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/mpconfigboard.h
Original file line number Diff line number Diff line change
@@ -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)
34 changes: 34 additions & 0 deletions ports/rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350/pins.csv
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit b2ce9b6

Please sign in to comment.