2025-10-07

試用 Core2350B

Raspberry Pi 雖然發佈了 RP2040 及 RP2350 這兩款微控制器晶片
但其下的 Raspberry Pi Pico 產品系列都沒有將 RP2040 及 RP2350 所有GPIO引腳導出
因此在下找尋一些基於 RP2040 及 RP2350 而且能夠 所有GPIO引腳 的 第三方廠商設計的開發板

在下發現一款稱為 Core2350B 的開發板,搭載 RP2350B 微控制器,擁有 48 個 GPIO 引腳
即是 Core2350B 將 RP2350B 所有GPIO引腳 全部導出

外觀

Core2350B 的 正面

Core2350B 採用 0.1英寸孔距設計,方便焊接到標準的 0.1英寸引腳上

與雙排引腳設計不同,Core2350B 使用四邊引腳的設計,而且每邊為雙行,這種設計並不適合安裝到麵包板上使用

Core2350B 使用 RP2350B晶片

J2YX穩壓器

板載LED ,當高電壓時亮著

USB+ USB- BOOT RST GND VCC

FPC 6-Pin 連接器, 6支引腳 分別連接到:

FPC 6-Pin Core2350B 顏色
VCC VBUS
GND GND
RST RUN
BOOT BOOT
USB- USB-
USB+ USB+

需要注意的是,Core2350B 沒有USB插口,用戶需自行將其 VBUSGNDUSB+USB- 連接到電腦的相應 USB 的引腳,才能讓電腦識別
不過,Core2350B 還提供 FPC 6-Pin 連接器和帶有 FPC 6-Pin 的 USB 插口控制板,可以讓 Core2350B 經 USB 連接到電腦

Core2350B 的 背面

64Mb(8MB) PSRAM

雖然晶片表面已經刮損,但在下從外觀、封裝、引腳數量翻查資料,估計是 AP MEMORY 公司的 6404L

winbond 公司 的 25Q128JV 快閃記憶體,提供額外 128Mb(16MB) 的儲存空間

USB 連接板,提供 FPC 6-Pin 連接器連接到 Core2350B
還有 BOOT按鈕RESET按鈕 ,能夠協助重新啟動 Core2350B 及將 Core2350 載入到 起動模式

FPC 6-Pin 排線

將 Core2350B 連接到 FPC 6-Pin 連接板便可以使用 USB 連接到電腦

引腳

GND IO0 VBUS 3V3EN RUN USB+ USB- BOOT IO47 GND IO2 IO1 3V3 GND AREF SWCLK SWGND SWDIO IO46 IO45 IO4 IO3 IO43 IO44 IO6 IO5 IO41 IO42 IO8 IO7 IO39 IO40 IO10 IO9 IO37 IO38 IO12 IO11 IO35 IO36 IO14 IO13 IO33 IO34 IO15 IO16 IO18 IO20 IO22 IO24 IO26 IO28 IO31 IO32 GND IO17 IO19 IO21 IO23 IO25 IO27 IO29 IO30 GND

Core2350B 共有 64支引腳,其中 48支GPIO引腳 及其餘 16支引腳,分別為:

引腳 功能
VUSB 電源輸入
3V3 3.3V 電源輸出
GND 接地
3V3EN 高電壓時,啟動 3.3V 電源輸出
AREF 調整 ADC 的電壓
BOOT 接地時載入到起動模式
RUN 接地後 重新啟動
USB+ 連接到 電腦的USB+ 以發送及接收資料
USB- 連接到 電腦的USB- 以發送及接收資料
SWCLK 偵錯用的 序列時脈引腳
SWGND 偵錯用的 接地,與 GND 相連
SWDIO 偵錯用的 序列輸入輸出引腳

當中有 5支引腳為 GND
GPIO引腳中,GPIO39 與 板載LED 連接,高電壓時亮著;而 GPIO40 至 GPIO47 的 8 個引腳具備 ADC 功能

