Programming Raspberry Pi Pico with Python and MicroPython — The MagPi magazine (2024)

You can pick up a Raspberry Pi Pico from just $4 / £3.60, or free with the latest edition of HackSpace magazine.

Programs written for other MicroPython-compatible microcontroller boards will work on Raspberry Pi Pico, and vice versa – sometimes needing minor modification for different features between boards – giving Raspberry Pi Pico a healthy library of projects and tutorials beyond those developed by Raspberry Pi itself.

Meanwhile, the C/C++ SDK is fine-tuned to RP2040 and has all the headers, libraries, and build systems necessary to write programs in C,C++, or assembly language. Additionally, the C/C++ SDK provides higher-level libraries for dealing with timers, USB, synchronisation, and multicore programming, along with additional high-level functionality built using PIO such as audio.

Beginners looking to get started with the MicroPython port should start with the Raspberry Pi Pico Python SDK documentation and be sure to pick up a copy of Getting Started with MicroPython on Raspberry Pi Pico.

Programming Raspberry Pi Pico with Python and MicroPython — The MagPi magazine (1)

Get Started with MicroPython on Raspberry Pi Pico

For more physical computing projects to try on your Raspberry Pi Pico, grab a copy of the new book, Get Started with MicroPython on Raspberry Pi Pico. As well as learning how to use Raspberry Pi Pico’s pins as inputs and outputs, you’ll build a simple game, measure temperatures, save and load data to your Pico’s file system, and even make a burglar alarm for your room.

Get Started with MicroPython on Raspberry Pi Pico is available now from Raspberry Pi Press.

Programming Raspberry Pi Pico with Python and MicroPython — The MagPi magazine (2)

Makers looking to explore the C/C++ SDK should download the Pico C/C++ SDK documentation.

Raspberry Pi Pico data sheets

Make sure to read, and bookmark, these new Raspberry Pi Pico and 2040 data sheets.

Program Raspberry Pi Pico with MicroPython

Raspberry Pi Pico is set up, by default, for use with the C/C++ Software Development Kit (SDK). The C/C++ SDK is an extremely flexible and powerful way to interact with your Raspberry Pi Pico. However, there’s a more beginner-friendly method: MicroPython, a port of the Python programming language designed specifically for microcontrollers.

In this tutorial we’re going to switch the Pico firmware from C/C++ to MicroPython and create our first program, which flashes the LED on the board.

You'll need

Open Raspberry Pi Pico in boot mode

Take your Raspberry Pi Pico and a micro USB to USB-A cable, and connect the small micro USB end of Pico. Hold down the small button on your Raspberry Pi Pico marked ‘BOOTSEL’ and plug the larger USB-A cable end into your computer (we are using a Raspberry Pi).Wait a few seconds, then let go of the BOOTSEL button. You will see your computer mount a removable drive. Click OK in the ‘Removable medium is inserted’ window to open Raspberry Pi Pico’s on-board storage.

Programming Raspberry Pi Pico with Python and MicroPython — The MagPi magazine (3)

Flash the MicroPython firmware

Double-click the INDEX.HTM file displayed in Pico’s mounted storage. Your browser will open and display the ‘Welcome to your Raspberry Pi Pico’ webpage. Choose the ‘Getting started with MicroPython’ tab, and click ‘Download UF2 file’ to download the MicroPython firmware. It’s a small file, so it’ll only take a few seconds.

Open File Manager and locate the micropython-16-DEC-2020.uf2 file in the Downloads folder (the file name may have been updated with a later date). Drag-and-drop the UF2 file to the Raspberry Pi Pico’s removable drive (named ‘RPI-RP2’). After a few seconds, the drive will disappear as the new MicroPython firmware is recognised and installed.

Programming Raspberry Pi Pico with Python and MicroPython — The MagPi magazine (4)

Switching the back end

The best way to program in MicroPython on your Raspberry Pi Pico is with the Thonny Python IDE (integrated development environment). Open the Raspberry Pi menu and choose

Programming > Thonny Python IDE.

Programming Raspberry Pi Pico with Python and MicroPython — The MagPi magazine (5)

Thonny is normally used to write programs that run on the same computer you’re using Thonny on; to switch to writing programs on your Raspberry Pi Pico, you’ll need to choose a new Python interpreter. Look at the bottom-right of the Thonny window for the word ‘Python’ followed by a version number: that’s your current interpreter.

Click ‘Python’ and look through the list that appears for ‘MicroPython (Raspberry Pi Pico)’ – or, if you’re running an older version of Thonny, ‘MicroPython (generic)’.

Tip! Update Thonny

