Raspberry Pi Pico ProjectsRaspberry Pi Projects

Getting Started Raspberry Pi Pico – Pinout, Specs – Beginner Guide

In this tutorial, we introduce the Raspberry Pi Pico hardware and software and show how to get started with the Raspberry Pi Pico and its features & specifications. We will also tell some basic features & Specifications and Pinout Details of Pico microcontroller like ADC pins, I2C Pins, SPI Pins, and UART used to interface any sensors or modules. You will learn how to set up the  Raspberry Pi Pico and connect it to the computer. You will also learn to write simple programs to control the Raspberry Pi Pico.

Thank You NextPCB:

This project is successfully finished because of the service and support from NextPCB. NextPCB is one of the most professional PCB manufacturers in Global and has specialized in the PCB and assembly industry for over 16 years. Not only could NextPCB deliver the most creative printed circuit boards and assembly technologies in the most elevated quality standards, but the fastest delivery turnaround was also as fast as 24 hours.

Guys if you have a PCB project, please visit their website and get exciting discounts and coupons. if you sign-up using this link you will get free coupons worth $100. Checkout out NextPCB now and get amazing discounts on your first order.

What is Raspberry Pi Pico?

raspberry-pi-pico

Ad

Raspberry Pi Pico is a low-cost, high-performance microcontroller with flexible digital interfaces. the board was made by Raspberry Pi Foundation in the UK. It was released in January 2021. It is designed for use in a wide range of applications, The board is based on the RP2040 microcontroller chip from Raspberry Pi, which we can program operating C/C++ and MicroPython. The RP2040 chip includes a dual-core cortex M0+ microcontroller that operates up to 133MHz. This chip offers 26 multi-function GPIO pins and 2MB of onboard Flash memory.

What is the RP2040 Microcontroller?

rp2040-chip
A microcontroller chip designed by Raspberry Pi

The RP2040 is the first microcontroller developed by the Raspberry Pi foundation.  The RP2040 is a 32-bit dual ARM Cortex-M0+ microcontroller. The RP2040  microcontroller is low cost, with the Raspberry Pi Pico at US$4 and the RP2040 itself costing US$1. The microcontroller can be programmed in C/C++ and MicroPython

Behind the name 2040

The number 2 is for two cores because the RP2040’s CPU is a dual-core processor. The number 0 is for the CPU, an Arm Cortex M0+, and the number 4 is for 256KB of RAM 2 ^ 4 x 16KB. The final digit, no non-volatile storage on‑board.RASP_PI_PICO

Ad

The fix numeral on RP2040 comes from the following:

  1. RP in RP2040 means ‘Raspberry Pi’.
  2. Number of processor cores (2)
  3. Loosely which type of processor (M0+)
  4. The amount of RAM, from the function floor(log2(RAM / 16kB)); in this case it’s 256kB
  5. 0 means there is no non-volatile storage on‑board.

RP2040 features & Specifications:

Processor Dual ARM Cortex-M0+ cores
SPI Flash 2M on-board QSPI
Maximum Clock Frequency (MHz) 133
SRAM 264
GPIO 30
PWM 16 channels
ADC 3 available × 12-bit
UART 2
I2C 2 Buses
SPI 2 Buses
Length (mm) 25
Width (mm) 25
Height (mm) 8
Weight (gm) 8
Shipment Weight 0.01 kg
Shipment Dimensions 6 × 3 × 1 cm

Datasheet of RP2040

Download the datasheet of the RP2040 Microcontroller, click here.

Raspberry Pi Pico Specs & features :

RASP_PI_PICO_03_

Below, you can see the full specifications of the Raspberry Pi Pico

  • Dual-core ARM Cortex-M0+ processor, flexible clock running up to 133MHz
  • 26 multifunction GPIO pins
  • 264kB on-chip SRAM in six independent banks
  • Support for up to 16MB of off-chip Flash memory via dedicated QSPI bus
  • Temperature sensor on-chip
  • Real clock and timer on-chip
  • DMA controller & Totally -connected AHB crossbar
  • Interpolator and integer divider peripherals
  • On-chip programmable LDO to generate a core voltage
  • 2 on-chip PLLs to generate USB and core clocks
  • 30 GPIO pins, 4 of which can be used as analog inputs
  • Peripherals: 2 UARTs, 2 SPI Controllers, 2 I2C Controllers, 16 PWM, USB 1.1 Controller and PHY (Host & Device), 8 PIO State Machines
  • Drag & drop programming using mass storage over USB