GPIO 引腳
引腳 SPI I2C UART PWM ADC 其他
功能 群組 功能 群組 功能 群組 功能 群組
GPIO0 MISO 0 SDA 0 TX 0 A 0 - -
GPIO1 SS 0 SCL 0 RX 0 B 0 - -
GPIO2 SCK 0 SDA 1 TX 0 A 1 - -
GPIO3 MOSI 0 SCL 1 RX 0 B 1 - -
GPIO4 MISO 0 SDA 0 TX 1 A 2 - -
GPIO5 SS 0 SCL 0 RX 1 B 2 - -
GPIO6 SCK 0 SDA 1 TX 1 A 3 - -
GPIO7 MOSI 0 SCL 1 RX 1 B 3 - -
GPIO8 MISO 1 SDA 0 TX 1 A 4 - -
GPIO9 SS 1 SCL 0 RX 1 B 4 - -
GPIO10 SCK 1 SDA 1 TX 1 A 5 - -
GPIO11 MOSI 1 SCL 1 RX 1 B 5 - -
GPIO12 MISO 1 SDA 0 TX 0 A 6 - HSTX
GPIO13 SS 1 SCL 0 RX 0 B 6 - HSTX
GPIO14 SCK 1 SDA 1 TX 0 A 7 - HSTX
GPIO15 MOSI 1 SCL 1 RX 0 B 7 - HSTX
GPIO16 MISO 0 SDA 0 TX 0 A 0 - HSTX
GPIO17 SS 0 SCL 0 RX 0 B 0 - HSTX
GPIO18 SCK 0 SDA 1 TX 0 A 1 - HSTX
GPIO19 MOSI 0 SCL 1 RX 0 B 1 - HSTX
GPIO20 MISO 0 SDA 0 TX 1 A 2 - -
GPIO21 SS 0 SCL 0 RX 1 B 2 - -
GPIO22 SCK 0 SDA 1 TX 1 A 3 - -
GPIO23 MOSI 0 SCL 1 RX 1 B 3 - -
GPIO24 MISO 1 SDA 0 TX 1 A 4 - -
GPIO25 SS 1 SCL 0 RX 1 B 4 - -
GPIO26 SCK 1 SDA 1 TX 1 A 5 - -
GPIO27 MOSI 1 SCL 1 RX 1 B 5 - -
GPIO28 MISO 1 SDA 0 TX 0 A 6 - -
GPIO29 SS 1 SCL 0 RX 0 B 6 - -
GPIO30 SCK 1 SDA 1 TX 0 A 7 - -
GPIO31 MOSI 1 SCL 1 RX 0 B 7 - -
GPIO32 MISO 0 SDA 0 TX 0 A 8 - -
GPIO33 SS 0 SCL 0 RX 0 B 8 - -
GPIO34 SCK 0 SDA 1 TX 0 A 9 - -
GPIO35 MOSI 0 SCL 1 RX 0 B 9 - -
GPIO36 MISO 0 SDA 0 TX 1 A 10 - -
GPIO37 SS 0 SCL 0 RX 1 B 10 - -
GPIO38 SCK 0 SDA 1 TX 1 A 11 - -
GPIO39 MOSI 0 SCL 1 RX 1 B 11 - -
GPIO40 MISO 1 SDA 0 TX 1 A 8 0 -
GPIO41 SS 1 SCL 0 RX 1 B 8 1 -
GPIO42 SCK 1 SDA 1 TX 1 A 9 2 -
GPIO43 MOSI 1 SCL 1 RX 1 B 9 3 -
GPIO44 MISO 1 SDA 0 TX 0 A 10 4 -
GPIO45 SS 1 SCL 0 RX 0 B 10 5 -
GPIO46 SCK 1 SDA 1 TX 0 A 11 6 -
GPIO47 MOSI 1 SCL 1 RX 0 B 11 7 PSRAM

使用 Arduino IDE

Additional Boards Manager URLs 加入

https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

Boards Manager 尋找 rp2350 並下載及安裝其開發板套件

雖然同屬於 RP2350 ,但 Raspberry Pi Pico 2 是使用 RP2350A 不是 RP2350B
因此不能使用 Raspberry Pi Pico 2 (或兼容開發板) 的配置來編譯及燒錄韌體到 Core2350B

在選擇編譯的開發板時,選擇 Raspberry Pi RP2040 (*) > Pimoroni PGA2350

(Core2350B 其實是模仿 Pimoroni PGA2350 的開發板,同樣是使用 RP2350B晶片
雖然兩者都是導出 48支 GPIO引腳,但兩款開發板的引腳佈局並不兼容,因此兩者不能直接替待
Core2350B 只是借用 Pimoroni PGA2350 的 函式庫 編譯 與 Core2350B 兼容的 韌體)

測試效果

使用 MicroPython

使用 MicroPython 同樣需要借用其他同樣使用 RP2350B晶片 的開發板,但在 MicroPython 支援 RP2350B晶片 並不多
在下暫時只發現由 WeAct Studio 提供的 RP2350B Core 的韌體兼容 Core2350B ,建議下載及安裝最新的穩定版本

亦可以在 Terminal 輸入:

