KevsRobots Learning Platform
70% Percent Complete
By Kevin McAleer, 2 Minutes
Page last updated June 15, 2025

Youβve set up your toolchain β now letβs write and upload your very first C program to the Raspberry Pi Pico!
Instead of just blinking an LED, weβll start with a classic: βHello, world!β
But this time, it will run on real hardware.
Letβs make a folder for your own code:
mkdir -p ~/pico/my-project
cd ~/pico/my-project
Create these files:
CMakeLists.txtThe CMake file tells the build system how to compile your code. Create a file named CMakeLists.txt with the following content:
cmake_minimum_required(VERSION 3.13)
include(pico_sdk_import.cmake)
project(my_project)
pico_sdk_init()
add_executable(hello
hello.c
)
target_link_libraries(hello pico_stdlib)
pico_add_extra_outputs(hello)
hello.cCreate a file named hello.c - this is the main program. Add the following content to it:
#include <stdio.h>
#include "pico/stdlib.h"
int main() {
stdio_init_all();
while (true) {
printf("Hello, world from the Pico!\n");
sleep_ms(1000);
}
}
pico_sdk_import.cmakeCopy this file from ~/pico/pico-examples:
cp ~/pico/pico-examples/pico_sdk_import.cmake .
mkdir build
cd build
cmake ..
make
You should now have hello.uf2 in the build folder.
hello.uf2 onto the RPI-RP2 USB driveThe Pico will reboot and start running your program.
Use minicom, screen, or a serial monitor to view the output:
screen /dev/ttyACM0 115200
You may need to install
screen:sudo apt install screen
You should see:
Hello, world from the Pico!
Hello, world from the Pico!
...
You just:
π Congratulations β youβre now officially writing C code on the Raspberry Pi Pico!
Next up: GPIO Basics, where weβll learn how to interact with the outside world by controlling physical pins.
You can use the arrows β β on your keyboard to navigate between lessons.
Comments