Skip to content

Commit 7a4a11e

Browse files
authored
Add RP2350 PiZero (#3110)
1 parent edcd9d1 commit 7a4a11e

File tree

6 files changed

+451
-0
lines changed

6 files changed

+451
-0
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,8 @@ Read the [Contributing Guide](https://github.com/earlephilhower/arduino-pico/blo
117117
* Waveshare RP2040 LCD 1.28
118118
* Waveshare RP2040 Matrix
119119
* Waveshare RP2040 PiZero
120+
* Waveshare RP2350 Zero
121+
* Waveshare RP2350 PiZero
120122
* Waveshare RP2350 Plus
121123
* Waveshare RP2350 LCD 0.96
122124
* WIZnet W5100S-EVB-Pico

boards.txt

Lines changed: 351 additions & 0 deletions
Large diffs are not rendered by default.

package/package_pico_index.template.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,9 @@
383383
{
384384
"name": "Waveshare RP2350 Zero"
385385
},
386+
{
387+
"name": "Waveshare RP2350 PiZero"
388+
},
386389
{
387390
"name": "Waveshare RP2350 Plus"
388391
},
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
{
2+
"build": {
3+
"arduino": {
4+
"earlephilhower": {
5+
"boot2_source": "none.S",
6+
"usb_vid": "0x2E8A",
7+
"usb_pid": "0x000F"
8+
}
9+
},
10+
"core": "earlephilhower",
11+
"cpu": "cortex-m33",
12+
"extra_flags": "-DARDUINO_WAVESHARE_RP2350_PIZERO -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500 ",
13+
"f_cpu": "150000000L",
14+
"hwids": [
15+
[
16+
"0x2E8A",
17+
"0x00C0"
18+
],
19+
[
20+
"0x2E8A",
21+
"0x000F"
22+
]
23+
],
24+
"mcu": "rp2350",
25+
"variant": "waveshare_rp2350_pizero"
26+
},
27+
"debug": {
28+
"jlink_device": "RP2350_M33_0",
29+
"openocd_target": "rp2350.cfg",
30+
"svd_path": "rp2350.svd"
31+
},
32+
"frameworks": [
33+
"arduino",
34+
"picosdk"
35+
],
36+
"name": "RP2350 PiZero",
37+
"upload": {
38+
"maximum_ram_size": 524288,
39+
"maximum_size": 16777216,
40+
"require_upload_port": true,
41+
"native_usb": true,
42+
"use_1200bps_touch": true,
43+
"wait_for_upload_port": false,
44+
"protocol": "picotool",
45+
"protocols": [
46+
"blackmagic",
47+
"cmsis-dap",
48+
"jlink",
49+
"raspberrypi-swd",
50+
"picotool",
51+
"picoprobe"
52+
]
53+
},
54+
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
55+
"vendor": "Waveshare"
56+
}

tools/makeboards.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -714,6 +714,7 @@ def MakeBoardJSON(name, chip, vendor_name, product_name, vid, pid, pwr, boarddef
714714
MakeBoard("waveshare_rp2040_lcd_0_96", "rp2040", "Waveshare", "RP2040 LCD 0.96", "0x2e8a", "0x1021", 500, "WAVESHARE_RP2040_LCD_0_96", 2, 0, "boot2_w25q16jvxq_4_padded_checksum")
715715
MakeBoard("waveshare_rp2040_lcd_1_28", "rp2040", "Waveshare", "RP2040 LCD 1.28", "0x2e8a", "0x1039", 500, "WAVESHARE_RP2040_LCD_1_28", 2, 0, "boot2_w25q16jvxq_4_padded_checksum")
716716
MakeBoard("waveshare_rp2350_zero", "rp2350", "Waveshare", "RP2350 Zero", "0x2e8a", "0x10B0", 500, "WAVESHARE_RP2350_ZERO", 4, 0, "none")
717+
MakeBoard("waveshare_rp2350_pizero", "rp2350", "Waveshare", "RP2350 PiZero", "0x2e8a", "0x000F", 500, "WAVESHARE_RP2350_PIZERO", 16, 0, "none")
717718
MakeBoard("waveshare_rp2350_plus", "rp2350", "Waveshare", "RP2350 Plus", "0x2e8a", "0x10B1", 500, "WAVESHARE_RP2350_PLUS", 4, 0, "none")
718719
MakeBoard("waveshare_rp2350_lcd_0_96", "rp2350", "Waveshare", "RP2350 LCD 0.96", "0x2e8a", "0x10B7", 500, "WAVESHARE_RP2350_LCD_0_96", 4, 0, "none")
719720

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#pragma once
2+
3+
// Waveshare RP2350 PiZero
4+
// https://www.waveshare.com/wiki/RP2350-PiZero
5+
// https://files.waveshare.com/wiki/RP2350-PiZero/RP2350-PiZero.pdf
6+
7+
#define PICO_RP2350A 1
8+
9+
// Serial
10+
#define PIN_SERIAL1_TX (0u)
11+
#define PIN_SERIAL1_RX (1u)
12+
13+
#define PIN_SERIAL2_TX (8u)
14+
#define PIN_SERIAL2_RX (9u)
15+
16+
// SPI
17+
#define PIN_SPI0_MISO (16u)
18+
#define PIN_SPI0_MOSI (19u)
19+
#define PIN_SPI0_SCK (18u)
20+
#define PIN_SPI0_SS (17u)
21+
22+
#define PIN_SPI1_MISO (12u)
23+
#define PIN_SPI1_MOSI (15u)
24+
#define PIN_SPI1_SCK (14u)
25+
#define PIN_SPI1_SS (13u)
26+
27+
// Wire
28+
#define PIN_WIRE0_SDA (4u)
29+
#define PIN_WIRE0_SCL (5u)
30+
31+
#define PIN_WIRE1_SDA (26u)
32+
#define PIN_WIRE1_SCL (27u)
33+
34+
#define SERIAL_HOWMANY (3u)
35+
#define SPI_HOWMANY (2u)
36+
#define WIRE_HOWMANY (2u)
37+
38+
#include "../generic/common.h"

0 commit comments

Comments
 (0)