Skip to content

Commit 2b64066

Browse files
authored
Added RP2040-ProMini board to the project. (#1674)
1 parent 9d0f0a8 commit 2b64066

File tree

6 files changed

+453
-0
lines changed

6 files changed

+453
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ Read the [Contributing Guide](https://github.com/earlephilhower/arduino-pico/blo
6969
* WIZnet W5100S-EVB-Pico
7070
* WIZnet W5500-EVB-Pico
7171
* WIZnet WizFi360-EVB-Pico
72+
* Redscorp RP2040-ProMini
7273
* Generic (configurable flash, I/O pins)
7374

7475
# Installing via Arduino Boards Manager

boards.txt

Lines changed: 288 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
@@ -209,6 +209,9 @@
209209
{
210210
"name": "WIZnet W5500-EVB-Pico"
211211
},
212+
{
213+
"name": "redscorp RP2040-ProMini"
214+
},
212215
{
213216
"name": "Generic RP2040"
214217
}
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": "boot2_w25q080_2_padded_checksum.S",
6+
"usb_vid": "0x2341",
7+
"usb_pid": "0x005F"
8+
}
9+
},
10+
"core": "earlephilhower",
11+
"cpu": "cortex-m0plus",
12+
"extra_flags": "-D ARDUINO_REDSCORP_RP2040_PROMINI -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
13+
"f_cpu": "133000000L",
14+
"hwids": [
15+
[
16+
"0x2E8A",
17+
"0x00C0"
18+
],
19+
[
20+
"0x2341",
21+
"0x005F"
22+
]
23+
],
24+
"mcu": "rp2040",
25+
"variant": "redscorp-rp2040-promini"
26+
},
27+
"debug": {
28+
"jlink_device": "RP2040_M0_0",
29+
"openocd_target": "rp2040.cfg",
30+
"svd_path": "rp2040.svd"
31+
},
32+
"frameworks": [
33+
"arduino"
34+
],
35+
"name": "RP2040-ProMini",
36+
"upload": {
37+
"maximum_ram_size": 270336,
38+
"maximum_size": 16777216,
39+
"require_upload_port": true,
40+
"native_usb": true,
41+
"use_1200bps_touch": true,
42+
"wait_for_upload_port": false,
43+
"protocol": "picotool",
44+
"protocols": [
45+
"blackmagic",
46+
"cmsis-dap",
47+
"jlink",
48+
"raspberrypi-swd",
49+
"picotool",
50+
"picoprobe",
51+
"pico-debug"
52+
]
53+
},
54+
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
55+
"vendor": "redscorp"
56+
}

