Stufin
Home Quick Cart Profile

Raspberry Pi Pico Microcontroller Board - (Pack of 50)

Buy Now on Stufin

IoT projects

Remote monitoring, sensor data collection, and automation

Robotics

Control systems, motor control, and sensor integration

Embedded systems

Industrial automation, medical devices, and consumer products

Prototyping

Rapid development and testing of new ideas and products

Key Features

  • RP2040 Microcontroller Chip: A high-performance, dual-core ARM Cortex-M0+ processor with 264KB of SRAM and 2MB of flash memory.
  • GPIO Pins: 26 multifunction GPIO pins, including 16 digital-only and 10 analog-capable pins.
  • USB Interface: A USB 1.1 device controller, allowing the Pico to act as a peripheral or a host.
  • I2C, SPI, and UART Interfaces: Support for popular communication protocols, enabling connections to sensors, displays, and other devices.
  • Programmable I/O: Programmable logic (PIO) blocks allow for custom peripheral functions and protocols.
  • Power Management: On-board power management, including a voltage regulator, power-on reset, and brown-out detection.
  • Bootloader: A built-in bootloader enables easy programming and updating of the device.
  • Debugging: On-board debugging support, including a USB serial console and SWD (Serial Wire Debug) interface.
  • Dimensions: Compact size, measuring only 51mm x 21mm (2 inches x 0.8 inches).
  • Operating Temperature: -20C to +85C (-4F to +185F) operating range.

Packaging and Accessories

This pack of 50 units includes

50 x Raspberry Pi Pico Microcontroller Boards

No additional accessories or cables are included.

Documentation and Resources

Raspberry Pi provides extensive documentation, including

Detailed datasheets and technical specifications

Programming guides and tutorials for C, C++, and MicroPython

Schematics and hardware design files

Community forums and support resources

Ordering Information

Part Number

RP-PICO-50PK

Warranty and Support

Raspberry Pi offers a limited warranty and dedicated support resources for the Pico microcontroller board. For more information, please visit the Raspberry Pi website.

Pin Configuration

  • Raspberry Pi Pico Microcontroller Board Pinout Guide
  • The Raspberry Pi Pico is a powerful and flexible microcontroller board that offers a wide range of features and interfaces. With 40 GPIO pins, it provides ample opportunities for connecting sensors, actuators, and other devices to create innovative IoT projects. This guide provides a detailed overview of each pin on the Raspberry Pi Pico, including their functions and how to connect them.
  • Pinout Structure:
  • The Raspberry Pi Pico has a 40-pin GPIO header, with pins arranged in two rows of 20 pins each. The pins are numbered from 1 to 40, starting from the top-left corner.
  • Pin Descriptions:
  • Here's a point-by-point explanation of each pin on the Raspberry Pi Pico:
  • Top Row (Pins 1-20)
  • 1. VBUS: 5V power input from a USB connection.
  • 2. VSYS: 5V power input, connected to the onboard voltage regulator.
  • 3. 3V3: 3.3V power output from the onboard voltage regulator.
  • 4. GP0: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 5. GP1: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 6. GP2: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 7. GP3: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 8. GP4: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 9. GP5: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 10. GP6: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 11. GP7: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 12. GP8: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 13. GP9: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 14. GP10: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 15. GP11: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 16. GP12: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 17. GP13: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 18. GP14: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 19. GP15: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 20. GND: Ground connection.
  • Bottom Row (Pins 21-40)
  • 21. GP16: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 22. GP17: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 23. GP18: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 24. GP19: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 25. GP20: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 26. GP21: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 27. GP22: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 28. GP23: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 29. GP24: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 30. GP25: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 31. GP26: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 32. GP27: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 33. GP28: General-purpose input/output (GPIO) pin, can be used as an input, output, or for special functions like I2C or UART.
  • 34. ADC_VREF: Analog-to-digital converter (ADC) voltage reference pin.
  • 35. ADC_GP29: Analog-to-digital converter (ADC) input pin, can be used as a general-purpose input/output (GPIO) pin.
  • 36. ADC_GP30: Analog-to-digital converter (ADC) input pin, can be used as a general-purpose input/output (GPIO) pin.
  • 37. ADC_GP31: Analog-to-digital converter (ADC) input pin, can be used as a general-purpose input/output (GPIO) pin.
  • 38. RUN: Reset pin, active-low input. When pulled low, resets the microcontroller.
  • 39. GND: Ground connection.
  • 40. VDEBUG: Debug voltage input, typically connected to 1.8V or 3.3V.
  • Pin Connection Guidelines:
  • When connecting devices to the Raspberry Pi Pico, follow these guidelines:
  • Use appropriate voltage levels for power and signal connections.
  • Ensure proper current limiting for power connections.
  • Use suitable connectors and cables for secure connections.
  • Avoidover-voltage protection diodes if not necessary.
  • Use pull-up or pull-down resistors as needed for input pins.
  • Consider using a breadboard or PCB for prototyping and developing projects.
  • Important Notes:
  • The Raspberry Pi Pico is a 3.3V device, and connecting 5V devices may damage the board.
  • Some GPIO pins have special functions, such as UART, I2C, or SPI, which may require specific connections and configurations.
  • Always refer to the official documentation and datasheets for specific pin functions and limitations.
  • By following this pinout guide and connection guidelines, you can effectively use the Raspberry Pi Pico Microcontroller Board to create innovative IoT projects and prototypes.

