Dual-core Arm Cortex-M0+ processor running at up to 133 MHz
Dual-core Arm Cortex-M0+ processor running at up to 133 MHz
Wi-Fi and Bluetooth 5.0 for wireless communication and internet access
264KB of SRAM and 2MB of flash memory for storing programs and data
+ 2 x UART (serial communication)
+ 2 x SPI (serial peripheral interface)
+ 1 x I2C (inter-integrated circuit)
+ 16 x PWM (pulse-width modulation) outputs
+ 3 x ADC (analog-to-digital converter) inputs
26 x multi-function GPIO pins, including 3 x analog inputs and 16 x digital outputs
Powered by a micro-USB connection, with an optional external power supply
Supports C, C++, and MicroPython programming languages
51 x 21 mm (2.0 x 0.8 inches)
3.5 grams (0.12 ounces)
Applications
| The Raspberry Pi Pico W is suitable for a wide range of applications, including |
IoT projects and prototyping
Robotics and automation
Home automation and smart home devices
Wearable electronics and wearable devices
Industrial control and monitoring systems
Educational and research projects
Advantages
Cost-effective and highly capable microcontroller solution
Wireless connectivity for seamless communication and internet access
Large community and extensive documentation for easy development and support
Compatible with a wide range of peripherals and accessories
Typical Use Cases
Developing IoT projects that require wireless connectivity, such as smart home devices or environmental monitoring systems
Creating robots and automated systems that require real-time processing and wireless communication
Building wearable devices that require low-power consumption and wireless connectivity
Prototyping and testing ideas for industrial control and monitoring systems
By providing a powerful microcontroller with wireless connectivity, the Raspberry Pi Pico W offers a unique combination of features and capabilities that make it an ideal choice for a wide range of applications.
Raspberry Pi Pico W DocumentationOverviewThe Raspberry Pi Pico W is a microcontroller board developed by Raspberry Pi, a UK-based organization. It is an upgraded version of the Raspberry Pi Pico, featuring Wi-Fi connectivity. The Pico W is a compact, low-cost, and highly capable board that can be used for a wide range of IoT projects.Key FeaturesMicroPython support
Wi-Fi connectivity
Dual-core Arm Cortex M0+ processor
264KB of SRAM
2MB of flash storage
26 GPIO pins
USB 1.1 host and device
Supports I2C, I2S, SPI, and UART protocolsCode Examples### Example 1: Connecting to Wi-Fi and sending HTTP RequestsIn this example, we will demonstrate how to connect to a Wi-Fi network and send an HTTP request using the Raspberry Pi Pico W.```python
import rp2
import network
import urequests# Initialize Wi-Fi
wlan = network.WLAN(network.STA_IF)
wlan.active(True)# Connect to Wi-Fi network
wlan.connect('your_wifi_ssid', 'your_wifi_password')# Wait for connection
while not wlan.isconnected():
passprint('Connected to Wi-Fi')# Send HTTP request
response = urequests.get('http://example.com')# Print response
print(response.text)
```Replace `'your_wifi_ssid'` and `'your_wifi_password'` with your actual Wi-Fi network credentials.### Example 2: Reading Analog Values from a Sensor using ADCIn this example, we will demonstrate how to read analog values from a sensor using the ADC (Analog-to-Digital Converter) on the Raspberry Pi Pico W.```python
import machine# Initialize ADC pin
adc = machine.ADC(26) # ADC pin 26while True:
# Read analog value
value = adc.read_u16()# Convert value to voltage
voltage = value 3.3 / 65535# Print voltage
print('Voltage:', voltage)# Delay for 1 second
machine.sleep(1)
```In this example, we are using ADC pin 26 to read analog values from a sensor. The `read_u16()` method returns a 16-bit unsigned integer value, which we then convert to a voltage value using the formula `voltage = value 3.3 / 65535`.### Example 3: Communicating with an I2C DeviceIn this example, we will demonstrate how to communicate with an I2C device using the Raspberry Pi Pico W.```python
import machine# Initialize I2C bus
i2c = machine.I2C(0, sda=machine.Pin(16), scl=machine.Pin(17), freq=400000)# Define I2C device address
device_addr = 0x1A# Write data to I2C device
i2c.writeto(device_addr, b'x01x02x03')# Read data from I2C device
data = i2c.readfrom(device_addr, 3)# Print data
print(data)
```In this example, we are using the I2C bus to communicate with a device at address `0x1A`. We write the bytes `b'x01x02x03'` to the device and then read 3 bytes from the device.These examples demonstrate the capabilities of the Raspberry Pi Pico W and show how it can be used in various IoT applications.