wget `curl --request 'GET' 'https://micropython.org/download/WEACTSTUDIO_RP2350B_CORE/' \
| grep 'CORE-[^R].\+\.uf2' \
| head -1 \
| sed -r 's/.+href="([^"]+)".+/https:\/\/micropython.org\1/g'`

直接下載最新的穩定版本

如果使用 RISC-V 版本,可以輸入:

wget `curl --request 'GET' 'https://micropython.org/download/WEACTSTUDIO_RP2350B_CORE/' \
| grep 'CORE-R.\+\.uf2' \
| head -1 \
| sed -r 's/.+href="([^"]+)".+/https:\/\/micropython.org\1/g'`

直接下載最新的 RISC-V 穩定版本

將 Core2350B 載入到起動模式,並將 .uf2檔案 (韌體) 複製到 Core2350B 的目錄

使用 Thonny IDE
Thonny options > Interpreter ,選擇 MicroPython (generic)
便可以編寫支援 RP2350B晶片 的 MicroPython 程式碼

說明

from machine import Pin
from time import sleep
led = Pin(39, Pin.OUT)
while True:
	led.value(not led.value())
    sleep(1)

使用 CircuitPython

CircuitPython 沒有提供支援 Core2350B開發板 的韌體
因此需要借用其他支援 RP2350B晶片 的開發板的韌體才能使用 CircuitPython
在下在 CircuitPython 找到 PGA2350開發板 的韌體,即是剛才在 Arduino IDE 提及的 Pimoroni PGA2350 完全相同

可以在 Terminal 輸入:

wget `curl --request 'GET' 'https://circuitpython.org/board/pimoroni_pga2350/' \
| grep 'value.\+US.\+b.\+\.uf2' \
| sed -r 's/.*"([^"]+)".*/\1/g'`

直接下載最新的穩定版本

如果使用 測試版本,可以輸入:

wget `curl --request 'GET' 'https://circuitpython.org/board/pimoroni_pga2350/' \
| grep 'value.\+en_US-[^b]\+\.uf2' \
| sed -r 's/.*"([^"]+)".*/\1/g'`

直接下載最新的 測試版本

from digitalio import DigitalInOut, Direction
from time import sleep
import board
led = DigitalInOut(board.GP39)
led.direction = Direction.OUTPUT
while True:
	led.value = not led.value
	sleep(1)

由於安裝 CircuitPython 韌體的 Core2350B 同樣與 Raspberry Pi Pico 相同,會被宿主系統當作儲存裝置
因此當掛載 Core2350B 後,便可以使用任何文字編輯軟件修改 Core2350B 中的檔案

如果使用 Thonny IDE 的指令操作直接編寫 CurcuitPython 的程式碼來控制 Core2350B
需要到 Thonny options > Interpreter ,選擇 CircuitPython (generic)
便可以編寫支援 RP2350B晶片 的 CircuitPython 程式碼

補充資料

由於在下有一些 Mini USB Type-B 的 USB線,而在下亦越來越少使用 Mini USB Type-B 插孔的 USB裝置
因此在下將 USB線 的 Mini USB Type-B 插頭剪掉,並將 0.1英寸引腳 焊接到線路上
方便安裝到麵包或其他使用 0.1英寸的電路板插孔上

由於焊接引腳的線路有機會因為焊接受熱後減弱強度,在下在焊接的位置加上 UV膠 並將其硬化 以增加強度
令線路不能容易折斷及避免焊接的位置脫落

測試效果
在下直接將 USB線 的引腳連接到 Core2350B 的 USB引腳,便可以不使用 FPC 6-Pin 連接板
但亦即是需要自行改裝 USB線

RP2040 引腳佈局
RP2040 GND Top View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 IOVDD GPIO0 GPIO1 GPIO2 GPIO3 GPIO4 GPIO5 GPIO6 GPIO7 IOVDD GPIO8 GPIO9 GPIO10 GPIO11 GPIO12 GPIO13 GPIO14 GPIO15 TESTEN XIN XOUT IOVDD DVDD SWCLK SWDIO RUN GPIO16 GPIO17 IOVDD GPIO29_ADC3 GPIO28_ADC2 GPIO27_ADC1 GPIO26_ADC0 GPIO25 GPIO24 GPIO23 GPIO22 IOVDD GPIO21 GPIO20 GPIO19 GPIO18 QSPI_SS_N QSPI_SD1 QSPI_SD2 QSPI_SD0 QSPI_SCLK QSPI_SD3 DVDD IOVDD USB_VDD USB_DP USB_DM VREF_VOUT VREF_VIN ADC_AVDD

