Raspberry Pi Pico
Specifications: RP2040, Dual-core Arm Cortex-M0+, 264KB on-chip SRAM, 2MB on-board QSPI Flash, UART, SPI, I2C
First time the hardware is in USB media mode, so you can copy your code to it, but next time you have to push BOOTSEL button while plugging USB connector to boot in this mode. If you do it too much you can break your connector, do it carefully. You can add a microswitch button to RUN pin, so you can reset and reboot the device without unplugging.
Programming in Micropython
pip3 install thonny
If Thonny cannot find your device you can download firmware from: micropython.org and just drag and drop to RPI-RP2.
You can save your py file to Pico and if you save as main.py it will start automatic after booting.
Programming in C++
Unfortunately I haven't found gcc-arm-none-eabi rpm packages at Mageia Linux, but I could download and install ver. 10.3-2021.10 from https://developer.arm.com. After successful install I've downloaded the SDK and the Examples for Pico as described below:
mkdir ~/pico cd ~/pico git clone -b master https://github.com/raspberrypi/pico-sdk.git cd pico-sdk git submodule update --init cd .. git clone -b master https://github.com/raspberrypi/pico-examples.git
build lcd_1602_i2c example:
export PICO_SDK_PATH=~/pico/pico-sdk cd pico-examples mkdir build cd build cmake .. cd i2c/lcd_1602_i2c/ make -j4
GPIO 4 (pin 6)-> SDA;
GPIO 5 (pin 7)-> SCL;
3.3v (pin 36) -> VCC;
GND (pin 38) -> GND
And now just have to drag and drop lcd_1602_i2c.uf2 to Pico device (RPI-RP2 in Dolphin). The LCD I have works from 5V so I've used VSYS PIN 39 instead of 3.3V.