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.
- Only 0$ for 5-10pcs PCB Prototypes：https://www.nextpcb.com/PCBPrototypes
- 4-layer PCB price reduction up to 40%: nextpcb.com/40%off
- Register and get $100 from NextPCB: Nextpcb.com/coupon
What is Raspberry Pi Pico?
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?
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.
The fix numeral on RP2040 comes from the following:
- RP in RP2040 means ‘Raspberry Pi’.
- Number of processor cores (2)
- Loosely which type of processor (M0+)
- The amount of RAM, from the function floor(log2(RAM / 16kB)); in this case it’s 256kB
- 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|
|ADC||3 available × 12-bit|
|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 :
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 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 – 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|
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.
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.
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.
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:
- Duty Cycle
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:
- Getting Started Raspberry Pi Pico – Pinout, Specs – Beginner Guide
- Interfacing PIR Motion Sensor with Raspberry Pi Pico
- Raspberry Pi Pico Home Automation System
- Interface Servo Motor With Raspberry Pi Pico
- Interface 0.96″ OLED Display with Raspberry Pi Pico
- Raspberry Pi Pico Weather Station Using Dht11 Sensor
- Interface 16*2 LCD Display With Raspberry Pi Pico