diff --git a/boards/shields/rpi_pico_uno_flexypin/Kconfig.shield b/boards/shields/rpi_pico_uno_flexypin/Kconfig.shield new file mode 100644 index 00000000000..4e385966d3f --- /dev/null +++ b/boards/shields/rpi_pico_uno_flexypin/Kconfig.shield @@ -0,0 +1,5 @@ +# Copyright (c) 2024 TOKITA Hiroshi +# SPDX-License-Identifier: Apache-2.0 + +config SHIELD_RPI_PICO_UNO_FLEXYPIN + def_bool $(shields_list_contains,rpi_pico_uno_flexypin) diff --git a/boards/shields/rpi_pico_uno_flexypin/doc/img/rpi_pico_uno_flexypin.png b/boards/shields/rpi_pico_uno_flexypin/doc/img/rpi_pico_uno_flexypin.png new file mode 100644 index 00000000000..b146238eeb0 Binary files /dev/null and b/boards/shields/rpi_pico_uno_flexypin/doc/img/rpi_pico_uno_flexypin.png differ diff --git a/boards/shields/rpi_pico_uno_flexypin/doc/index.rst b/boards/shields/rpi_pico_uno_flexypin/doc/index.rst new file mode 100644 index 00000000000..3ac57cfaa38 --- /dev/null +++ b/boards/shields/rpi_pico_uno_flexypin/doc/index.rst @@ -0,0 +1,94 @@ +.. _rpi_pico_uno_flexypin: + +RaspberryPi Pico to UNO FlexyPin Adapter +######################################## + +Overview +******** + +Raspberry Pi Pico to Uno `FlexyPin Adapter` is a converter-PCB to Arduino UNO form-factor +from Raspberry Pi Pico that is released in Open Source Hardware. +This board design to use with `FlexyPin`. +The FlexyPin holds Pico and contacts to castellated through-hole. +With simple soldering, it can also be used as a board to convert the RapsberryPi Pico +o the Arduino UNO form factor. + +.. image:: img/rpi_pico_uno_flexypin.png + :align: center + :alt: RaspberryPi Pico to UNO FlexyPin Adapter + +Pins Assignment of the RaspberryPi Pico to UNO FlexyPin Adapter +=============================================================== + ++---------------------+------------+ +| Rpi-Pico Pin | UNO Header | ++=====================+============+ +| GP0 (UART0 TX) | D1 | ++---------------------+------------+ +| GP1 (UART0 RX) | D0 | ++---------------------+------------+ +| GP2 | D8 | ++---------------------+------------+ +| GP3 | D9 | ++---------------------+------------+ +| GP4 | D2 | ++---------------------+------------+ +| GP5 | D3 | ++---------------------+------------+ +| GP6 | D4 | ++---------------------+------------+ +| GP7 | D5 | ++---------------------+------------+ +| GP8 | D6 | ++---------------------+------------+ +| GP9 | D7 | ++---------------------+------------+ +| GP13 | A3 | ++---------------------+------------+ +| GP14 (I2C1 SDA) | A4 | ++---------------------+------------+ +| GP15 (I2C1 SCL) | A5 | ++---------------------+------------+ +| GP16 (SPI0 RX/CIPO) | D12 | ++---------------------+------------+ +| GP17 (SPI0 CS) | D10 | ++---------------------+------------+ +| GP18 (SPI0 SCK) | D13 | ++---------------------+------------+ +| GP19 (SPI0 TX/COPI) | D11 | ++---------------------+------------+ +| GP20 | D14 | ++---------------------+------------+ +| GP21 (I2C0 SCL) | D15 | ++---------------------+------------+ +| GP26 (I2C0 SDA) | A0 | ++---------------------+------------+ +| GP27 | A1 | ++---------------------+------------+ +| GP28 | A2 | ++---------------------+------------+ + +Programming +*********** + +Set ``-DSHIELD=rpi_pico_uno_flexypin`` when you invoke ``west build``. +This shield is just a converter, so it is usually used with other Arduino shield. + +For example, + +.. zephyr-app-commands:: + :zephyr-app: samples/net/wifi + :board: rpi_pico + :shield: 'rpi_pico_uno_flexypin;esp_8266_arduino' + :goals: build + +References +********** + +.. target-notes:: + +.. _FlexyPin: + https://github.com/solderparty/flexypin + +.. _FlexyPin Adapters: + https://github.com/solderparty/flexypin_adapters_hw diff --git a/boards/shields/rpi_pico_uno_flexypin/rpi_pico_uno_flexypin.overlay b/boards/shields/rpi_pico_uno_flexypin/rpi_pico_uno_flexypin.overlay new file mode 100644 index 00000000000..3ddf2872883 --- /dev/null +++ b/boards/shields/rpi_pico_uno_flexypin/rpi_pico_uno_flexypin.overlay @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2024 TOKITA Hiroshi + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + arduino_header: connector { + compatible = "arduino-header-r3"; + #gpio-cells = <2>; + gpio-map-mask = <0xffffffff 0xffffffc0>; + gpio-map-pass-thru = <0 0x3f>; + gpio-map = + <0 0 &pico_header 26 0>, /* A0 */ + <1 0 &pico_header 27 0>, /* A1 */ + <2 0 &pico_header 28 0>, /* A2 */ + <3 0 &pico_header 13 0>, /* A3 */ + <4 0 &pico_header 14 0>, /* A4 */ + <5 0 &pico_header 15 0>, /* A5 */ + <6 0 &pico_header 1 0>, /* D0 */ + <7 0 &pico_header 0 0>, /* D1 */ + <8 0 &pico_header 4 0>, /* D2 */ + <9 0 &pico_header 5 0>, /* D3 */ + <10 0 &pico_header 6 0>, /* D4 */ + <11 0 &pico_header 7 0>, /* D5 */ + <12 0 &pico_header 8 0>, /* D6 */ + <13 0 &pico_header 9 0>, /* D7 */ + <14 0 &pico_header 2 0>, /* D8 */ + <15 0 &pico_header 3 0>, /* D9 */ + <16 0 &pico_header 17 0>, /* D10 */ + <17 0 &pico_header 19 0>, /* D11 */ + <18 0 &pico_header 16 0>, /* D12 */ + <19 0 &pico_header 18 0>, /* D13 */ + <20 0 &pico_header 20 0>, /* D14 */ + <21 0 &pico_header 21 0>; /* D15 */ + }; +}; + +arduino_spi: &pico_spi {}; +arduino_i2c: &pico_i2c0 {}; +arduino_serial: &pico_serial {};