Difference between revisions of "Raspberry Pi pico"

From CanSat
Jump to: navigation, search
(Created page with "The Raspberry Pi pico control board will have to control the whole system. = Further components = Optional elements could be: * further sensor boards such as: ** a [http...")
 
 
Line 1: Line 1:
The [[Raspberry Pi pico]] control board will have to control the whole system.
+
The [https://www.raspberrypi.org/products/raspberry-pi-pico/ Raspberry Pi Pico] controls the whole system.
 +
Here some excerpts of its [https://datasheets.raspberrypi.com/pico/pico-datasheet.pdf datasheet].
  
= Further components =
+
= Pinout =
  
Optional elements could be:
+
== Raspberry Pi pinout ==
* further sensor boards such as:
 
** a [https://www.adafruit.com/product/4712 Li-Ion fuel gauge]
 
** an [https://www.adafruit.com/product/4692 accelerometer and gyroscope module]
 
** a [https://www.adafruit.com/product/4488 magnetometer]
 
** a [https://www.adafruit.com/product/4415 GPS module]
 
* a [https://www.adafruit.com/product/160 buzzer] which works well around 4&nbsp;kHz (C<sub>8</sub>&nbsp;=&nbsp;4186&nbsp;Hz)
 
* an [https://www.adafruit.com/product/3885 amplifier and loudspeaker]
 
* a [https://www.adafruit.com/product/4650 monochrome OLED display]
 
  
= Laboratory equipment =
+
{| class="wikitable" style="margin: 20pt; text-align:right"
 +
! colspan="4" | signal || pin || &nbsp; &nbsp; &nbsp; &nbsp; || pin || colspan="4" | signal
 +
|-
 +
| UART0 Tx || I2C0 SDa || SPI0 Rx  || GP0 ||  1 || || style="text-align:left" | 40 || style="text-align:left" | VBus
 +
|-
 +
| UART0 Rx || I2C0 SCl || SPI0 CS_n || GP1  ||  2 || || style="text-align:left" | 39 || style="text-align:left" | VSys
 +
|-
 +
|          ||          ||          || Gnd  ||  3 || || style="text-align:left" | 38 || style="text-align:left" | Gnd
 +
|-
 +
|          || I2C1 SDa || SPI0 SCk  || GP2  ||  4 || || style="text-align:left" | 37 || style="text-align:left" | 3V3_en
 +
|-
 +
|          || I2C1 SCl || SPI0 Tx  || GP3  ||  5 || || style="text-align:left" | 36 || style="text-align:left" | 3V3_out
 +
|-
 +
| UART1 Tx || I2C0 SDa || SPI0 Rx  || GP4  ||  6 || || style="text-align:left" | 35 ||                                  || style="text-align:left" | ADC_VRef
 +
|-
 +
| UART1 Rx || I2C0 SCl || SPI0 CS_n || GP5  ||  7 || || style="text-align:left" | 34 || style="text-align:left" | GP28    || style="text-align:left" | ADC2
 +
|-
 +
|          ||          ||          || Gnd  ||  8 || || style="text-align:left" | 33 || style="text-align:left" | Gnd    || style="text-align:left" | AGnd
 +
|-
 +
|          || I2C1 SDa || SPI0 SCk  || GP6  ||  9 || || style="text-align:left" | 32 || style="text-align:left" | GP27    || style="text-align:left" | ADC1      || style="text-align:left" | I2C1 SCl
 +
|-
 +
|          || I2C1 SCl || SPI0 Tx  || GP7  || 10 || || style="text-align:left" | 31 || style="text-align:left" | GP26    || style="text-align:left" | ADC0      || style="text-align:left" | I2C1 SDa
 +
|-
 +
| UART1 Tx || I2C0 SDa || SPI1 Rx  || GP8  || 11 || || style="text-align:left" | 30 || style="text-align:left" | Run
 +
|-
 +
| UART1 Rx || I2C0 SCl || SPI1 CS_n || GP9  || 12 || || style="text-align:left" | 29 || style="text-align:left" | GP22
 +
|-
 +
|          ||          ||          || Gnd  || 13 || || style="text-align:left" | 28 || style="text-align:left" | Gnd
 +
|-
 +
|          || I2C1 SDa || SPI1 SCk  || GP10 || 14 || || style="text-align:left" | 27 || style="text-align:left" | GP21    ||                                    || style="text-align:left" | I2C0 SCl
 +
|-
 +
|          || I2C1 SCl || SPI1 Tx  || GP11 || 15 || || style="text-align:left" | 26 || style="text-align:left" | GP20    ||                                    || style="text-align:left" | I2C0 SDa
 +
|-
 +
| UART0 Tx || I2C0 SDa || SPI1 Rx  || GP12 || 16 || || style="text-align:left" | 25 || style="text-align:left" | GP19    || style="text-align:left" | SPI0 Tx  || style="text-align:left" | I2C1 SCl
 +
|-
 +
| UART0 Rx || I2C0 SCl || SPI1 CS_n || GP13 || 17 || || style="text-align:left" | 24 || style="text-align:left" | GP18    || style="text-align:left" | SPI0 SCk  || style="text-align:left" | I2C1 SDa
 +
|-
 +
|          ||          ||          || Gnd  || 18 || || style="text-align:left" | 23 || style="text-align:left" | Gnd
 +
|-
 +
|          || I2C1 SDa || SPI1 SCk  || GP14 || 19 || || style="text-align:left" | 22 || style="text-align:left" | GP17    || style="text-align:left" | SPI0 CS_n || style="text-align:left" | I2C0 SCl || style="text-align:left" | UART0 Rx
 +
|-
 +
|          || I2C1 SCl || SPI1 Tx  || GP15 || 20 || || style="text-align:left" | 21 || style="text-align:left" | GP16    || style="text-align:left" | SPI0 Rx  || style="text-align:left" | I2C0 SDa || style="text-align:left" | UART0 Tx
 +
|}
  
The developers should have access to:
 
* tools (screwdrivers, pliers, ...)
 
* a multimeter
 
* a welding station
 
* micro-USB cables
 
  
For test purposes, the sensor boards can be assembled in a chain with
+
== Stemma QT I2C cable ==
[https://learn.adafruit.com/introducing-adafruit-stemma-qt/what-is-stemma stemma QT] cables
+
 
and controlled via [https://www.adafruit.com/product/2264 USB]
+
{| class="wikitable" style="margin: 20pt; text-align:left"
with the help of [[install FT232H|a general-purpose serial bus adapter]].
+
! color || function
 +
|-
 +
| red    || 3.3 VDC
 +
|-
 +
| black  || Gnd
 +
|-
 +
| yellow || SCl
 +
|-
 +
| blue  || SDa
 +
|}
 +
 
 +
== SPI cable ==
 +
 
 +
{| class="wikitable" style="margin: 20pt; text-align:left"
 +
! color || function
 +
|-
 +
| red    || 3.3 VDC
 +
|-
 +
| black  || Gnd
 +
|-
 +
| yellow || SCl
 +
|-
 +
| green  || MISO
 +
|-
 +
| blue  || MOSI
 +
|-
 +
| orange || CS_n
 +
|}
 +
 
 +
= Firmware =
 +
 
 +
Download a [https://circuitpython.org/board/raspberry_pi_pico/ CircuitPython firmware].
 +
 
 +
Hold down the BOOTSEL button, and while continuing to hold it, plug the Pico into USB.
 +
Continue to hold the BOOTSEL button until the RPI-RP2 drive appears.
 +
 
 +
Drag the <code>adafruit-circuitpython-xxx.uf2</code> file to the drive <code>RPI-RP2</code>.
  
 
[[Category:all]] [[Category:electronics]]
 
[[Category:all]] [[Category:electronics]]

Latest revision as of 17:12, 23 November 2021

The Raspberry Pi Pico controls the whole system. Here some excerpts of its datasheet.

Pinout

Raspberry Pi pinout

signal pin         pin signal
UART0 Tx I2C0 SDa SPI0 Rx GP0 1 40 VBus
UART0 Rx I2C0 SCl SPI0 CS_n GP1 2 39 VSys
Gnd 3 38 Gnd
I2C1 SDa SPI0 SCk GP2 4 37 3V3_en
I2C1 SCl SPI0 Tx GP3 5 36 3V3_out
UART1 Tx I2C0 SDa SPI0 Rx GP4 6 35 ADC_VRef
UART1 Rx I2C0 SCl SPI0 CS_n GP5 7 34 GP28 ADC2
Gnd 8 33 Gnd AGnd
I2C1 SDa SPI0 SCk GP6 9 32 GP27 ADC1 I2C1 SCl
I2C1 SCl SPI0 Tx GP7 10 31 GP26 ADC0 I2C1 SDa
UART1 Tx I2C0 SDa SPI1 Rx GP8 11 30 Run
UART1 Rx I2C0 SCl SPI1 CS_n GP9 12 29 GP22
Gnd 13 28 Gnd
I2C1 SDa SPI1 SCk GP10 14 27 GP21 I2C0 SCl
I2C1 SCl SPI1 Tx GP11 15 26 GP20 I2C0 SDa
UART0 Tx I2C0 SDa SPI1 Rx GP12 16 25 GP19 SPI0 Tx I2C1 SCl
UART0 Rx I2C0 SCl SPI1 CS_n GP13 17 24 GP18 SPI0 SCk I2C1 SDa
Gnd 18 23 Gnd
I2C1 SDa SPI1 SCk GP14 19 22 GP17 SPI0 CS_n I2C0 SCl UART0 Rx
I2C1 SCl SPI1 Tx GP15 20 21 GP16 SPI0 Rx I2C0 SDa UART0 Tx


Stemma QT I2C cable

color function
red 3.3 VDC
black Gnd
yellow SCl
blue SDa

SPI cable

color function
red 3.3 VDC
black Gnd
yellow SCl
green MISO
blue MOSI
orange CS_n

Firmware

Download a CircuitPython firmware.

Hold down the BOOTSEL button, and while continuing to hold it, plug the Pico into USB. Continue to hold the BOOTSEL button until the RPI-RP2 drive appears.

Drag the adafruit-circuitpython-xxx.uf2 file to the drive RPI-RP2.