RP2040 總共有 56支引腳,共有 30支GPIO引腳,其中 4支GPIO引腳 具備 ADC 功能

RP2350A 引腳佈局
RP2350A GND Top View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 IOVDD GPIO0 GPIO1 GPIO2 GPIO3 DVDD GPIO4 GPIO5 GPIO6 GPIO7 IOVDD GPIO8 GPIO9 GPIO10 GPIO11 GPIO12 GPIO13 GPIO14 GPIO15 IOVDD XIN XOUT DVDD SWCLK SWDIO RUN GPIO16 GPIO17 GPIO18 IOVDD IOVDD ADC_AVDD GPIO29_ADC3 GPIO28_ADC2 GPIO27_ADC1 GPIO26_ADC0 DVDD IOVDD GPIO25 GPIO24 GPIO23 GPIO22 GPIO21 GPIO20 GPIO19 QSPI_SS QSPI_SD1 QSPI_SD2 QSPI_SD0 QSPI_SCLK QSPI_SD3 QSPI_IOVDD USB_TOP_VDD USB_DP USB_DM VREF_FB VREF_VIN VREF_LX VREF_PGND VREG_AVDD

RP2350A 總共有 60支引腳,與 RP2040 相同,共有 30支GPIO引腳,其中 4支GPIO引腳 具備 ADC 功能

RP2350B 引腳佈局
RP2350B GND Top View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 GPIO4 GPIO5 GPIO6 GPIO7 IOVDD GPIO8 GPIO9 GPIO10 GPIO11 DVDD GPIO12 GPIO13 GPIO14 GPIO15 IOVDD GPIO16 GPIO17 GPIO18 GPIO19 GPIO20 GPIO21 GPIO22 GPIO23 IOVDD GPIO24 GPIO25 GPIO26 GPIO26 IOVDD XIN XOUT DVDD SWCLK SWDIO RUN GPIO28 GPIO29 GPIO30 GPIO31 GPIO32 IOVDD ADC_AVDD GPIO47_ADC7 GPIO46_ADC6 GPIO45_ADC5 GPIO44_ADC4 GPIO43_ADC3 GPIO42_ADC2 GPIO41_ADC1 DVDD IOVDD GPIO40_ADC0 GPIO39 GPIO38 GPIO37 GPIO36 GPIO35 GPIO34 GPIO33 IOVDD GPIO3 GPIO2 GPIO1 GPIO0 IOVDD QSPI_SS QSPI_SD1 QSPI_SD2 QSPI_SD0 QSPI_SCLK QSPI_SD3 QSPI_IOVDD USB_TOP_VDD USB_DP USB_DM VREF_FB VREF_VIN VREF_LX VREF_PGND VREG_AVDD

RP2350B 總共有 80支引腳,共有 48支GPIO引腳,其中 8支GPIO引腳 具備 ADC 功能

Raspberry Pi 官方的說明文件其實都有提供 RP2350A 及 RP2350B 的引腳佈局
不過在下希望可以在列印引腳佈局的圖像不會失真,因此以 SVG格式 重新繪製 引腳佈局的圖像

總結

整個 Core2350B 開發板的長闊各只有 1英寸,但卻能導出 48支GPIO引腳
而且亦導出 起動引腳 及 重置引腳 ,非常適合開發需要使用大量 GPIO 的小型裝置

沒有 USB插孔 令 Core2350B 省卻不少空間,而且亦比較扁平
提供 FPC 6-Pin 連接板讓 Core2350B 經 USB Type-C 連接到 宿主電腦
亦可以使用導出的 2支USB引腳 ,直接使用 USB線(需要自行開線) 連接到 宿主電腦

4邊2行的設計,不適合安裝在麵包上測試,如果需要方便使用,必須設計專有的轉接電路板
否則需要直接使用跳線連接到

在下一直認為 Raspberry Pi 官方發佈的 Raspberry Pi Pico 系列不導出 所有GPIO引腳 的設計感到很奇怪
雖然普遍情況下,使用者都不需要使用 所有GPIO引腳,但最少也應該將具備 ADC 功能的 GPIO引腳 導出
但 Raspberry Pi Pico 系列只將 3支具備 ADC 的 GPIO引腳 導出
反而 第三方廠商設計的 RP2040 、 RP2350* 的開發板 都會優先將 所有具備 ADC 的 GPIO引腳 導出
因此在下希望 Raspberry Pi 官方再發佈新型的 微控制器 時,會考慮製作優先導出所有具備 ADC 功能的 GPIO引腳 的 開發板
而且能夠減少 GND引腳 的數量

參考資料

沒有留言 :

張貼留言