Code Examples

Raspberry Pi Pico Microcontroller Board
Overview
The Raspberry Pi Pico Microcontroller Board is a low-cost, high-performance microcontroller board based on the RP2040 microcontroller chip. It is designed for IoT and embedded systems development, offering a range of features and peripherals. This documentation provides an overview of the board's specifications, pinouts, and code examples to get you started.
Specifications
Microcontroller: RP2040 dual-core Cortex-M0+ processor
 Frequency: Up to 133 MHz
 Memory: 264KB SRAM, 2MB Flash
 Peripherals: 2x SPI, 2x I2C, 2x UART, 16x PWM, 30x GPIO
 Power: USB-C for programming and power, 3.3V regulator
 Dimensions: 21 x 51 mm
Pinouts
The Raspberry Pi Pico Microcontroller Board has a total of 40 pins, including:
30x GPIO pins
 2x SPI pins
 2x I2C pins
 2x UART pins
 16x PWM pins
 3.3V power pin
 GND pin
 USB-C connector for programming and power
Code Examples
### Example 1: Blinking an LED using GPIO
This example demonstrates how to use the GPIO pins to control an LED. In this case, we'll be using pin 25 as an output to control an external LED.
C Code:
```c
#include <RP2040.h>
int main() {
    // Initialize GPIO pin 25 as an output
    gpio_init(25);
    gpio_set_dir(25, GPIO_OUT);
while (1) {
        // Set pin 25 high to turn on the LED
        gpio_put(25, 1);
        sleep_ms(500);
// Set pin 25 low to turn off the LED
        gpio_put(25, 0);
        sleep_ms(500);
    }
    return 0;
}
```
MicroPython Code:
```python
import machine
import utime
# Initialize pin 25 as an output
pin = machine.Pin(25, machine.Pin.OUT)
while True:
    # Set pin 25 high to turn on the LED
    pin.value(1)
    utime.sleep(0.5)
# Set pin 25 low to turn off the LED
    pin.value(0)
    utime.sleep(0.5)
```
### Example 2: Reading Data from an I2C Sensor
This example demonstrates how to use the I2C interface to read data from an external sensor, such as a temperature sensor.
C Code:
```c
#include <RP2040.h>
#include <i2c.h>
int main() {
    // Initialize I2C interface
    i2c_init(i2c0, 400000);
// Set up I2C slave device (temperature sensor)
    uint8_t slave_addr = 0x1A;
    uint8_t reg_addr = 0x00;
    uint8_t data[2];
while (1) {
        // Read data from I2C slave device
        i2c_writerepeat(i2c0, slave_addr, &reg_addr, 1, data, 2);
// Print temperature data
        printf("Temperature: %d.%dC
", data[0], data[1]);
// Delay for 1 second
        sleep_ms(1000);
    }
    return 0;
}
```
MicroPython Code:
```python
import machine
import ustruct
# Initialize I2C interface
i2c = machine.I2C(0, freq=400000)
# Set up I2C slave device (temperature sensor)
slave_addr = 0x1A
reg_addr = 0x00
while True:
    # Read data from I2C slave device
    data = i2c.readfrom(slave_addr, reg_addr, 2)
# Unpack data
    temp = ustruct.unpack('<H', data)[0]
# Print temperature data
    print(f"Temperature: {temp/10:.1f}C")
# Delay for 1 second
    utime.sleep(1)
```
These code examples demonstrate the basics of using the Raspberry Pi Pico Microcontroller Board with C and MicroPython. You can further explore the board's capabilities by experimenting with different peripherals and interfaces.