diff --git a/.github/workflows/micropython.yml b/.github/workflows/micropython.yml index 894a4a3..f98ebb3 100644 --- a/.github/workflows/micropython.yml +++ b/.github/workflows/micropython.yml @@ -19,6 +19,7 @@ jobs: - name: rpi_pico2b - name: pimoroni_plasma2350 - name: pimoroni_tiny2350 + - name: pimoroni_tiny2350_w - name: pimoroni_pico_plus2 env: diff --git a/boards/pimoroni_tiny2350_w/board.json b/boards/pimoroni_tiny2350_w/board.json new file mode 100644 index 0000000..ee19396 --- /dev/null +++ b/boards/pimoroni_tiny2350_w/board.json @@ -0,0 +1,20 @@ +{ + "deploy": [ + "../deploy.md" + ], + "docs": "", + "features": [ + "Breadboard Friendly", + "Castellated Pads", + "RGB LED", + "USB-C" + ], + "images": [ + "tiny-2040-on-white-1_1024x1024.jpg" + ], + "mcu": "rp2350", + "product": "Tiny2350", + "thumbnail": "", + "url": "https://shop.pimoroni.com/products/tiny-2350", + "vendor": "Pimoroni" +} diff --git a/boards/pimoroni_tiny2350_w/manifest.py b/boards/pimoroni_tiny2350_w/manifest.py new file mode 100644 index 0000000..563664c --- /dev/null +++ b/boards/pimoroni_tiny2350_w/manifest.py @@ -0,0 +1,8 @@ +require("bundle-networking") + +# Bluetooth +require("aioble") + +include("$(PORT_DIR)/boards/manifest.py") + +include("../manifest_pico2.py") \ No newline at end of file diff --git a/boards/pimoroni_tiny2350_w/mpconfigboard.cmake b/boards/pimoroni_tiny2350_w/mpconfigboard.cmake new file mode 100644 index 0000000..b1836d0 --- /dev/null +++ b/boards/pimoroni_tiny2350_w/mpconfigboard.cmake @@ -0,0 +1,16 @@ +# cmake file for Raspberry Pi Pico +set(PICO_BOARD "pimoroni_tiny2350") +set(PICO_PLATFORM "rp2350") + +# Board specific version of the frozen manifest +set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) + +# Links micropy_lib_lwip and sets MICROPY_PY_LWIP = 1 +# Picked up and expanded upon in mpconfigboard.h +set(MICROPY_PY_LWIP ON) + +include(enable_cyw43.cmake) + +set(MICROPY_C_HEAP_SIZE 4096) + +include(${CMAKE_CURRENT_LIST_DIR}/../common.cmake) diff --git a/boards/pimoroni_tiny2350_w/mpconfigboard.h b/boards/pimoroni_tiny2350_w/mpconfigboard.h new file mode 100644 index 0000000..ffe97ef --- /dev/null +++ b/boards/pimoroni_tiny2350_w/mpconfigboard.h @@ -0,0 +1,31 @@ +// Board and hardware specific configuration +#define MICROPY_HW_BOARD_NAME "Pimoroni Tiny 2350" +#define MICROPY_HW_FLASH_STORAGE_BYTES (PICO_FLASH_SIZE_BYTES - (2 * 1024 * 1024)) + +// I2C0 (non-default) +#define MICROPY_HW_I2C0_SCL (4) +#define MICROPY_HW_I2C0_SDA (5) + +#define MICROPY_PY_NETWORK_HOSTNAME_DEFAULT "Tiny2040" + +// Enable WiFi & PPP +#define MICROPY_PY_NETWORK_PPP_LWIP (1) + +#if MICROPY_PY_NETWORK_CYW43 +#include "enable_cyw43.h" + +// Enable the ability to pass cyw43 pins into WiFi, Bluetooth and Pin constructors +#define CYW43_PIN_WL_DYNAMIC 1 +#define CYW43_PIO_CLOCK_DIV_DYNAMIC 1 + +// Set the default pins to gpios 2-5 +#define CYW43_DEFAULT_PIN_WL_REG_ON 1 +#define CYW43_DEFAULT_PIN_WL_CS 2 +#define CYW43_DEFAULT_PIN_WL_DATA_OUT 3 +#define CYW43_DEFAULT_PIN_WL_DATA_IN 3 +#define CYW43_DEFAULT_PIN_WL_HOST_WAKE 3 +#define CYW43_DEFAULT_PIN_WL_CLOCK 4 + +// Default pio clock +#define CYW43_PIO_CLOCK_DIV_INT 3 +#endif \ No newline at end of file diff --git a/boards/pimoroni_tiny2350_w/usermodules.cmake b/boards/pimoroni_tiny2350_w/usermodules.cmake new file mode 100644 index 0000000..d3f340d --- /dev/null +++ b/boards/pimoroni_tiny2350_w/usermodules.cmake @@ -0,0 +1,3 @@ +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../") + +include(usermod-common) \ No newline at end of file