8000 Added Raspberry Breadstick (#2205) · 12a318/arduino-pico@b0ffd89 · GitHub
[go: up one dir, main page]

Skip to content

Commit b0ffd89

Browse files
authored
Added Raspberry Breadstick (earlephilhower#2205)
https://shop.breadstick.ca/products/raspberry-breadstick-rp2040 I think I did the pin definitions correctly... other boards used generic pin numbers based on the GPIO pins but I've mapped GPIO to the silkscreen pin labels on our board.
1 parent 0f05ad1 commit b0ffd89

File tree

7 files changed

+544
-0
lines changed

7 files changed

+544
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ Read the [Contributing Guide](https://github.com/earlephilhower/arduino-pico/blo
2727
* Adafruit Trinkey RP2040 QT
2828
* Arduino Nano RP2040 Connect
2929
* ArtronShop RP2 Nano
30+
* Breadstick Raspberry
3031
* BridgeTek IDM2040-7A
3132
* Cytron Maker Pi RP2040
3233
* Cytron Maker Nano RP2040

boards.txt

Lines changed: 330 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
@@ -77,6 +77,9 @@
7777
{
7878
"name": "ArtronShop RP2 Nano"
7979
},
80+
{
81+
"name": "Breadstick Raspberry"
82+
},
8083
{
8184
"name": "BridgeTek IDM2040-7A"
8285
},

tools/json/breadstick_raspberry.json

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": "0x2E8A",
7+
"usb_pid": "0x105E"
8+
}
9+
},
10+
"core": "earlephilhower",
11+
"cpu": "cortex-m0plus",
12+
"extra_flags": "-D ARDUINO_Breadstick_Raspberry -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
13+
"f_cpu": "133000000L",
14+
"hwids": [
15+
[
16+
"0x2E8A",
17+
"0x00C0"
18+
],
19+
[
20+
"0x2E8A",
21+
"0x105E"
22+
]
23+
],
24+
"mcu": "rp2040",
25+
"variant": "breadstick_raspberry"
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": "Raspberry",
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://shop.breadstick.ca/products/raspberry-breadstick-rp2040",
55+
"vendor": "Breadstick"
56+
}
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_w25q16jvxq_4_padded_checksum.S",
6+
"usb_vid": "0x2E8A",
7+
"usb_pid": "0x0003"
8+
}
9+
},
10+
"core": "earlephilhower",
11+
"cpu": "cortex-m0plus",
12+
"extra_flags": "-D ARDUINO_MARBLE_PICO -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
13+
"f_cpu": "133000000L",
14+
"hwids": [
15+
[
16+
"0x2E8A",
17+
"0x00C0"
18+
],
19+
[
20+
"0x2E8A",
21+
"0x0003"
22+
]
23+
],
24+
"mcu": "rp2040",
25+
"variant": "groundstudio_marble_pico"
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": "Marble Pico",
36+
"upload": {
37+
"maximum_ram_size": 270336,
38+
"maximum_size": 8388608,
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://ardushop.ro/2652-marble-pico.html",
55+
"vendor": "GroundStudio"
56+
}

