diff --git a/README.md b/README.md index 139c3a7eb..9a42f6a52 100644 --- a/README.md +++ b/README.md @@ -95,6 +95,7 @@ Read the [Contributing Guide](https://github.com/earlephilhower/arduino-pico/blo * Solder Party RP2040 Stamp * Solder Party RP2350 Stamp * Solder Party RP2350 Stamp XL +* SparkFun IoT RedBoard RP2350 * SparkFun MicroMod RP2040 * SparkFun ProMicro RP2040 * SparkFun ProMicro RP2350 diff --git a/boards.txt b/boards.txt index 535afb29d..435a8f2db 100644 --- a/boards.txt +++ b/boards.txt @@ -26648,6 +26648,352 @@ solderparty_rp2350_stamp_xl.menu.uploadmethod.picoprobe_cmsis_dap.upload.maximum solderparty_rp2350_stamp_xl.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool=picoprobe_cmsis_dap solderparty_rp2350_stamp_xl.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool.default=picoprobe_cmsis_dap +# ----------------------------------- +# SparkFun IoT RedBoard RP2350 +# ----------------------------------- +sparkfun_iotredboard_rp2350.name=SparkFun IoT RedBoard RP2350 +sparkfun_iotredboard_rp2350.vid.0=0x1b4f +sparkfun_iotredboard_rp2350.pid.0=0x0047 +sparkfun_iotredboard_rp2350.vid.1=0x1b4f +sparkfun_iotredboard_rp2350.pid.1=0x0147 +sparkfun_iotredboard_rp2350.vid.2=0x1b4f +sparkfun_iotredboard_rp2350.pid.2=0x4047 +sparkfun_iotredboard_rp2350.vid.3=0x1b4f +sparkfun_iotredboard_rp2350.pid.3=0x4147 +sparkfun_iotredboard_rp2350.vid.4=0x1b4f +sparkfun_iotredboard_rp2350.pid.4=0x8047 +sparkfun_iotredboard_rp2350.vid.5=0x1b4f +sparkfun_iotredboard_rp2350.pid.5=0x8147 +sparkfun_iotredboard_rp2350.vid.6=0x1b4f +sparkfun_iotredboard_rp2350.pid.6=0xc047 +sparkfun_iotredboard_rp2350.vid.7=0x1b4f +sparkfun_iotredboard_rp2350.pid.7=0xc147 +sparkfun_iotredboard_rp2350.upload_port.0.vid=0x1b4f +sparkfun_iotredboard_rp2350.upload_port.0.pid=0x0047 +sparkfun_iotredboard_rp2350.upload_port.1.vid=0x1b4f +sparkfun_iotredboard_rp2350.upload_port.1.pid=0x0147 +sparkfun_iotredboard_rp2350.upload_port.2.vid=0x1b4f +sparkfun_iotredboard_rp2350.upload_port.2.pid=0x4047 +sparkfun_iotredboard_rp2350.upload_port.3.vid=0x1b4f +sparkfun_iotredboard_rp2350.upload_port.3.pid=0x4147 +sparkfun_iotredboard_rp2350.upload_port.4.vid=0x1b4f +sparkfun_iotredboard_rp2350.upload_port.4.pid=0x8047 +sparkfun_iotredboard_rp2350.upload_port.5.vid=0x1b4f +sparkfun_iotredboard_rp2350.upload_port.5.pid=0x8147 +sparkfun_iotredboard_rp2350.upload_port.6.vid=0x1b4f +sparkfun_iotredboard_rp2350.upload_port.6.pid=0xc047 +sparkfun_iotredboard_rp2350.upload_port.7.vid=0x1b4f +sparkfun_iotredboard_rp2350.upload_port.7.pid=0xc147 +sparkfun_iotredboard_rp2350.build.usbvid=-DUSBD_VID=0x1b4f +sparkfun_iotredboard_rp2350.build.usbpid=-DUSBD_PID=0x0047 +sparkfun_iotredboard_rp2350.build.usbpwr=-DUSBD_MAX_POWER_MA=250 +sparkfun_iotredboard_rp2350.build.board=SPARKFUN_IOTREDBOARD_RP2350 +sparkfun_iotredboard_rp2350.build.variant=sparkfun_iotredboard_rp2350 +sparkfun_iotredboard_rp2350.upload.maximum_size=16777216 +sparkfun_iotredboard_rp2350.upload.wait_for_upload_port=true +sparkfun_iotredboard_rp2350.upload.erase_cmd= +sparkfun_iotredboard_rp2350.serial.disableDTR=false +sparkfun_iotredboard_rp2350.serial.disableRTS=false +sparkfun_iotredboard_rp2350.build.f_cpu=125000000 +sparkfun_iotredboard_rp2350.build.led= +sparkfun_iotredboard_rp2350.build.core=rp2040 +sparkfun_iotredboard_rp2350.build.ldscript=memmap_default.ld +sparkfun_iotredboard_rp2350.build.boot2=none +sparkfun_iotredboard_rp2350.build.usb_manufacturer="SparkFun" +sparkfun_iotredboard_rp2350.build.usb_product="IoT RedBoard RP2350" +sparkfun_iotredboard_rp2350.build.psram_length=0x800000 +sparkfun_iotredboard_rp2350.build.extra_flags=-DPICO_CYW43_SUPPORTED=1 -DCYW43_PIN_WL_DYNAMIC=1 +sparkfun_iotredboard_rp2350.menu.flash.16777216_0=16MB (no FS) +sparkfun_iotredboard_rp2350.menu.flash.16777216_0.upload.maximum_size=16769024 +sparkfun_iotredboard_rp2350.menu.flash.16777216_0.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_0.build.flash_length=16769024 +sparkfun_iotredboard_rp2350.menu.flash.16777216_0.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_0.build.fs_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_0.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_65536=16MB (Sketch: 16320KB, FS: 64KB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_65536.upload.maximum_size=16703488 +sparkfun_iotredboard_rp2350.menu.flash.16777216_65536.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_65536.build.flash_length=16703488 +sparkfun_iotredboard_rp2350.menu.flash.16777216_65536.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_65536.build.fs_start=285138944 +sparkfun_iotredboard_rp2350.menu.flash.16777216_65536.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_131072=16MB (Sketch: 16256KB, FS: 128KB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_131072.upload.maximum_size=16637952 +sparkfun_iotredboard_rp2350.menu.flash.16777216_131072.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_131072.build.flash_length=16637952 +sparkfun_iotredboard_rp2350.menu.flash.16777216_131072.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_131072.build.fs_start=285073408 +sparkfun_iotredboard_rp2350.menu.flash.16777216_131072.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_262144=16MB (Sketch: 16128KB, FS: 256KB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_262144.upload.maximum_size=16506880 +sparkfun_iotredboard_rp2350.menu.flash.16777216_262144.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_262144.build.flash_length=16506880 +sparkfun_iotredboard_rp2350.menu.flash.16777216_262144.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_262144.build.fs_start=284942336 +sparkfun_iotredboard_rp2350.menu.flash.16777216_262144.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_524288=16MB (Sketch: 15872KB, FS: 512KB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_524288.upload.maximum_size=16244736 +sparkfun_iotredboard_rp2350.menu.flash.16777216_524288.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_524288.build.flash_length=16244736 +sparkfun_iotredboard_rp2350.menu.flash.16777216_524288.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_524288.build.fs_start=284680192 +sparkfun_iotredboard_rp2350.menu.flash.16777216_524288.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_1048576=16MB (Sketch: 15MB, FS: 1MB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_1048576.upload.maximum_size=15720448 +sparkfun_iotredboard_rp2350.menu.flash.16777216_1048576.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_1048576.build.flash_length=15720448 +sparkfun_iotredboard_rp2350.menu.flash.16777216_1048576.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_1048576.build.fs_start=284155904 +sparkfun_iotredboard_rp2350.menu.flash.16777216_1048576.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_2097152=16MB (Sketch: 14MB, FS: 2MB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_2097152.upload.maximum_size=14671872 +sparkfun_iotredboard_rp2350.menu.flash.16777216_2097152.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_2097152.build.flash_length=14671872 +sparkfun_iotredboard_rp2350.menu.flash.16777216_2097152.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_2097152.build.fs_start=283107328 +sparkfun_iotredboard_rp2350.menu.flash.16777216_2097152.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_3145728=16MB (Sketch: 13MB, FS: 3MB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_3145728.upload.maximum_size=13623296 +sparkfun_iotredboard_rp2350.menu.flash.16777216_3145728.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_3145728.build.flash_length=13623296 +sparkfun_iotredboard_rp2350.menu.flash.16777216_3145728.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_3145728.build.fs_start=282058752 +sparkfun_iotredboard_rp2350.menu.flash.16777216_3145728.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_4194304=16MB (Sketch: 12MB, FS: 4MB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_4194304.upload.maximum_size=12574720 +sparkfun_iotredboard_rp2350.menu.flash.16777216_4194304.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_4194304.build.flash_length=12574720 +sparkfun_iotredboard_rp2350.menu.flash.16777216_4194304.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_4194304.build.fs_start=281010176 +sparkfun_iotredboard_rp2350.menu.flash.16777216_4194304.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_5242880=16MB (Sketch: 11MB, FS: 5MB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_5242880.upload.maximum_size=11526144 +sparkfun_iotredboard_rp2350.menu.flash.16777216_5242880.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_5242880.build.flash_length=11526144 +sparkfun_iotredboard_rp2350.menu.flash.16777216_5242880.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_5242880.build.fs_start=279961600 +sparkfun_iotredboard_rp2350.menu.flash.16777216_5242880.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_6291456=16MB (Sketch: 10MB, FS: 6MB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_6291456.upload.maximum_size=10477568 +sparkfun_iotredboard_rp2350.menu.flash.16777216_6291456.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_6291456.build.flash_length=10477568 +sparkfun_iotredboard_rp2350.menu.flash.16777216_6291456.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_6291456.build.fs_start=278913024 +sparkfun_iotredboard_rp2350.menu.flash.16777216_6291456.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_7340032=16MB (Sketch: 9MB, FS: 7MB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_7340032.upload.maximum_size=9428992 +sparkfun_iotredboard_rp2350.menu.flash.16777216_7340032.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_7340032.build.flash_length=9428992 +sparkfun_iotredboard_rp2350.menu.flash.16777216_7340032.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_7340032.build.fs_start=277864448 +sparkfun_iotredboard_rp2350.menu.flash.16777216_7340032.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_8388608=16MB (Sketch: 8MB, FS: 8MB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_8388608.upload.maximum_size=8380416 +sparkfun_iotredboard_rp2350.menu.flash.16777216_8388608.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_8388608.build.flash_length=8380416 +sparkfun_iotredboard_rp2350.menu.flash.16777216_8388608.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_8388608.build.fs_start=276815872 +sparkfun_iotredboard_rp2350.menu.flash.16777216_8388608.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_9437184=16MB (Sketch: 7MB, FS: 9MB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_9437184.upload.maximum_size=7331840 +sparkfun_iotredboard_rp2350.menu.flash.16777216_9437184.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_9437184.build.flash_length=7331840 +sparkfun_iotredboard_rp2350.menu.flash.16777216_9437184.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_9437184.build.fs_start=275767296 +sparkfun_iotredboard_rp2350.menu.flash.16777216_9437184.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_10485760=16MB (Sketch: 6MB, FS: 10MB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_10485760.upload.maximum_size=6283264 +sparkfun_iotredboard_rp2350.menu.flash.16777216_10485760.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_10485760.build.flash_length=6283264 +sparkfun_iotredboard_rp2350.menu.flash.16777216_10485760.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_10485760.build.fs_start=274718720 +sparkfun_iotredboard_rp2350.menu.flash.16777216_10485760.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_11534336=16MB (Sketch: 5MB, FS: 11MB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_11534336.upload.maximum_size=5234688 +sparkfun_iotredboard_rp2350.menu.flash.16777216_11534336.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_11534336.build.flash_length=5234688 +sparkfun_iotredboard_rp2350.menu.flash.16777216_11534336.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_11534336.build.fs_start=273670144 +sparkfun_iotredboard_rp2350.menu.flash.16777216_11534336.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_12582912=16MB (Sketch: 4MB, FS: 12MB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_12582912.upload.maximum_size=4186112 +sparkfun_iotredboard_rp2350.menu.flash.16777216_12582912.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_12582912.build.flash_length=4186112 +sparkfun_iotredboard_rp2350.menu.flash.16777216_12582912.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_12582912.build.fs_start=272621568 +sparkfun_iotredboard_rp2350.menu.flash.16777216_12582912.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_13631488=16MB (Sketch: 3MB, FS: 13MB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_13631488.upload.maximum_size=3137536 +sparkfun_iotredboard_rp2350.menu.flash.16777216_13631488.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_13631488.build.flash_length=3137536 +sparkfun_iotredboard_rp2350.menu.flash.16777216_13631488.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_13631488.build.fs_start=271572992 +sparkfun_iotredboard_rp2350.menu.flash.16777216_13631488.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_14680064=16MB (Sketch: 2MB, FS: 14MB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_14680064.upload.maximum_size=2088960 +sparkfun_iotredboard_rp2350.menu.flash.16777216_14680064.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_14680064.build.flash_length=2088960 +sparkfun_iotredboard_rp2350.menu.flash.16777216_14680064.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_14680064.build.fs_start=270524416 +sparkfun_iotredboard_rp2350.menu.flash.16777216_14680064.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_15728640=16MB (Sketch: 1MB, FS: 15MB) +sparkfun_iotredboard_rp2350.menu.flash.16777216_15728640.upload.maximum_size=1040384 +sparkfun_iotredboard_rp2350.menu.flash.16777216_15728640.build.flash_total=16777216 +sparkfun_iotredboard_rp2350.menu.flash.16777216_15728640.build.flash_length=1040384 +sparkfun_iotredboard_rp2350.menu.flash.16777216_15728640.build.eeprom_start=285204480 +sparkfun_iotredboard_rp2350.menu.flash.16777216_15728640.build.fs_start=269475840 +sparkfun_iotredboard_rp2350.menu.flash.16777216_15728640.build.fs_end=285204480 +sparkfun_iotredboard_rp2350.menu.arch.arm=ARM +sparkfun_iotredboard_rp2350.menu.arch.arm.build.chip=rp2350 +sparkfun_iotredboard_rp2350.menu.arch.arm.build.toolchain=arm-none-eabi +sparkfun_iotredboard_rp2350.menu.arch.arm.build.toolchainpkg=pqt-gcc +sparkfun_iotredboard_rp2350.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse +sparkfun_iotredboard_rp2350.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block +sparkfun_iotredboard_rp2350.menu.arch.arm.build.mcu=cortex-m33 +sparkfun_iotredboard_rp2350.menu.arch.riscv=RISC-V +sparkfun_iotredboard_rp2350.menu.arch.riscv.build.chip=rp2350-riscv +sparkfun_iotredboard_rp2350.menu.arch.riscv.build.toolchain=riscv32-unknown-elf +sparkfun_iotredboard_rp2350.menu.arch.riscv.build.toolchainpkg=pqt-gcc-riscv +sparkfun_iotredboard_rp2350.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32 +sparkfun_iotredboard_rp2350.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block +sparkfun_iotredboard_rp2350.menu.arch.riscv.build.mcu=rv32imac +sparkfun_iotredboard_rp2350.menu.freq.150=150 MHz +sparkfun_iotredboard_rp2350.menu.freq.150.build.f_cpu=150000000L +sparkfun_iotredboard_rp2350.menu.freq.50=50 MHz +sparkfun_iotredboard_rp2350.menu.freq.50.build.f_cpu=50000000L +sparkfun_iotredboard_rp2350.menu.freq.100=100 MHz +sparkfun_iotredboard_rp2350.menu.freq.100.build.f_cpu=100000000L +sparkfun_iotredboard_rp2350.menu.freq.120=120 MHz +sparkfun_iotredboard_rp2350.menu.freq.120.build.f_cpu=120000000L +sparkfun_iotredboard_rp2350.menu.freq.125=125 MHz +sparkfun_iotredboard_rp2350.menu.freq.125.build.f_cpu=125000000L +sparkfun_iotredboard_rp2350.menu.freq.128=128 MHz +sparkfun_iotredboard_rp2350.menu.freq.128.build.f_cpu=128000000L +sparkfun_iotredboard_rp2350.menu.freq.133=133 MHz +sparkfun_iotredboard_rp2350.menu.freq.133.build.f_cpu=133000000L +sparkfun_iotredboard_rp2350.menu.freq.175=175 MHz (Overclock) +sparkfun_iotredboard_rp2350.menu.freq.175.build.f_cpu=175000000L +sparkfun_iotredboard_rp2350.menu.freq.200=200 MHz (Overclock) +sparkfun_iotredboard_rp2350.menu.freq.200.build.f_cpu=200000000L +sparkfun_iotredboard_rp2350.menu.freq.225=225 MHz (Overclock) +sparkfun_iotredboard_rp2350.menu.freq.225.build.f_cpu=225000000L +sparkfun_iotredboard_rp2350.menu.freq.240=240 MHz (Overclock) +sparkfun_iotredboard_rp2350.menu.freq.240.build.f_cpu=240000000L +sparkfun_iotredboard_rp2350.menu.freq.250=250 MHz (Overclock) +sparkfun_iotredboard_rp2350.menu.freq.250.build.f_cpu=250000000L +sparkfun_iotredboard_rp2350.menu.freq.275=275 MHz (Overclock) +sparkfun_iotredboard_rp2350.menu.freq.275.build.f_cpu=275000000L +sparkfun_iotredboard_rp2350.menu.freq.300=300 MHz (Overclock) +sparkfun_iotredboard_rp2350.menu.freq.300.build.f_cpu=300000000L +sparkfun_iotredboard_rp2350.menu.opt.Small=Small (-Os) (standard) +sparkfun_iotredboard_rp2350.menu.opt.Small.build.flags.optimize=-Os +sparkfun_iotredboard_rp2350.menu.opt.Optimize=Optimize (-O) +sparkfun_iotredboard_rp2350.menu.opt.Optimize.build.flags.optimize=-O +sparkfun_iotredboard_rp2350.menu.opt.Optimize2=Optimize More (-O2) +sparkfun_iotredboard_rp2350.menu.opt.Optimize2.build.flags.optimize=-O2 +sparkfun_iotredboard_rp2350.menu.opt.Optimize3=Optimize Even More (-O3) +sparkfun_iotredboard_rp2350.menu.opt.Optimize3.build.flags.optimize=-O3 +sparkfun_iotredboard_rp2350.menu.opt.Fast=Fast (-Ofast) (maybe slower) +sparkfun_iotredboard_rp2350.menu.opt.Fast.build.flags.optimize=-Ofast +sparkfun_iotredboard_rp2350.menu.opt.Debug=Debug (-Og) +sparkfun_iotredboard_rp2350.menu.opt.Debug.build.flags.optimize=-Og +sparkfun_iotredboard_rp2350.menu.opt.Disabled=Disabled (-O0) +sparkfun_iotredboard_rp2350.menu.opt.Disabled.build.flags.optimize=-O0 +sparkfun_iotredboard_rp2350.menu.profile.Disabled=Disabled +sparkfun_iotredboard_rp2350.menu.profile.Disabled.build.flags.profile= +sparkfun_iotredboard_rp2350.menu.profile.Enabled=Enabled +sparkfun_iotredboard_rp2350.menu.profile.Enabled.build.flags.profile=-pg -D__PROFILE +sparkfun_iotredboard_rp2350.menu.rtti.Disabled=Disabled +sparkfun_iotredboard_rp2350.menu.rtti.Disabled.build.flags.rtti=-fno-rtti +sparkfun_iotredboard_rp2350.menu.rtti.Enabled=Enabled +sparkfun_iotredboard_rp2350.menu.rtti.Enabled.build.flags.rtti= +sparkfun_iotredboard_rp2350.menu.stackprotect.Disabled=Disabled +sparkfun_iotredboard_rp2350.menu.stackprotect.Disabled.build.flags.stackprotect= +sparkfun_iotredboard_rp2350.menu.stackprotect.Enabled=Enabled +sparkfun_iotredboard_rp2350.menu.stackprotect.Enabled.build.flags.stackprotect=-fstack-protector +sparkfun_iotredboard_rp2350.menu.exceptions.Disabled=Disabled +sparkfun_iotredboard_rp2350.menu.exceptions.Disabled.build.flags.exceptions=-fno-exceptions +sparkfun_iotredboard_rp2350.menu.exceptions.Disabled.build.flags.libstdcpp=-lstdc++ +sparkfun_iotredboard_rp2350.menu.exceptions.Enabled=Enabled +sparkfun_iotredboard_rp2350.menu.exceptions.Enabled.build.flags.exceptions=-fexceptions +sparkfun_iotredboard_rp2350.menu.exceptions.Enabled.build.flags.libstdcpp=-lstdc++-exc +sparkfun_iotredboard_rp2350.menu.dbgport.Disabled=Disabled +sparkfun_iotredboard_rp2350.menu.dbgport.Disabled.build.debug_port= +sparkfun_iotredboard_rp2350.menu.dbgport.Serial=Serial +sparkfun_iotredboard_rp2350.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial +sparkfun_iotredboard_rp2350.menu.dbgport.Serial1=Serial1 +sparkfun_iotredboard_rp2350.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1 +sparkfun_iotredboard_rp2350.menu.dbgport.Serial2=Serial2 +sparkfun_iotredboard_rp2350.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2 +sparkfun_iotredboard_rp2350.menu.dbgport.SerialSemi=SerialSemi +sparkfun_iotredboard_rp2350.menu.dbgport.SerialSemi.build.debug_port=-DDEBUG_RP2040_PORT=SerialSemi +sparkfun_iotredboard_rp2350.menu.dbglvl.None=None +sparkfun_iotredboard_rp2350.menu.dbglvl.None.build.debug_level= +sparkfun_iotredboard_rp2350.menu.dbglvl.Core=Core +sparkfun_iotredboard_rp2350.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE +sparkfun_iotredboard_rp2350.menu.dbglvl.SPI=SPI +sparkfun_iotredboard_rp2350.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI +sparkfun_iotredboard_rp2350.menu.dbglvl.Wire=Wire +sparkfun_iotredboard_rp2350.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE +sparkfun_iotredboard_rp2350.menu.dbglvl.Bluetooth=Bluetooth +sparkfun_iotredboard_rp2350.menu.dbglvl.Bluetooth.build.debug_level=-DDEBUG_RP2040_BLUETOOTH +sparkfun_iotredboard_rp2350.menu.dbglvl.All=All +sparkfun_iotredboard_rp2350.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE -DDEBUG_RP2040_BLUETOOTH +sparkfun_iotredboard_rp2350.menu.dbglvl.NDEBUG=NDEBUG +sparkfun_iotredboard_rp2350.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG +sparkfun_iotredboard_rp2350.menu.usbstack.picosdk=Pico SDK +sparkfun_iotredboard_rp2350.menu.usbstack.picosdk.build.usbstack_flags= +sparkfun_iotredboard_rp2350.menu.usbstack.tinyusb=Adafruit TinyUSB +sparkfun_iotredboard_rp2350.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino" +sparkfun_iotredboard_rp2350.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host (native) +sparkfun_iotredboard_rp2350.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino" +sparkfun_iotredboard_rp2350.menu.usbstack.nousb=No USB +sparkfun_iotredboard_rp2350.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico" +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4only=IPv4 Only +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4only.build.libpicow=libipv4.a +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4only.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4ipv6=IPv4 + IPv6 +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4ipv6.build.libpicow=libipv4-ipv6.a +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4ipv6.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4btcble=IPv4 + Bluetooth +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4btcble.build.libpicow=libipv4-bt.a +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4btcble.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1 +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4ipv6btcble=IPv4 + IPv6 + Bluetooth +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4ipv6btcble.build.libpicow=libipv4-ipv6-bt.a +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4ipv6btcble.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1 +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4onlybig=IPv4 Only - 32K +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4onlybig.build.libpicow=libipv4-big.a +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4onlybig.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -D__LWIP_MEMMULT=2 +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4ipv6big=IPv4 + IPv6 - 32K +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4ipv6big.build.libpicow=libipv4-ipv6-big.a +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4ipv6big.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -D__LWIP_MEMMULT=2 +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4btcblebig=IPv4 + Bluetooth - 32K +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4btcblebig.build.libpicow=libipv4-bt-big.a +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4btcblebig.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1 -D__LWIP_MEMMULT=2 +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4ipv6btcblebig=IPv4 + IPv6 + Bluetooth - 32K +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4ipv6btcblebig.build.libpicow=libipv4-ipv6-bt-big.a +sparkfun_iotredboard_rp2350.menu.ipbtstack.ipv4ipv6btcblebig.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1 -D__LWIP_MEMMULT=2 +sparkfun_iotredboard_rp2350.menu.uploadmethod.default=Default (UF2) +sparkfun_iotredboard_rp2350.menu.uploadmethod.default.build.ram_length=512k +sparkfun_iotredboard_rp2350.menu.uploadmethod.default.build.debugscript=picoprobe_cmsis_dap.tcl +sparkfun_iotredboard_rp2350.menu.uploadmethod.default.upload.maximum_data_size=524288 +sparkfun_iotredboard_rp2350.menu.uploadmethod.default.upload.tool=uf2conv +sparkfun_iotredboard_rp2350.menu.uploadmethod.default.upload.tool.default=uf2conv +sparkfun_iotredboard_rp2350.menu.uploadmethod.default.upload.tool.network=uf2conv-network +sparkfun_iotredboard_rp2350.menu.uploadmethod.picotool=Picotool +sparkfun_iotredboard_rp2350.menu.uploadmethod.picotool.build.ram_length=512k +sparkfun_iotredboard_rp2350.menu.uploadmethod.picotool.build.debugscript=picoprobe.tcl +sparkfun_iotredboard_rp2350.menu.uploadmethod.picotool.build.picodebugflags=-DENABLE_PICOTOOL_USB +sparkfun_iotredboard_rp2350.menu.uploadmethod.picotool.upload.maximum_data_size=524288 +sparkfun_iotredboard_rp2350.menu.uploadmethod.picotool.upload.tool=picotool +sparkfun_iotredboard_rp2350.menu.uploadmethod.picotool.upload.tool.default=picotool +sparkfun_iotredboard_rp2350.menu.uploadmethod.picoprobe_cmsis_dap=Picoprobe/Debugprobe (CMSIS-DAP) +sparkfun_iotredboard_rp2350.menu.uploadmethod.picoprobe_cmsis_dap.build.ram_length=512k +sparkfun_iotredboard_rp2350.menu.uploadmethod.picoprobe_cmsis_dap.build.debugscript=picoprobe_cmsis_dap.tcl +sparkfun_iotredboard_rp2350.menu.uploadmethod.picoprobe_cmsis_dap.upload.maximum_data_size=524288 +sparkfun_iotredboard_rp2350.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool=picoprobe_cmsis_dap +sparkfun_iotredboard_rp2350.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool.default=picoprobe_cmsis_dap + # ----------------------------------- # SparkFun MicroMod RP2040 # ----------------------------------- diff --git a/package/package_pico_index.template.json b/package/package_pico_index.template.json index edcf5a963..4d7dfd43b 100644 --- a/package/package_pico_index.template.json +++ b/package/package_pico_index.template.json @@ -293,6 +293,9 @@ { "name": "Solder Party RP2350 Stamp XL" }, + { + "name": "SparkFun IoT RedBoard RP2350" + }, { "name": "SparkFun MicroMod RP2040" }, diff --git a/tools/json/sparkfun_iotredboard_rp2350.json b/tools/json/sparkfun_iotredboard_rp2350.json new file mode 100644 index 000000000..47ef59e0e --- /dev/null +++ b/tools/json/sparkfun_iotredboard_rp2350.json @@ -0,0 +1,56 @@ +{ + "build": { + "arduino": { + "earlephilhower": { + "boot2_source": "none.S", + "usb_vid": "0x1B4F", + "usb_pid": "0x0047" + } + }, + "core": "earlephilhower", + "cpu": "cortex-m33", + "extra_flags": "-DARDUINO_SPARKFUN_IOTREDBOARD_RP2350 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250 -DPICO_CYW43_SUPPORTED=1 -DCYW43_PIN_WL_DYNAMIC=1", + "f_cpu": "150000000L", + "hwids": [ + [ + "0x2E8A", + "0x00C0" + ], + [ + "0x1B4F", + "0x0047" + ] + ], + "mcu": "rp2350", + "variant": "sparkfun_iotredboard_rp2350" + }, + "debug": { + "jlink_device": "RP2350_0", + "openocd_target": "rp2350.cfg", + "svd_path": "rp2350.svd" + }, + "frameworks": [ + "arduino" + ], + "name": "IoT RedBoard RP2350", + "upload": { + "maximum_ram_size": 524288, + "maximum_size": 16777216, + "require_upload_port": true, + "native_usb": true, + "use_1200bps_touch": true, + "wait_for_upload_port": false, + "protocol": "picotool", + "protocols": [ + "blackmagic", + "cmsis-dap", + "jlink", + "raspberrypi-swd", + "picotool", + "picoprobe" + ], + "psram_length": 8388608 + }, + "url": "https://www.sparkfun.com/sparkfun-iot-redboard-rp2350.html", + "vendor": "SparkFun" +} \ No newline at end of file diff --git a/tools/makeboards.py b/tools/makeboards.py index 088938c24..64a185428 100755 --- a/tools/makeboards.py +++ b/tools/makeboards.py @@ -650,6 +650,7 @@ def MakeBoardJSON(name, chip, vendor_name, product_name, vid, pid, pwr, boarddef MakeBoard("solderparty_rp2350_stamp_xl", "rp2350", "Solder Party", "RP2350 Stamp XL", "0x1209", "0xa184", 500, "SOLDERPARTY_RP2350_STAMP_XL", 16, 0, "none", None, "https://www.solder.party/docs/rp2350-stamp-xl/") # SparkFun +MakeBoard("sparkfun_iotredboard_rp2350", "rp2350", "SparkFun", "IoT RedBoard RP2350", "0x1b4f", "0x0047", 250, "SPARKFUN_IOTREDBOARD_RP2350", 16, 8, "none", ["PICO_CYW43_SUPPORTED=1", "CYW43_PIN_WL_DYNAMIC=1"], "https://www.sparkfun.com/sparkfun-iot-redboard-rp2350.html") MakeBoard("sparkfun_micromodrp2040", "rp2040", "SparkFun", "MicroMod RP2040", "0x1b4f", "0x0026", 250, "SPARKFUN_MICROMOD_RP2040", 16, 0, "boot2_w25q080_2_padded_checksum") MakeBoard("sparkfun_promicrorp2040", "rp2040", "SparkFun", "ProMicro RP2040", "0x1b4f", "0x0026", 250, "SPARKFUN_PROMICRO_RP2040", 16, 0, "boot2_generic_03h_4_padded_checksum") MakeBoard("sparkfun_promicrorp2350", "rp2350", "SparkFun", "ProMicro RP2350", "0x1b4f", "0x0026", 250, "SPARKFUN_PROMICRO_RP2350", 16, 8, "none") diff --git a/variants/sparkfun_iotredboard_rp2350/digital.cpp b/variants/sparkfun_iotredboard_rp2350/digital.cpp new file mode 100644 index 000000000..2dc7a878e --- /dev/null +++ b/variants/sparkfun_iotredboard_rp2350/digital.cpp @@ -0,0 +1,33 @@ +/* + pinMode and digitalRead/Write for the Raspberry Pi Pico W RP2040 + Copyright (c) 2022 Earle F. Philhower, III + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include "Arduino.h" +#include + +extern "C" void pinMode(pin_size_t pin, PinMode mode) { + cyw43_pinMode(pin, mode); +} + +extern "C" void digitalWrite(pin_size_t pin, PinStatus val) { + cyw43_digitalWrite(pin, val); +} + +extern "C" PinStatus digitalRead(pin_size_t pin) { + return cyw43_digitalRead(pin); +} diff --git a/variants/sparkfun_iotredboard_rp2350/init.cpp b/variants/sparkfun_iotredboard_rp2350/init.cpp new file mode 100644 index 000000000..d4aa78e81 --- /dev/null +++ b/variants/sparkfun_iotredboard_rp2350/init.cpp @@ -0,0 +1,28 @@ +/* + Initialize the Pico W WiFi driver + + Copyright (c) 2022 Earle F. Philhower, III + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include +#include "pico/cyw43_driver.h" + +extern "C" void initVariant() { + static uint cyw43_pin_array[CYW43_PIN_INDEX_WL_COUNT] = {24, 38, 38, 38, 37, 36}; + cyw43_set_pins_wl(cyw43_pin_array); + init_cyw43_wifi(); +} diff --git a/variants/sparkfun_iotredboard_rp2350/pins_arduino.h b/variants/sparkfun_iotredboard_rp2350/pins_arduino.h new file mode 100644 index 000000000..1d549a375 --- /dev/null +++ b/variants/sparkfun_iotredboard_rp2350/pins_arduino.h @@ -0,0 +1,169 @@ +#pragma once + +#include +#include + +#define PICO_RP2350B 1 +#define PICO_RP2350A 0 + +#define PINS_COUNT (48u) +#define NUM_DIGITAL_PINS (48u) +#define NUM_ANALOG_INPUTS (7u) +#define NUM_ANALOG_OUTPUTS (0u) +#define ADC_RESOLUTION (12u) + +// LEDs +#define PIN_LED (25u) +#define LED_BUILTIN PIN_LED + +#define PIN_WL_LED (64u) + +#define PIN_NEOPIXEL (3u) +#define NUM_NEOPIXEL (1u) + +// Serial +#define PIN_SERIAL1_TX (0u) +#define PIN_SERIAL1_RX (1u) + +#define PIN_SERIAL2_TX (40u) +#define PIN_SERIAL2_RX (41u) + +// External SPI +#define PIN_SPI0_MISO (20u) +#define PIN_SPI0_MOSI (23u) +#define PIN_SPI0_SCK (22u) +#define PIN_SPI0_SS (21u) // CS pin for External SPI. + +#define PIN_SPI0_POCI PIN_SPI0_MISO +#define PIN_SPI0_PICO PIN_SPI0_MOSI +#define PIN_SPI0_CS PIN_SPI0_SS + +// SD Card SPI +#define PIN_SPI1_MISO (8u) +#define PIN_SPI1_MOSI (11u) +#define PIN_SPI1_SCK (10u) +#define PIN_SPI1_SS (9u) // CS pin for SD card. + +#define PIN_SPI1_POCI PIN_SPI1_MISO +#define PIN_SPI1_PICO PIN_SPI1_MOSI +#define PIN_SPI1_CS PIN_SPI1_SS + +// Wire +#define PIN_WIRE0_SDA (4u) +#define PIN_WIRE0_SCL (5u) + +#define PIN_WIRE1_SDA (30u) +#define PIN_WIRE1_SCL (31u) + +#define SERIAL_HOWMANY (3u) +#define SPI_HOWMANY (2u) +#define WIRE_HOWMANY (2u) +#define WIRE_INTERFACES_COUNT (WIRE_HOWMANY) + +// PSRAM +#define RP2350_PSRAM_CS (47u) +#define RP2350_PSRAM_MAX_SCK_HZ (109*1000*1000) + +/* Pin mappings for marked pins on the board */ +// UART0 +static const uint8_t D0 = (0u); +static const uint8_t D1 = (1u); + +// I2C0 +static const uint8_t D4 = (4u); +static const uint8_t D5 = (5u); + +// SD Card/SPI1 +static const uint8_t D8 = (8u); +static const uint8_t D9 = (9u); +static const uint8_t D10 = (10u); +static const uint8_t D11 = (11u); + +// HSTX GPIO +static const uint8_t D12 = (12u); +static const uint8_t D13 = (13u); +static const uint8_t D14 = (14u); +static const uint8_t D15 = (15u); +static const uint8_t D16 = (16u); +static const uint8_t D17 = (17u); +static const uint8_t D18 = (18u); +static const uint8_t D19 = (19u); + +// SPI0 +static const uint8_t D20 = (20u); +static const uint8_t D21 = (21u); +static const uint8_t D22 = (22u); +static const uint8_t D23 = (23u); + +// External GPIO +static const uint8_t D28 = (28u); +static const uint8_t D29 = (29u); +static const uint8_t D30 = (30u); +static const uint8_t D31 = (31u); +static const uint8_t D32 = (32u); +static const uint8_t D33 = (33u); +static const uint8_t D34 = (34u); +static const uint8_t D35 = (35u); + +// Analog Inputs are also digital capable. +static const uint8_t D40 = (40u); +static const uint8_t D41 = (41u); +static const uint8_t D42 = (42u); +static const uint8_t D43 = (43u); +static const uint8_t D44 = (44u); +static const uint8_t D45 = (45u); + +static const uint8_t A0 = (40u); +static const uint8_t A1 = (41u); +static const uint8_t A2 = (42u); +static const uint8_t A3 = (43u); +static const uint8_t A4 = (44u); +static const uint8_t A5 = (45u); + +// SD Card detect - Active Low +static const uint8_t SD_DET_N = (2u); + +// RGB LED data pin +static const uint8_t RGB_LED = (3u); + +// Low battery alert - Active Low +static const uint8_t BATT_ALRT_N = (6u); + +// Power enable for peripherals - qwiic, sd, rgb. Default HIGH via HW jumper. +static const uint8_t PERIPHERAL_POWER_ENABLE = (7u); + +// WiFi power GPIO +static const uint8_t WRL_ON = (24u); + +// aka STAT LED +static const uint8_t D25 = (25u); + +// Power status inputs +static const uint8_t POWER_SRC_5V = (26u); +static const uint8_t BATT_POWER = (27u); + +// User button +static const uint8_t USER_SW = (39u); + +// Input voltage measurement +static const uint8_t VIN_MEAS = (46u); + +static const uint8_t SS = PIN_SPI0_SS; +static const uint8_t CS = PIN_SPI0_CS; + +static const uint8_t MOSI = PIN_SPI0_MOSI; +static const uint8_t PICO = PIN_SPI0_PICO; + +static const uint8_t MISO = PIN_SPI0_MISO; +static const uint8_t POCI = PIN_SPI0_POCI; + +static const uint8_t SCK = PIN_SPI0_SCK; + +static const uint8_t SDA = PIN_WIRE0_SDA; +static const uint8_t SCL = PIN_WIRE0_SCL; + +static const uint8_t SDA1 = PIN_WIRE1_SDA; +static const uint8_t SCL1 = PIN_WIRE1_SCL; + +static const uint8_t RX = PIN_SERIAL1_RX; +static const uint8_t TX = PIN_SERIAL1_TX;