tools/makeboards.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -449,6 +449,9 @@ def MakeBoardJSON(name, vendor_name, product_name, vid, pid, pwr, boarddefine, f
449449
MakeBoard("wiznet_wizfi360_evb_pico", "WIZnet", "WizFi360-EVB-Pico", "0x2e8a", "0x1028", 250, "WIZNET_WIZFI360_EVB_PICO", 2, "boot2_w25q080_2_padded_checksum")
450450
MakeBoard("wiznet_5500_evb_pico", "WIZnet", "W5500-EVB-Pico", "0x2e8a", "0x1029", 250, "WIZNET_5500_EVB_PICO", 2, "boot2_w25q080_2_padded_checksum")
451451

452+
# AG
453+
MakeBoard("redscorp-rp2040-promini", "redscorp", "RP2040-ProMini", "0x2341", ["0x005f", "0x805f", "0x015f", "0x025f"] , 250, "REDSCORP_RP2040_PROMINI", 16, "boot2_w25q080_2_padded_checksum")
454+
452455
# Generic
453456
MakeBoard("generic", "Generic", "RP2040", "0x2e8a", "0xf00a", 250, "GENERIC_RP2040", 16, "boot2_generic_03h_4_padded_checksum")
454457

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
/* RP2040-ProMini board support
2+
URL: https://github.com/red-scorp/RP2040-ProMini
3+
Based on Arduino Nano Connect configuration */
4+
5+
#pragma once
6+
7+
// Pin definitions taken from:
8+
// https://datasheets.raspberrypi.org/pico/pico-datasheet.pdf
9+
static const uint8_t D0 = (1u);
10+
static const uint8_t D1 = (0u);
11+
static const uint8_t D2 = (25u);
12+
static const uint8_t D3 = (15u);
13+
static const uint8_t D4 = (16u);
14+
static const uint8_t D5 = (17u);
15+
static const uint8_t D6 = (18u);
16+
static const uint8_t D7 = (19u);
17+
static const uint8_t D8 = (20u);
18+
static const uint8_t D9 = (21u);
19+
static const uint8_t D10 = (5u);
20+
static const uint8_t D11 = (7u);
21+
static const uint8_t D12 = (4u);
22+
static const uint8_t D13 = (6u);
23+
static const uint8_t D14 = (26u);
24+
static const uint8_t D15 = (27u);
25+
static const uint8_t D16 = (28u);
26+
static const uint8_t D17 = (29u);
27+
static const uint8_t D18 = (12u);
28+
static const uint8_t D19 = (13u);
29+
static const uint8_t D20 = (22u);
30+
static const uint8_t D21 = (23u);
31+
static const uint8_t D22 = (2u);
32+
static const uint8_t D23 = (24u);
33+
static const uint8_t D24 = (3u);
34+
static const uint8_t D25 = (8u);
35+
static const uint8_t D26 = (9u);
36+
static const uint8_t D27 = (10u);
37+
static const uint8_t D28 = (11u);
38+
static const uint8_t D29 = (14u);
39+
40+
static const uint8_t A0 = (26u);
41+
static const uint8_t A1 = (27u);
42+
static const uint8_t A2 = (28u);
43+
static const uint8_t A3 = (29u);
44+
45+
// LEDs
46+
#define PIN_LED (D13)
47+
48+
// Serial
49+
#define PIN_SERIAL1_TX (D1)
50+
#define PIN_SERIAL1_RX (D0)
51+
52+
#define PIN_SERIAL2_TX (D25)
53+
#define PIN_SERIAL2_RX (D26)
54+
#define PIN_SERIAL2_CTS (D27)
55+
#define PIN_SERIAL2_RTS (D28)
56+
57+
// SPI
58+
#define PIN_SPI0_MISO (D12)
59+
#define PIN_SPI0_MOSI (D11)
60+
#define PIN_SPI0_SCK (D13)
61+
#define PIN_SPI0_SS (D10)
62+
63+
#define PIN_SPI1_MISO (D25)
64+
#define PIN_SPI1_MOSI (D28)
65+
#define PIN_SPI1_SCK (D29)
66+
#define PIN_SPI1_SS (D10)
67+
68+
// Wire
69+
#define PIN_WIRE0_SDA (D18)
70+
#define PIN_WIRE0_SCL (D19)
71+
72+
#define PIN_WIRE1_SDA (D14)
73+
#define PIN_WIRE1_SCL (D15)
74+
75+
#define SERIAL_HOWMANY (3u)
76+
#define SPI_HOWMANY (2u)
77+
#define WIRE_HOWMANY (1u)
78+
79+
#define PINS_COUNT (30u)
80+
#define NUM_DIGITAL_PINS (30u)
81+
#define NUM_ANALOG_INPUTS (4u)
82+
#define NUM_ANALOG_OUTPUTS (0u)
83+
#define ADC_RESOLUTION (12u)
84+
85+
#define LED_BUILTIN PIN_LED
86+
#define DigitalPinToPinName(p) (p)
87+
88+
static const uint8_t SS = PIN_SPI0_SS;
89+
static const uint8_t MOSI = PIN_SPI0_MOSI;
90+
static const uint8_t MISO = PIN_SPI0_MISO;
91+
static const uint8_t SCK = PIN_SPI0_SCK;
92+
93+
// Some random stuff
94+
95+
#define SERIAL_PORT_USBVIRTUAL SerialUSB
96+
#define SERIAL_PORT_MONITOR SerialUSB
97+
#define SERIAL_PORT_HARDWARE Serial1
98+
#define SERIAL_PORT_HARDWARE_OPEN Serial2
99+
100+
#define CRYPTO_WIRE Wire
101+
102+
#define USB_MAX_POWER (500)

0 commit comments

Comments
 (0)