tools/makeboards.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,9 @@ def MakeBoardJSON(name, vendor_name, product_name, vid, pid, pwr, boarddefine, f
397397
# ArtronShop
398398
MakeBoard("artronshop_rp2_nano", "ArtronShop", "RP2 Nano", "0x2e8a", "0x000a", 250, "ARTRONSHOP_RP2_NANO", 2, "boot2_w25q080_2_padded_checksum")
399399

400+
# Breadstick
401+
MakeBoard("breadstick_raspberry", "Breadstick", "Raspberry", "0x2e8a", "0x105e" , 500, "Breadstick_Raspberry", 16, "boot2_w25q080_2_padded_checksum", board_url="https://shop.breadstick.ca/products/raspberry-breadstick-rp2040")
402+
400403
# BridgeTek
401404
MakeBoard("bridgetek_idm2040-7a", "BridgeTek", "IDM2040-7A", "0x2e8a", "0x1041", 250, "BRIDGETEK_IDM2040-7A", 8, "boot2_w25q080_2_padded_checksum", ["FT8XX_TYPE=BT817", "DISPLAY_RES=WVGA", "PLATFORM_RP2040"])
402405

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
#pragma once
2+
3+
#include <stdint.h>
4+
5+
6+
// Pin definitions taken from:
7+
// https://github.com/Breadstick-Innovations/Raspberry-Breadstick
8+
9+
10+
// Serial
11+
#define PIN_SERIAL1_TX (20u)
12+
#define PIN_SERIAL1_RX (21u)
13+
14+
// SPI
15+
16+
#define PIN_SPI1_MISO (8u)
17+
#define PIN_SPI1_MOSI (11u)
18+
#define PIN_SPI1_SCK (10u)
19+
#define PIN_SPI1_SS (9u)
20+
21+
// Wire
22+
#define PIN_WIRE0_SDA (12u)
23+
#define PIN_WIRE0_SCL (13u)
24+
25+
#define PIN_WIRE1_SDA (22u)
26+
#define PIN_WIRE1_SCL (23u)
27+
28+
#define SERIAL_HOWMANY (2u)
29+
#define SPI_HOWMANY (1u)
30+
#define WIRE_HOWMANY (2u)
31+
32+
#define PINS_COUNT (22u)
33+
#define NUM_DIGITAL_PINS (22u)
34+
#define NUM_ANALOG_INPUTS (4u)
35+
#define NUM_ANALOG_OUTPUTS (0u)
36+
#define ADC_RESOLUTION (12u)
37+
#define WIRE_INTERFACES_COUNT (WIRE_HOWMANY)
38+
39+
static const uint8_t D1 = (27u);
40+
static const uint8_t D2 = (26u);
41+
static const E377 uint8_t D3 = (11u);
42+
static const uint8_t D4 = (10u);
43+
static const uint8_t D5 = (9u);
44+
static const uint8_t D6 = (8u);
45+
static const uint8_t D7 = (7u);
46+
static const uint8_t D8 = (6u);
47+
static const uint8_t D9 = (5u);
48+
static const uint8_t D10 = (24u);
49+
static const uint8_t D11 = (23u);
50+
static const uint8_t D12 = (22u);
51+
static const uint8_t D13 = (21u);
52+
static const uint8_t D14 = (20u);
53+
static const uint8_t D15 = (19u);
54+
static const uint8_t D16 = (18u);
55+
static const uint8_t D17 = (29u);
56+
static const uint8_t D18 = (28u);
57+
58+
59+
#ifdef __PIN_A2
60+
static const uint8_t A2 = __PIN_A2;
61+
#else
62+
static const uint8_t A2 = (26u);
63+
#endif
64+
65+
#ifdef __PIN_A1
66+
static const uint8_t A1 = __PIN_A1;
67+
#else
68+
static const uint8_t A1 = (27u);
69+
#endif
70+
71+
#ifdef __PIN_A18
72+
static const uint8_t A18 = __PIN_A18;
73+
#else
74+
static const uint8_t A18 = (28u);
75+
#endif
76+
77+
#ifdef __PIN_A17
78+
static const uint8_t A17 = __PIN_A17;
79+
#else
80+
static const uint8_t A17 = (29u);
81+
#endif
82+
83+
static const uint8_t SS = PIN_SPI1_SS;
84+
static const uint8_t MOSI = PIN_SPI1_MOSI;
85+
static const uint8_t MISO = PIN_SPI1_MISO;
86+
static const uint8_t SCK = PIN_SPI1_SCK;
87+
88+
static const uint8_t SDA = PIN_WIRE1_SDA;
89+
static const uint8_t SCL = PIN_WIRE1_SCL;
90+
91+
static const uint8_t IMU_SDA = PIN_WIRE0_SDA;
92+
static const uint8_t IMU_SCL = PIN_WIRE0_SCL;
93+
94+
static const uint8_t DOTSTAR_CLOCK = (16u);
95+
static const uint8_t DOTSTAR_DATA = (17u);

0 commit comments

Comments
 (0)
0