Raspberry pi
Blink the Onboard LED
Blink the onboard LED on your Raspberry Pi Pico
Create Project Folder
mkdir ~/blink_me
cd ~/blink_me
touch CMakeLists.txtCMake Configuration
Create CMakeLists.txt with the following content:
cmake_minimum_required(VERSION 3.13)
include(pico_sdk_import.cmake)
project(blink_me)
pico_sdk_init()
add_executable(blink_me
    main.c
)
pico_add_extra_outputs(blink_me)
target_link_libraries(blink_me pico_stdlib)Create Main Program
Create main.c:
#include "pico/stdlib.h"
int main() {
    const uint LED_PIN = 25;  
    
    // Initialize
    stdio_init_all();
    gpio_init(LED_PIN);
    gpio_set_dir(LED_PIN, GPIO_OUT);
    
    while (true) {
        gpio_put(LED_PIN, 1);  // Turn LED on
        sleep_ms(1000);
        gpio_put(LED_PIN, 0);  // Turn LED off
        sleep_ms(1000);
    }
}Build the Project
mkdir build
cd build
cmake ..
makeThis will generate a .uf2 file in the build directory.
Connect Raspberry Pi Pico
- Disconnect the Pico from USB.
 - Hold down the BOOTSEL button (small button on the Pico).
 - While holding BOOTSEL, connect the USB cable.
 - Release the BOOTSEL button after connecting.
 
You can monitor USB events in real time:
sudo dmesg -wCheck the connected device:
sudo fdisk -lLook for a line like:
Disk model: RP2The device is usually listed as /dev/sda1 (not /dev/sda):
Device     Boot Start    End Sectors  Size Id Type
/dev/sda1           1 262143  262143  128M  e W95 FAT16 (LBA)Mount the Pico
Create a mount point:
sudo mkdir -p /mnt/picoMount the Pico:
sudo mount /dev/sda1 /mnt/picoVerify:
ls -la /mnt/pico/You should see files like INDEX.HTM and INFO_UF2.TXT.
Copy the .uf2 File to the Pico
Navigate to your project folder:
cd ~/blink_meIf not built yet:
mkdir -p build
cd build
cmake ..
make
cd ..Copy the firmware:
sudo cp build/*.uf2 /mnt/pico/The Pico will automatically reboot and start running your program.