Skip to content

Commit 2523d76

Browse files
committed
rebase from master
2 parents c987c4f + 577c539 commit 2523d76

32 files changed

+1264
-530
lines changed

Gemfile.lock

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ GEM
7777
webrick (1.7.0)
7878

7979
PLATFORMS
80+
ruby
8081
x86_64-linux
8182

8283
DEPENDENCIES

_blinka/adafruit_feather_rp2040.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
---
2+
layout: download
3+
board_id: "adafruit_feather_rp2040"
4+
title: "Feather RP2040 Download"
5+
name: "Feather RP2040"
6+
manufacturer: "Adafruit"
7+
board_url: "https://www.adafruit.com/product/4884"
8+
board_image: "adafruit_feather_rp2040.jpg"
9+
download_instructions: "https://learn.adafruit.com/circuitpython-libraries-on-any-computer-with-raspberry-pi-pico"
10+
date_added: 2021-12-6
11+
features:
12+
- Feather-Compatible
13+
- STEMMA QT/QWIIC
14+
---
15+
16+
A new chip means a new Feather, and the Raspberry Pi RP2040 is no exception. When we saw this chip we thought "this chip is going to be awesome when we give it the Feather Treatment" and so we did! This Feather features the **RP2040**, and all niceties you know and love about Feather
17+
* Measures 2.0" x 0.9" x 0.28" (50.8mm x 22.8mm x 7mm) without headers soldered in
18+
* Light as a (large?) feather - 5 grams
19+
* RP2040 32-bit Cortex M0+ dual core running at ~125 MHz @ 3.3V logic and power
20+
* 264 KB RAM
21+
* **8 MB SPI FLASH** chip for storing files and CircuitPython/MicroPython code storage. No EEPROM
22+
* **Tons of GPIO! 21 x GPIO pins with following capabilities:**
23+
* **Four** 12 bit ADCs (one more than Pico)
24+
* Two I2C, Two SPI and two UART peripherals, we label one for the 'main' interface in standard Feather locations
25+
* 16 x PWM outputs - for servos, LEDs, etc
26+
* The 8 digital 'non-ADC/non-peripheral' GPIO are consecutive for maximum PIO compatibility
27+
* **Built in 200mA lipoly charger** with charging status indicator LED
28+
* **Pin #13 red LED** for general purpose blinking
29+
* **RGB NeoPixel** with power pin on GPIO so you can depower it for low power usages.
30+
* On-board **STEMMA QT connector** that lets you quickly connect any Qwiic, STEMMA QT or Grove I2C devices with no soldering!
31+
* **Both Reset button and Bootloader select button for quick restarts (no unplugging-replugging to relaunch code)**
32+
* 3.3V Power/enable pin
33+
* [Optional SWD debug port can be soldered in for debug access](https://www.adafruit.com/product/752)
34+
* 4 mounting holes
35+
* 24 MHz crystal for perfect timing.
36+
* 3.3V regulator with 500mA peak current output
37+
* **USB Type C connector** lets you access built-in ROM USB bootloader and serial port debugging
38+
39+
40+
**Inside the RP2040 is a 'permanent ROM' USB UF2 bootloader.** What that means is when you want to program new firmware, you can hold down the BOOTSEL button while plugging it into USB (or pulling down the RUN/Reset pin to ground) and it will appear as a USB disk drive you can drag the firmware onto. Folks who have been using Adafruit products will find this very familiar - we use the technique on all our native-USB boards. Just note you don't double-click reset, instead hold down BOOTSEL during boot to enter the bootloader!
41+
42+
43+
The RP2040 is a powerful chip, which has the clock speed of our M4 (SAMD51), and two cores that are equivalent to our M0 (SAMD1). Since it is an M0 chip, it does not have a floating point unit, or DSP hardware support - so if you're doing something with heavy floating-point math, it will be done in software and thus not as fast as an M4. For many other computational tasks, you'll get close-to-M4 speeds!
44+
45+
46+
For peripherals, there are two I2C controllers, two SPI controllers, and two UARTs that are multiplexed across the GPIO - check the pinout for what pins can be set to which. There are 16 PWM channels, each pin has a channel it can be set to (ditto on the pinout).
47+
48+
49+
You'll note there's no I2S peripheral, or SDIO, or camera, what's up with that? Well instead of having specific hardware support for serial-data-like peripherals like these, the RP2040 comes with the PIO state machine system which is a unique and powerful way to create custom hardware logic and data processing blocks that run on their own without taking up a CPU. For example, NeoPixels - often we bitbang the timing-specific protocol for these LEDs. For the RP2040, we instead use PIO object that reads in the data buffer and clocks out the right bitstream with perfect accuracy. Same with I2S audio in or out, LED matrix displays, 8-bit or SPI based TFTs, even VGA! In MicroPython and CircuitPython you can create PIO control commands to script the peripheral and load it in at runtime. There are 2 PIO peripherals with 4 state machines each.
50+
51+
**At the time of launch, there is no Arduino core support for this board. There is great [C/C++ support](https://github.com/raspberrypi/pico-sdk), an official [MicroPython port](https://github.com/raspberrypi/micropython), and a [CircuitPython port](/downloads)!** We of course [recommend CircuitPython because we think it's the easiest way to get started](https://learn.adafruit.com/welcome-to-circuitpython) and it has support with most of our drivers, displays, sensors, and more, supported out of the box so you can follow along with our CircuitPython projects and tutorials.
52+
53+
While the RP2040 has lots of onboard RAM (264KB), it does not have built-in FLASH memory. Instead, that is provided by the external QSPI flash chip. **On this board there is 8 MB**, which is shared between the program it's running and any file storage used by MicroPython or CircuitPython. When using C/C++ you get the whole flash memory, if using Python you will have about 7 MB remaining for code, files, images, fonts, etc.
54+
55+
**RP2040 Chip features:**
56+
* Dual ARM Cortex-M0+ @ 133MHz
57+
* 264kB on-chip SRAM in six independent banks
58+
* Support for up to 16MB of off-chip Flash memory via dedicated QSPI bus
59+
* DMA controller
60+
* Fully-connected AHB crossbar
61+
* Interpolator and integer divider peripherals
62+
* On-chip programmable LDO to generate core voltage
63+
* 2 on-chip PLLs to generate USB and core clocks
64+
* 30 GPIO pins, 4 of which can be used as analog inputs
65+
* Peripherals
66+
* 2 UARTs
67+
* 2 SPI controllers
68+
* 2 I2C controllers
69+
* 16 PWM channels
70+
* USB 1.1 controller and PHY, with host and device support
71+
* 8 PIO state machines
72+
73+
Comes fully assembled and tested, with the UF2 USB bootloader. We also toss in some header, so you can solder it in and plug it into a solderless breadboard.
74+
75+
## Purchase
76+
77+
* [Adafruit](https://www.adafruit.com/product/4884)
78+
79+
## Contribute
80+
81+
Have some info to add for this board? Edit the source for this page [here](https://github.com/adafruit/circuitpython-org/edit/master/_board/{{ page.board_id }}.md).

_blinka/adafruit_itsybitsy_rp2040.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
---
2+
layout: download
3+
board_id: "adafruit_itsybitsy_rp2040"
4+
title: "ItsyBitsy RP2040 Download"
5+
name: "ItsyBitsy RP2040"
6+
manufacturer: "Adafruit"
7+
board_url: "https://www.adafruit.com/product/4888"
8+
board_image: "adafruit_itsybitsy_rp2040.jpg"
9+
download_instructions: "https://learn.adafruit.com/circuitpython-libraries-on-any-computer-with-raspberry-pi-pico"
10+
date_added: 2021-12-6
11+
features:
12+
13+
---
14+
15+
A new chip means a new ItsyBitsy, and the Raspberry Pi RP2040 is no exception. When we saw this chip we thought "this chip is going to be awesome when we give it the ItsyBitsy teensy-weensy Treatment" and so we did! This Itsy' features the RP2040, [and all niceties you know and love about the ItsyBitsy family](https://www.adafruit.com/category/1008)
16+
17+
What's smaller than a Feather but larger than a Trinket? It's an Adafruit ItsyBitsy RP2040 featuring the Raspberry Pi RP2040! Small, powerful, with a ultra fast duel Cortex M0+ processor running at 125 MHz - this microcontroller board is perfect when you want something very compact, with lots of horsepower and a bunch of pins. This Itsy has sports car speed, but SUV roominess with 4 MB of FLASH and 264KB of SRAM.
18+
19+
ItsyBitsy RP2040 is only 1.4" long by 0.7" wide, but has 6 power pins, 23 digital GPIO pins (4 of which can be analog in and 16 x PWM out). It's the same chip as the [Feather RP2040](https://www.adafruit.com/products/4884) and [Raspberry Pi Pico](https://www.adafruit.com/products/4883) *but really really small*. So it's great once you've finished up a prototype, and want to make the project much smaller. It even comes with 4MB of SPI Flash built in, for data logging, file storage, or CircuitPython/MicroPython code
20+
21+
- [Same size and form-factor as the rest of the ItsyBitsy family](https://www.adafruit.com/category/1008) and nearly-identical pinout
22+
- Measures 1.4" x 0.7" x 0.2" (36mm x 18mm x 4mm) without headers soldered in
23+
- RP2040 32-bit Cortex M0+ dual core running at ~125 MHz @ 3.3V logic and power
24+
- 264 KB RAM
25+
- **4 MB SPI FLASH** chip for storing files and CircuitPython/MicroPython code storage. No EEPROM
26+
- Tons of GPIO! 23 x GPIO pins with following capabilities:
27+
- **Four** 12 bit ADCs (one more than Pico)
28+
- Two I2C, Two SPI and two UART peripherals, we label one for the 'main' interface in standard ItsyBitsy locations
29+
- 16 x PWM outputs - for servos, LEDs, etc
30+
- The 10 digital 'non-ADC/non-peripheral' GPIO are consecutive for maximum PIO compatibility
31+
- **Pin #13 red LED** for general purpose blinking
32+
- **RGB NeoPixel** with power pin on GPIO so you can depower it for low power usages.
33+
- **Both Reset button and Bootloader select button for quick restarts (no unplugging-replugging to relaunch code)**
34+
- 3.3V regulator with 500mA peak current output
35+
- 3.3V Power/enable pin
36+
- Power with either USB or external output (such as a battery) - it'll automatically switch over
37+
- Broken-out SWD pins for debug access
38+
- 24 MHz crystal for perfect timing.
39+
- Special **Vhigh** output pin gives you the higher voltage from VBAT or VUSB, for driving NeoPixels, servos, and other 5V-logic devices. **Digital 5** level-shifted output for high-voltage logic level output.
40+
- **USB Micro B connector** lets you access built-in ROM USB bootloader and serial port debugging
41+
42+
**Inside the RP2040 is a 'permanent ROM' USB UF2 bootloader**. What that means is when you want to program new firmware, you can hold down the BOOTSEL button while plugging it into USB (or pulling down the RUN/Reset pin to ground) and it will appear as a USB disk drive you can drag the firmware onto. Folks who have been using Adafruit products will find this very familiar - we use the technique on all our native-USB boards. Just note you don't double-click reset, instead hold down BOOTSEL during boot to enter the bootloader!
43+
44+
The RP2040 is a powerful chip, which has the clock speed of our M4 (SAMD51), and two cores that are equivalent to our M0 (SAMD21). Since it is an M0 chip, it does not have a floating point unit or DSP hardware support - so if you're doing something with heavy floating point math, it will be done in software and thus not as fast as an M4. For many other computational tasks, you'll get close-to-M4 speeds!
45+
46+
For peripherals, there are two I2C controllers, two SPI controllers, and two UARTs that are multiplexed across the GPIO - check the pinout for what pins can be set to which. There are 16 PWM channels, each pin has a channel it can be set to (ditto on the pinout).
47+
48+
You'll note there's no I2S peripheral, or SDIO, or camera, what's up with that? Well instead of having specific hardware support for serial-data-like peripherals like these, the RP2040 comes with the PIO state machine system which is a unique and powerful way to create *custom hardware logic and data processing blocks* that run on their own without taking up a CPU. For example, NeoPixels - often we bitbang the timing-specific protocol for these LEDs. For the RP2040, we instead use PIO object that reads in the data buffer and clocks out the right bitstream with perfect accuracy. [Same with I2S audio in or out, LED matrix displays, 8-bit or SPI based TFTs, even VGA](https://github.com/raspberrypi/pico-examples/tree/master/pio)! In MicroPython and CircuitPython you can create PIO control commands to script the peripheral and load it in at runtime. There are 2 PIO peripherals with 4 state machines each.
49+
50+
**At the time of launch, there is no Arduino core support for this board. There is great [C/C++ support](https://github.com/raspberrypi/pico-sdk), an official [MicroPython port](https://github.com/raspberrypi/micropython), and a [CircuitPython port](https://circuitpython.org/downloads)!** We of course [recommend CircuitPython because we think it's the easiest way to get started](https://learn.adafruit.com/welcome-to-circuitpython) and it has support with most of our drivers, displays, sensors, and more, supported out of the box so you can follow along with our CircuitPython projects and tutorials.
51+
52+
This Itsy comes with loose 0.1" headers you can solder in for breadboard use!
53+
54+
While the RP2040 has lots of onboard RAM (264KB), it does not have built-in FLASH memory. Instead, that is provided by the external QSPI flash chip. On this board there is 2MB, which is shared between the program it's running and any file storage used by MicroPython or CircuitPython. When using C/C++ you get the whole flash memory, if using Python you will have about 1 MB remaining for code, files, images, fonts, etc.
55+
56+
**RP2040 Chip features:**
57+
58+
- Dual ARM Cortex-M0+ @ 133MHz
59+
- 264kB on-chip SRAM in six independent banks
60+
- Support for up to 16MB of off-chip Flash memory via dedicated QSPI bus
61+
- DMA controller
62+
- Fully-connected AHB crossbar
63+
- Interpolator and integer divider peripherals
64+
- On-chip programmable LDO to generate core voltage
65+
- 2 on-chip PLLs to generate USB and core clocks
66+
- 30 GPIO pins, 4 of which can be used as analog inputs
67+
- Peripherals
68+
- 2 UARTs
69+
- 2 SPI controllers
70+
- 2 I2C controllers
71+
- 16 PWM channels
72+
- USB 1.1 controller and PHY, with host and device support
73+
- 8 PIO state machines
74+
75+
## Purchase
76+
77+
* [Adafruit](https://www.adafruit.com/product/4888)
78+
79+
## Contribute
80+
81+
Have some info to add for this board? Edit the source for this page [here](https://github.com/adafruit/circuitpython-org/edit/master/_board/{{ page.board_id }}.md).

_blinka/adafruit_macropad_rp2040.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
layout: download
3+
board_id: "adafruit_macropad_rp2040"
4+
title: "MacroPad RP2040 Download"
5+
name: "MacroPad RP2040"
6+
manufacturer: "Adafruit"
7+
board_url: "https://www.adafruit.com/product/5128"
8+
board_image: "adafruit_macropad_rp2040.jpg"
9+
download_instructions: "https://learn.adafruit.com/circuitpython-libraries-on-any-computer-with-raspberry-pi-pico"
10+
date_added: 2021-12-6
11+
features:
12+
- STEMMA QT/QWIIC
13+
---
14+
15+
Strap yourself in, we're launching in T-minus 10 seconds...Destination? A new Class M planet called MACROPAD! M here, stands for Microcontroller because this 3x4 keyboard controller features the newest technology from the Raspberry Pi sector: say hello to the RP2040. It's speedy little microcontroller with lots of GPIO pins and a 64 times more RAM than the Apollo Guidance Computer. We added 8 MB of flash memory for plenty of storage.
16+
17+
Get ready to upgrade your desk's mission control station with a CircuitPython or Arduino powered Macropad - complete with 12 buttons, OLED display, speaker and rotary encoder. Customize it for your spacecraft to help guide you through the great reaches of the unknown. (Or just have it type out your favorite emojis.)
18+
19+
Each of the 12 sockets can accept a Cherry MX-compatible key switch. No soldering required, just snap it in! Use any key switch you like - but we recommend ones with slots that will allow the matching twelve NeoPixels underneath to shine through.
20+
21+
This space-ship is also fitted with a 128x64 monochome OLED for a crisp heads-up display that can be used in Arduino or CircuitPython to display keymaps, stats, computer performance, etc. There's also a rotary encoder with push-button soldered in. Twist and turn it or push to change volume or monitor brightness or scroll: whatever you like! A tiny speaker can give audio feedback or play fun bleepy tunes.
22+
23+
Want to add more hardware? No worries - [a STEMMA QT port on the side lets you connect any I2C add-on peripherals from the massive STEMMA QT / Qwiic family of plug in boards](https://www.adafruit.com/category/1018).
24+
25+
**Please note, the RP2040 chip does not currently have QMK support** - this macropad is designed to be programmed in Arduino or CircuitPython! If QMK eventually does add RP2040 as a supported chipset (no ETA and no plans that we know of), we'll update this page.
26+
27+
TL;DR?
28+
29+
- **Raspberry Pi RP2040 Chip + 8MB Flash memory** - Dual core Cortex M0+ at ~130MHz with 264KB or RAM. Runs CircuitPython, Arduino or MicroPython with ease and lots of space for development code and files
30+
- **USB C Connector for Power/Data** - of course this can act as an HID device but also can be MIDI, UART, etc.
31+
- **3x4 Mechanical key switch sockets** - accepts any Cherry MX-compatible switches. Individually tied to GPIO pins (not matrix wired)
32+
- **One NeoPixel RGB LED per switch**, on north side
33+
- **Rotary encoder**, 20 detents per rotation, with push-switch on GPIO pin. Push switch is also used for entering bootloader mode when held down on power-up or reset.
34+
- **128x64 SH1106 Monochrome OLED display** - On high speed hardware SPI port for quick updates
35+
- **8mm Speaker/Buzzer** - With Class D amplifier and RC filter, can be used to make simple beeps and sounds effects.
36+
- **STEMMA QT Connector** - Allows adding any I2C sensors/displays/devices with plug-and-play cables.
37+
- **Reset button -** On the side, for quick restarting of code
38+
- **Four M3 mounting bosses** - Make custom enclosures easily
39+
40+
## Purchase
41+
42+
* [Adafruit](https://www.adafruit.com/product/5128)
43+
44+
## Contribute
45+
46+
Have some info to add for this board? Edit the source for this page [here](https://github.com/adafruit/circuitpython-org/edit/master/_board/{{ page.board_id }}.md).

_blinka/adafruit_qt2040_trinkey.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
layout: download
3+
board_id: "adafruit_qt2040_trinkey"
4+
title: "Trinkey QT2040 Download"
5+
name: "Trinkey QT2040"
6+
manufacturer: "Adafruit"
7+
board_url: "https://www.adafruit.com/product/5056"
8+
board_image: "adafruit_qt2040_trinkey.jpg"
9+
download_instructions: "https://learn.adafruit.com/circuitpython-libraries-on-any-computer-with-raspberry-pi-pico"
10+
date_added: 2021-12-6
11+
features:
12+
13+
---
14+
15+
It's half USB Key, half Adafruit QT Py, and a lotta RP2040*...*it's **Trinkey QT2040**, the circuit board with an RP2040 heart and Stemma QT legs. Folks are loving the [QT Py 2040](https://www.adafruit.com/product/4900) we made, but maybe you want something plug-and-play. So we thought, hey what if we made something like that plugs right into your computer's USB port? And this is what we came up with!
16+
17+
The PCB is designed to slip into any USB A port on a computer or laptop. There's an RP2040 microcontroller on board with just enough circuitry to keep it happy. There's an RGB NeoPixel, a reset and bootloader or user button and a STEMMA QT Port on the end. That's it!
18+
19+
With the body of the board being 1.0" x 0.7" and four mounting holes, you can attach just about any of our QT boards right on (some are a little larger so just check that has the holes in the same locations). [Use M2.5 sized standoffs and screws](https://www.adafruit.com/product/3658) to do so, you could use 2 diagonal at a minimum. Then use a [shorty QT cable](https://www.adafruit.com/product/4399) and you've got a custom sensor Trinkey for any sensor purpose.
20+
21+
The board comes with 8 MB of QSPI flash memory so you can put *all* of our CircuitPython drivers on the disk!
22+
23+
## Purchase
24+
25+
* [Adafruit](https://www.adafruit.com/product/5056)
26+
27+
## Contribute
28+
29+
Have some info to add for this board? Edit the source for this page [here](https://github.com/adafruit/circuitpython-org/edit/master/_board/{{ page.board_id }}.md).

0 commit comments

Comments
 (0)