If you don’t see MicroPython (Raspberry Pi Pico) in the interpreter list, you’ll need to update Thonny. Open a Terminal window and type:

sudo apt update && sudo apt full-upgrade -y

Code Hello World in MicroPython

Writing a program for your Raspberry Pi Pico is a lot like writing a program for your Raspberry Pi. You can type commands in the Shell area at the bottom of the window to have them immediately executed, or you can write a program in the main part of the window to run on-demand.

Click in the Shell area, next to the >>>> symbols, and type:

print("Hello, World!")

When you press ENTER at the end of the line, you’ll see your Raspberry Pi Pico respond. Try typing the same line again, but in the main part of the Thonny window – then click the Run icon. You’ll be asked whether you want to save your program to ‘This computer’ or ‘Raspberry Pi Pico’. Click on ‘Raspberry Pi Pico’, give your program the name hello_world.py, then click OK to save and run your first program.

Create a program that blinks Raspberry Pi Pico's LED

While Raspberry Pi Pico can run Python programs like the one above, its true power comes from interfacing with external hardware like buttons and LEDs. You can start programming a physical computing project without any extra hardware, too, thanks to an on-board LED (assigned to the non-broken-out GP25 pin).

Click the New icon and type in the blinky_led.py code. Click Run, save the program to your Raspberry Pi Pico, and watch the LED on Raspberry Pi Pico: it will turn on for one second, then off for one second, thenrepeat.

import machineimport utimeled_onboard = machine.Pin(25, machine.Pin.OUT)while True: led_onboard.toggle() utime.sleep(1)

Programming Raspberry Pi Pico with Python and MicroPython — The MagPi magazine (6)

Programming Raspberry Pi Pico with Python and MicroPython — The MagPi magazine (2024)
Top Articles
SLOW COOKER STUFFING RECIPE
20 Frontier Recipes You're Going To Love
Best Pizza Novato
Faridpur Govt. Girls' High School, Faridpur Test Examination—2023; English : Paper II
Western Union Mexico Rate
Free Atm For Emerald Card Near Me
Craigslist Motorcycles Jacksonville Florida
10000 Divided By 5
Produzione mondiale di vino
Toonily The Carry
The Rise of Breckie Hill: How She Became a Social Media Star | Entertainment
Where does insurance expense go in accounting?
ocala cars & trucks - by owner - craigslist
Christina Khalil Forum
Directions To 401 East Chestnut Street Louisville Kentucky
Images of CGC-graded Comic Books Now Available Using the CGC Certification Verification Tool
Overton Funeral Home Waterloo Iowa
Jinx Chapter 24: Release Date, Spoilers & Where To Read - OtakuKart
Osborn-Checkliste: Ideen finden mit System
eHerkenning (eID) | KPN Zakelijk
12 Top-Rated Things to Do in Muskegon, MI
Tripadvisor Napa Restaurants
Kentuky Fried Chicken Near Me
Celina Powell Lil Meech Video: A Controversial Encounter Shakes Social Media - Video Reddit Trend
Kabob-House-Spokane Photos
27 Modern Dining Room Ideas You'll Want to Try ASAP
Publix Near 12401 International Drive
Xpanas Indo
Cosas Aesthetic Para Decorar Tu Cuarto Para Imprimir
WPoS's Content - Page 34
Kuttymovies. Com
Core Relief Texas
Sinfuldeed Leaked
Busch Gardens Wait Times
Ryujinx Firmware 15
Kaiser Infozone
Napa Autocare Locator
Tas Restaurant Fall River Ma
Vip Lounge Odu
The Syracuse Journal-Democrat from Syracuse, Nebraska
Bitchinbubba Face
Academic important dates - University of Victoria
Streameast.xy2
Levothyroxine Ati Template
Cal Poly 2027 College Confidential
Ramsey County Recordease
Samantha Lyne Wikipedia
Bunkr Public Albums
Rage Of Harrogath Bugged
A jovem que batizou lei após ser sequestrada por 'amigo virtual'
1Tamilmv.kids
Kidcheck Login
Latest Posts
Article information

Author: Rubie Ullrich

Last Updated:

Views: 6240

Rating: 4.1 / 5 (72 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Rubie Ullrich

Birthday: 1998-02-02

Address: 743 Stoltenberg Center, Genovevaville, NJ 59925-3119

Phone: +2202978377583

Job: Administration Engineer

Hobby: Surfing, Sailing, Listening to music, Web surfing, Kitesurfing, Geocaching, Backpacking

Introduction: My name is Rubie Ullrich, I am a enthusiastic, perfect, tender, vivacious, talented, famous, delightful person who loves writing and wants to share my knowledge and understanding with you.