You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[hello_serial](hello_world/serial) | The obligatory Hello World program for Pico (output over serial version) |
30
-
[hello_usb](hello_world/usb) | The obligatory Hello World program for Pico (output over USB version) | https://rptl.io/pico-hello-usb
31
-
[blink](blink) | Blink a LED on and off. Works on both boards with regular LEDs and boards like Pico W where the LED is connected via the Wi-Fi chip | https://rptl.io/pico-blink
32
-
[blink_simple](blink_simple) | Blink a LED on and off. Does not work on boards like Pico W where the LED is connected via the Wi-Fi chip. |https://rptl.io/pico-blink
27
+
App| Description | Link to prebuilt UF2
28
+
---|---|---
29
+
[hello_serial](hello_world/serial) | The obligatory Hello World program for Pico (output over serial version). |
30
+
[hello_usb](hello_world/usb) | The obligatory Hello World program for Pico (output over USB version). | https://rptl.io/pico-hello-usb
31
+
[blink](blink) | Blink a LED on and off. Works on both boards with regular LEDs and boards like Pico W where the LED is connected via the Wi-Fi chip. | https://rptl.io/pico-blink
32
+
[blink_simple](blink_simple) | Blink a LED on and off. Does not work on boards like Pico W where the LED is connected via the Wi-Fi chip. |
33
33
[picow_blink](pico_w/wifi/blink) | Blinks the on-board LED on boards like Pico W where the LED is connected via the Wi-Fi chip. | http://rptl.io/pico-w-blink
34
34
35
35
### ADC
@@ -48,17 +48,17 @@ App|Description
48
48
49
49
App|Description
50
50
---|---
51
-
[blink_any](binary_info/blink_any) | Uses `bi_ptr` variables to create a configurable blink binary - see the separate [README](binary_info/README.md) for more details
52
-
[hello_anything](binary_info/hello_anything) | Uses `bi_ptr` variables to create a configurable hello_world binary - see the separate [README](binary_info/README.md) for more details
51
+
[blink_any](binary_info/blink_any) | Uses `bi_ptr` variables to create a configurable blink binary - see the separate [README](binary_info/README.md) for more details.
52
+
[hello_anything](binary_info/hello_anything) | Uses `bi_ptr` variables to create a configurable hello_world binary - see the separate [README](binary_info/README.md) for more details.
53
53
54
54
### Bootloaders (RP235x Only)
55
55
56
56
These examples all produce multiple UF2s - a bootloader UF2, and then a separate UF2 of the program that the bootloader will load and boot. To load them onto a device with empty flash, first load the bootloader UF2, then reset to BOOTSEL mode and load the program UF2. This ordering is required because the bootloaders contain embedded partition tables - see section 5.10.6 in the RP2350 datasheet for more details on those.
57
57
58
58
App|Description
59
59
---|---
60
-
[enc_bootloader](bootloaders/encrypted) | A bootloader which decrypts binaries from flash into SRAM. See the separate [README](bootloaders/encrypted/README.md) for more information
61
-
[uart_boot](bootloaders/uart) | A bootloader which boots a separate RP2350 using the UART boot interface. See section 5.8 in the datasheet for more details, including the wiring requirements
60
+
[enc_bootloader](bootloaders/encrypted) | A bootloader which decrypts binaries from flash into SRAM. See the separate [README](bootloaders/encrypted/README.md) for more information.
61
+
[uart_boot](bootloaders/uart) | A bootloader which boots a separate RP2350 using the UART boot interface. See section 5.8 in the datasheet for more details, including the wiring requirements.
62
62
63
63
### Clocks
64
64
@@ -73,7 +73,7 @@ App|Description
73
73
74
74
App|Description
75
75
---|---
76
-
[build_variants](cmake/build_variants) | Builds two version of the same app with different configurations
76
+
[build_variants](cmake/build_variants) | Builds two versions of the same app with different configurations.
77
77
78
78
### DCP (RP235x Only)
79
79
@@ -101,7 +101,7 @@ App|Description
101
101
102
102
App|Description
103
103
---|---
104
-
[dvi_out_hstx_encoder](hstx/dvi_out_hstx_encoder) | Use the HSTX to output a DVI signal with 3:3:2 RGB
104
+
[dvi_out_hstx_encoder](hstx/dvi_out_hstx_encoder) | Use the HSTX to output a DVI signal with 3:3:2 RGB.
105
105
106
106
### Flash
107
107
@@ -112,7 +112,7 @@ App|Description
112
112
[program](flash/program) | Erase a flash sector, program one flash page, and read back the data.
113
113
[xip_stream](flash/xip_stream) | Stream data using the XIP stream hardware, which allows data to be DMA'd in the background whilst executing code from flash.
114
114
[ssi_dma](flash/ssi_dma) | DMA directly from the flash interface (continuous SCK clocking) for maximum bulk read performance.
115
-
[runtime_flash_permissions](flash/runtime_flash_permissions) | Demonstrates adding partitions at runtime to change the flash permissions
115
+
[runtime_flash_permissions](flash/runtime_flash_permissions) | Demonstrates adding partitions at runtime to change the flash permissions.
116
116
[partition_info](flash/partition_info) | Extract and enumerate partition information (address ranges, permissions, IDs, and names) from the partition table.
117
117
118
118
### FreeRTOS
@@ -121,7 +121,7 @@ These examples require you to set the `FREERTOS_KERNEL_PATH` to point to the Fre
121
121
122
122
App|Description
123
123
---|---
124
-
[hello_freertos_one_core](freertos/hello_freertos) | Demonstrates how o run FreeRTOS and tasks on one core
124
+
[hello_freertos_one_core](freertos/hello_freertos) | Demonstrates how to run FreeRTOS and tasks on one core.
125
125
[hello_freertos_two_cores](freertos/hello_freertos) | Demonstrates how to run FreeRTOS and tasks on two cores.
126
126
[hello_freertos_static_allocation](freertos/hello_freertos) | Demonstrates how to run FreeRTOS on two cores with static RAM allocation.
127
127
@@ -153,11 +153,11 @@ App|Description
153
153
[mma8451_i2c](i2c/mma8451_i2c) | Read acceleration from a MMA8451 accelerometer and set range and precision for the data.
154
154
[mpl3115a2_i2c](i2c/mpl3115a2_i2c) | Interface with an MPL3115A2 altimeter, exploring interrupts and advanced board features, via I2C.
155
155
[mpu6050_i2c](i2c/mpu6050_i2c) | Read acceleration and angular rate values from a MPU6050 accelerometer/gyro, attached to an I2C bus.
156
-
[ssd1306_i2c](i2c/ssd1306_i2c) | Convert and display a bitmap on a 128x32 or 128x64 SSD1306-driven OLED display
156
+
[ssd1306_i2c](i2c/ssd1306_i2c) | Convert and display a bitmap on a 128x32 or 128x64 SSD1306-driven OLED display.
157
157
[pa1010d_i2c](i2c/pa1010d_i2c) | Read GPS location data, parse and display data via I2C.
158
158
[pcf8523_i2c](i2c/pcf8523_i2c) | Read time and date values from a PCF8523 real time clock. Set current time and alarms on it.
159
159
[ht16k33_i2c](i2c/ht16k33_i2c) | Drive a 4 digit 14 segment LED with an HT16K33.
160
-
[slave_mem_i2c](i2c/slave_mem_i2c) | i2c slave example where the slave implements a 256 byte memory
160
+
[slave_mem_i2c](i2c/slave_mem_i2c) | i2c slave example where the slave implements a 256 byte memory.
161
161
[slave_mem_i2c_burst](i2c/slave_mem_i2c) | i2c slave example where the slave implements a 256 byte memory. This version inefficiently writes each byte in a separate call to demonstrate read and write burst mode.
162
162
163
163
### Interpolator
@@ -185,7 +185,7 @@ App|Description
185
185
186
186
App|Description
187
187
---|---
188
-
[blinky](picoboard/blinky) | Blink "hello, world" in Morse code on Pico's LED
188
+
[blinky](picoboard/blinky) | Blink "hello, world" in Morse code on Pico's LED.
189
189
[button](picoboard/button) | Use Pico's BOOTSEL button as a regular button input, by temporarily suspending flash access.
190
190
191
191
### Pico Networking
@@ -196,8 +196,8 @@ App|Description
196
196
---|---
197
197
[picow_access_point](pico_w/wifi/access_point) | Starts a WiFi access point, and fields DHCP requests.
198
198
[picow_blink](pico_w/wifi/blink) | Blinks the on-board LED (which is connected via the WiFi chip).
199
-
[picow_blink_slow_clock](pico_w/wifi/blink) | Blinks the on-board LED (which is connected via the WiFi chip) with a slower system clock to show how to reconfigure communication with the WiFi chip at run time under those circumstances
200
-
[picow_blink_fast_clock](pico_w/wifi/blink) | Blinks the on-board LED (which is connected via the WiFi chip) with a faster system clock to show how to reconfigure communication with the WiFi chip at build time under those circumstances
199
+
[picow_blink_slow_clock](pico_w/wifi/blink) | Blinks the on-board LED (which is connected via the WiFi chip) with a slower system clock to show how to reconfigure communication with the WiFi chip at run time under those circumstances.
200
+
[picow_blink_fast_clock](pico_w/wifi/blink) | Blinks the on-board LED (which is connected via the WiFi chip) with a faster system clock to show how to reconfigure communication with the WiFi chip at build time under those circumstances.
201
201
[picow_iperf_server](pico_w/wifi/iperf) | Runs an "iperf" server for WiFi speed testing.
202
202
[picow_ntp_client](pico_w/wifi/ntp_client) | Connects to an NTP server to fetch and display the current time.
203
203
[picow_tcp_client](pico_w/wifi/tcp_client) | A simple TCP client. You can run [python_test_tcp_server.py](pico_w/wifi/python_test_tcp/python_test_tcp_server.py) for it to connect to.
@@ -206,10 +206,10 @@ App|Description
206
206
[picow_tls_verify](pico_w/wifi/tls_client) | Demonstrates how to make a HTTPS request using TLS with certificate verification.
207
207
[picow_wifi_scan](pico_w/wifi/wifi_scan) | Scans for WiFi networks and prints the results.
208
208
[picow_udp_beacon](pico_w/wifi/udp_beacon) | A simple UDP transmitter.
209
-
[picow_httpd](pico_w/wifi/httpd) | Runs a LWIP HTTP server test app
210
-
[picow_http_client](pico_w/wifi/http_client) | Demonstrates how to make http and https requests
211
-
[picow_http_client_verify](pico_w/wifi/http_client) | Demonstrates how to make a https request with server authentication
212
-
[picow_mqtt_client](pico_w/wifi/mqtt) | Demonstrates how to implement a MQTT client application
209
+
[picow_httpd](pico_w/wifi/httpd) | Runs a LWIP HTTP server test app.
210
+
[picow_http_client](pico_w/wifi/http_client) | Demonstrates how to make http and https requests.
211
+
[picow_http_client_verify](pico_w/wifi/http_client) | Demonstrates how to make a https request with server authentication.
212
+
[picow_mqtt_client](pico_w/wifi/mqtt) | Demonstrates how to implement a MQTT client application.
213
213
[picow_ota_update](pico_w/wifi/ota_update) | A minimal OTA update server (RP235x only). See the separate [README](pico_w/wifi/ota_update/README.md) for more details.
214
214
215
215
#### FreeRTOS Networking
@@ -249,7 +249,7 @@ App|Description
249
249
[picow_bt_example_audio_duplex](https://github.com/bluekitchen/btstack/tree/master/example/audio_duplex.c) | Audio Driver - Forward Audio from Source to Sink.
250
250
[picow_bt_example_avrcp_browsing_client](https://github.com/bluekitchen/btstack/tree/master/example/avrcp_browsing_client.c) | AVRCP Browsing - Browse Media Players and Media Information.
251
251
[picow_bt_example_dut_mode_classic](https://github.com/bluekitchen/btstack/tree/master/example/dut_mode_classic.c) | Testing - Enable Device Under Test (DUT.c) Mode for Classic.
252
-
[picow_bt_example_gap_dedicated_bonding](https://github.com/bluekitchen/btstack/tree/master/example/gap_dedicated_bonding.c) | GAP bonding
252
+
[picow_bt_example_gap_dedicated_bonding](https://github.com/bluekitchen/btstack/tree/master/example/gap_dedicated_bonding.c) | GAP bonding.
253
253
[picow_bt_example_gap_inquiry](https://github.com/bluekitchen/btstack/tree/master/example/gap_inquiry.c) | GAP Classic Inquiry.
254
254
[picow_bt_example_gap_le_advertisements](https://github.com/bluekitchen/btstack/tree/master/example/gap_le_advertisements.c) | GAP LE Advertisements Scanner.
255
255
[picow_bt_example_gap_link_keys](https://github.com/bluekitchen/btstack/tree/master/example/gap_link_keys.c) | GAP Link Key Management (Classic.c).
@@ -295,9 +295,9 @@ Some standalone Bluetooth examples (without all the common example build infrast
295
295
296
296
App|Description
297
297
---|---
298
-
[picow_ble_temp_sensor](pico_w/bt/standalone) | Reads from the on board temperature sensor and sends notifications via BLE
299
-
[picow_ble_temp_sensor_with_wifi](pico_w/bt/standalone) | Same as above but also connects to Wi-Fi and starts an "iperf" server
300
-
[picow_ble_temp_reader](pico_w/bt/standalone) | Connects to one of the above "sensors" and reads the temperature
298
+
[picow_ble_temp_sensor](pico_w/bt/standalone) | Reads from the on board temperature sensor and sends notifications via BLE.
299
+
[picow_ble_temp_sensor_with_wifi](pico_w/bt/standalone) | Same as above but also connects to Wi-Fi and starts an "iperf" server.
300
+
[picow_ble_temp_reader](pico_w/bt/standalone) | Connects to one of the above "sensors" and reads the temperature.
301
301
302
302
### PIO
303
303
@@ -316,13 +316,13 @@ App|Description
316
316
[pio_blink](pio/pio_blink) | Set up some PIO state machines to blink LEDs at different frequencies, according to delay counts pushed into their FIFOs.
317
317
[pio_pwm](pio/pwm) | Pulse width modulation on PIO. Use it to gradually fade the brightness of an LED.
318
318
[pio_quadrature_encoder](pio/quadrature_encoder) | A quadrature encoder using PIO to maintain counts independent of the CPU.
319
-
[pio_quadrature_encoder_substep](pio/quadrature_encoder_substep) | High resolution speed measurement using a standard quadrature encoder
320
-
[pio_spi_flash](pio/spi) | Use PIO to erase, program and read an external SPI flash chip
319
+
[pio_quadrature_encoder_substep](pio/quadrature_encoder_substep) | High resolution speed measurement using a standard quadrature encoder.
320
+
[pio_spi_flash](pio/spi) | Use PIO to erase, program and read an external SPI flash chip.
321
321
[pio_spi_loopback](pio/spi) | Use PIO to run a loopback test with all four CPHA/CPOL combinations.
322
322
[pio_squarewave](pio/squarewave) | Drive a fast square wave onto a GPIO. This example accesses low-level PIO registers directly, instead of using the SDK functions.
323
-
[pio_squarewave_div_sync](pio/squarewave) | Generates a square wave on three GPIOs and synchronises the divider on all the state machines
323
+
[pio_squarewave_div_sync](pio/squarewave) | Generates a square wave on three GPIOs and synchronises the divider on all the state machines.
324
324
[pio_st7789_lcd](pio/st7789_lcd) | Set up PIO for 62.5 Mbps serial output, and use this to display a spinning image on a ST7789 serial LCD.
325
-
[pio_uart_dma](pio/uart_dma) | Send and receive data from a UART implemented using the PIO and DMA
325
+
[pio_uart_dma](pio/uart_dma) | Send and receive data from a UART implemented using the PIO and DMA.
326
326
[pio_uart_rx](pio/uart_rx) | Implement the receive component of a UART serial port. Attach it to the spare Arm UART to see it receive characters.
327
327
[pio_uart_rx_intr](pio/uart_rx) | Implement the receive component of a UART serial port with an interrupt for received characters. Attach it to the spare Arm UART to see it receive characters.
328
328
[pio_uart_tx](pio/uart_tx) | Implement the transmit component of a UART serial port, and print hello world.
@@ -356,20 +356,20 @@ App|Description
356
356
357
357
App|Description
358
358
---|---
359
-
[hello_sha256](sha/sha256) | Demonstrates how to use the pico_sha256 library to calculate a checksum using the hardware in RP2350
360
-
[mbedtls_sha256](sha/mbedtls_sha256) | Demonstrates using the SHA-256 hardware acceleration in MbedTLS
359
+
[hello_sha256](sha/sha256) | Demonstrates how to use the pico_sha256 library to calculate a checksum using the hardware in RP2350.
360
+
[mbedtls_sha256](sha/mbedtls_sha256) | Demonstrates using the SHA-256 hardware acceleration in MbedTLS.
361
361
362
362
### SPI
363
363
364
364
App|Description
365
365
---|---
366
366
[bme280_spi](spi/bme280_spi) | Attach a BME280 temperature/humidity/pressure sensor via SPI.
367
-
[mpu9250_spi](spi/mpu9250_spi) | Attach a MPU9250 accelerometer/gyoscope via SPI.
367
+
[mpu9250_spi](spi/mpu9250_spi) | Attach a MPU9250 accelerometer/gyroscope via SPI.
368
368
[spi_dma](spi/spi_dma) | Use DMA to transfer data both to and from the SPI simultaneously. The SPI is configured for loopback.
369
369
[spi_flash](spi/spi_flash) | Erase, program and read a serial flash device attached to one of the SPI controllers.
370
370
[spi_master_slave](spi/spi_master_slave) | Demonstrate SPI communication as master and slave.
371
-
[max7219_8x7seg_spi](spi/max7219_8x7seg_spi) | Attaching a Max7219 driving an 8 digit 7 segment display via SPI
372
-
[max7219_32x8_spi](spi/max7219_32x8_spi) | Attaching a Max7219 driving an 32x8 LED display via SPI
371
+
[max7219_8x7seg_spi](spi/max7219_8x7seg_spi) | Attaching a Max7219 driving an 8 digit 7 segment display via SPI.
372
+
[max7219_32x8_spi](spi/max7219_32x8_spi) | Attaching a Max7219 driving an 32x8 LED display via SPI.
373
373
374
374
### System
375
375
@@ -379,7 +379,7 @@ App|Description
379
379
[hello_double_tap](system/hello_double_tap) | An LED blink with the `pico_bootsel_via_double_reset` library linked. This enters the USB bootloader when it detects the system being reset twice in quick succession, which is useful for boards with a reset button but no BOOTSEL button.
380
380
[rand](system/rand) | Demonstrate how to use the pico random number functions.
381
381
[narrow_io_write](system/narrow_io_write) | Demonstrate the effects of 8-bit and 16-bit writes on a 32-bit IO register.
382
-
[unique_board_id](system/unique_board_id) | Read the 64 bit unique ID from external flash, which serves as a unique identifier for the board.
382
+
[unique_board_id](system/unique_board_id) | Read the 64 bit unique ID from external flash (RP2040) or OTP (RP235x), which serves as a unique identifier for the board.
383
383
384
384
### Timer
385
385
@@ -394,7 +394,7 @@ App|Description
394
394
App|Description
395
395
---|---
396
396
[hello_uart](uart/hello_uart) | Print some text from one of the UART serial ports, without going through `stdio`.
397
-
[lcd_uart](uart/lcd_uart) | Display text and symbols on a 16x02 RGB LCD display via UART
397
+
[lcd_uart](uart/lcd_uart) | Display text and symbols on a 16x02 RGB LCD display via UART.
398
398
[uart_advanced](uart/uart_advanced) | Use some other UART features like RX interrupts, hardware control flow, and data formats other than 8n1.
399
399
400
400
### Universal
@@ -406,7 +406,7 @@ App|Description
406
406
---|---
407
407
[blink](universal/CMakeLists.txt#L126) | Same as the [blink](blink) example, but universal.
408
408
[hello_universal](universal/hello_universal) | The obligatory Hello World program for Pico (USB and serial output). On RP2350 it will reboot to the other architecture after every 10 prints.
409
-
[nuke_universal](universal/CMakeLists.txt#L132) | Same as the [nuke](flash/nuke) example, but universal. On RP2350 runs as a packaged SRAM binary, so it is written to flash and copied to SRAM by the bootloader
409
+
[nuke_universal](universal/CMakeLists.txt#L132) | Same as the [nuke](flash/nuke) example, but universal. On RP2350 runs as a packaged SRAM binary, so it is written to flash and copied to SRAM by the bootloader.
410
410
411
411
### USB Device
412
412
@@ -447,12 +447,12 @@ see below:
447
447
#### SDK build example
448
448
App|Description
449
449
---|---
450
-
[dev_hid_composite](usb/device/dev_hid_composite) | A copy of the TinyUSB device example with the same name, but with a CMakeLists.txt which demonstrates how to add a dependency on the TinyUSB device libraries with the Raspberry Pi Pico SDK
450
+
[dev_hid_composite](usb/device/dev_hid_composite) | A copy of the TinyUSB device example with the same name, but with a CMakeLists.txt which demonstrates how to add a dependency on the TinyUSB device libraries with the Raspberry Pi Pico SDK.
451
451
452
452
#### Low Level example
453
453
App|Description
454
454
---|---
455
-
[dev_lowlevel](usb/device/dev_lowlevel) | A USB Bulk loopback implemented with direct access to the USB hardware (no TinyUSB)
455
+
[dev_lowlevel](usb/device/dev_lowlevel) | A USB Bulk loopback implemented with direct access to the USB hardware (no TinyUSB).
0 commit comments