Among other deficiencies, the Raspberry Pi Pico does not have a digital-to-analog converter (DAC, D/A, D2A, or D-to-A).  It also does not have any kind of connectivity, be it Ethernet, WiFi, or Bluetooth, which makes it fail almost all the points for the IoT.

Raspberry Pi Pico Pinout

The next image is the pinout diagram of the Raspberry Pi Pico Board, it is 40 pins, which includes Power, ground, UART, GPIO, PWM, ADC, SPI, I2C, system control, and Debugging pins.

raspberry_pi_Pico-pinout

Raspberry Pi Pico Pin Configurations

Below are the particular GPIO pin configuration details, the board features two rows of 20 GPIO pins, as well as a USB port, an SPI bus, and an I2C bus. The board can be powered by either a USB cable or a 3.3V power supply.

raspberry_pi_Pico-Pinout

Raspberry Pi Pico – I2C Pins

The i2c has two lines: SDA (serial data) and SCL (serial clock). The i2c is used to send data between devices. The i2c can be used to connect devices to each other or to connect a device to a computer.

To set up an I2C, you specify the SCL and SDA pins being used. You can look for “SCL” and “SDA” in the pin names in the pinout diagram above.

  • I2Cx_SCL = SCL
  • I2Cx_SDA = SDA
I2C Controller GPIO Pins
I2C0 SDA GP0/GP4/GP8/GP12/GP16/GP20
I2C0 SCL GP1/GP5/GP9/GP13/GP17/GP21
I2C1 SDA GP2/GP6/GP10/GP14/GP18/GP26
I2C1 SCL GP3/GP7/GP11/GP15/GP19/GP27

This Table shows the I2C pins on Raspberry Pi Pico

Raspberry Pi Pico – SPI Pins

SPI is an interface used to transmit data between microcontrollers and small peripherals such as sensors. It uses four separate wires to communicate: two for data, one for a clock signal, and one for chip selection. SPI is faster than I2C and only uses two wires, but this is more difficult to set up.

Raspberry Pi Pico microcontroller supports two SPI peripherals to confirm communication. SPI module pins are available through the GPIO pins of Raspberry Pi Pico.

SPI0_RX GP0/GP4/GP16
SPI0_TX GP3/GP7/GP19
SPI0_CLK GP2/GP6/GP18
SPI0_CSn GP1/GP5/GP17
SPI1_RX GP8/GP12/
SPI1_TX GP11/GP15/
SPI1_CLK GP10/GP14/
SPI1_CSn GP9/GP13/

Raspberry Pi Pico – UART Pins

The UART pins are a type of interface that is used for serial communication. There are two UART pins, one for transmitting (TX) and one for receiving (RX). The UART pins are used to connect devices that use serial communication, such as bluet, scanners, and modems.

RP2040 contains two identical UART peripherals with separate 32×8 Tx and 32×12 Rx FIFOs.

Below is the table for GPIOs pins that supports UART communication.

UART0-TX GP0/GP12/GP16
UART0-RX GP1/GP13/GP17
UART1-TX GP4/GP8
UART1-RX GP5/GP9

Raspberry Pi Pico – ADC Pins

The ADC pins on a microcontroller are used to convert an analog voltage into a digital number, The Raspberry Pi Pico board supports four analog pins with 12-bit ADC (analog to digital converters). But one of these four pins(ADC 4) is not provided as a GPIO pin on the pico board. This one pin is internally connected to the internal temperature sensor,  by reading the analog value of ADC4.

ADC pins can be used to measure things like temperature, light level, or the voltage from a potentiometer.

ADC0 GP26
ADC1 GP27
ADC2 GP28

Raspberry Pi Pico – PWM Pins

PWM pins are digital pins that are used to produce a pulse-width-modulated output signal. A PWM pin can be used to control the width of the Pulse Width Modulation (PWM) output signal, The Raspberry Pi Pico has 8-PWM block/slices(1-8)s and each PWM block provides two PWM signals through  UART0 and UART1. That means each slice can drive up to two PWM signals.

The following factors influence the behavior of a pulse width modulated signal:

  1. Frequency
  2. Duty Cycle
  3. Resolution

Raspberry Pi Pico Programming

The Raspberry Pi Pico is a microcontroller that can be programmed in a variety of languages, including C/C++ SDK and Micropython, They also provide their own SDKs for both C and Micropyhton.

After following the steps in this guide, you will have a Raspberry Pi Pico board up and running. You will have learned how to connect to the board and how to blink an LED using MicroPython code.

Read Similar Articles:

Leave a Reply

Your email address will not be published.

Related Articles

Ad
Back to top button