boards: sheilds: Add RaspberryPi Pico to UNO FlexyPin Adapter

Add "RaspberryPi Pico to UNO FlexyPin Adapter".
It is a converter-PCB to Arduino UNO form-factor
from Raspberry Pi Pico that is released in Open Source Hardware.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
This commit is contained in:
TOKITA Hiroshi 2024-02-06 23:16:55 +09:00 committed by Anas Nashif
parent 58030cc31c
commit cf265631c1
4 changed files with 140 additions and 0 deletions

View file

@ -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)

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

View file

@ -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

View file

@ -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 {};