
Passive rpi hub75-adapter
hzeller/rpi-rgb-led-matrix
Controlling up to three chains of 64x64, 32x32, 16x32 or similar RGB LED displays using Raspberry Pi GPIO

A Raspberry Pi Pico-based memory dumper for the M16C processor
Pico adapter is an open-source printed circuit board by beroset, from the beroset/pico-puller repository on GitHub, published under the BSD-3-Clause licence. It is a 2-layer board of 47 × 55.9 mm with 2 parts on 43 nets, routed with 58 tracks and 4 vias.
Its parts include 1 IC and 1 connector. It belongs with the interfaces and adapters boards and the RP2040 boards of this library.
A Raspberry Pi Pico-based project for reading and programming the flash memory of Renesas M16C/62A processors.
The Renesas M16C/62A processors are a 16-bit microcomputer family with 1M address space and multiple packaging and memory options. It is often used in embedded systems.
The Raspberry Pi Pico is a small, inexpensive single-board microcontroller with dual ARM M0 cores and a number of other interesting features, including USB support.
This project is intended to allow a programmer to connect the Raspberry Pi Pico to a circuit containing a Renesas M16C/62A processor and extract the flash memory contents whether the ROM code protect function has locked the firmware or not.
Full details on how to build the project and use it are in the manual.
The short version is this. First, make the following ten connections between the Pico and the circuit with the M16C processor. M16C pin numbers refer to square package/rectangular package.
| Pico name | Pico pin | Header pin | M16C pin | M16C name |
|---|---|---|---|---|
| 3V3(OUT) | 36 | 1 | 14/16 | Vcc |
| GP21 | 27 | 2 | 32/34 | BUSY |
| GP18 | 24 | 3 | 31/33 | SCLK |
| GP19 | 25 | 4 | 30/32 | RXD |
| 3V3(OUT) | 36 | 5 | 44/46 | #CE |
| GND | 28 | 6 | 39/41 | #EPM |
| GND | 28 | 7 | 63/64 | Vss |
| GP22 | 29 | 8 | 10/12 | #RESET |
| 3V3(OUT) | 36 | 9 | 7/9 | CNVss |
| GP20 | 26 | 10 | 29/31 | TXD |
There are only two required configuration items to define. The first is to define a PICO_MOUNT_LOCATION. This is the directory in which your Raspberry Pi Pico appears when first plugged in as an unprogrammed part. On a Fedora Linux distribution this is /run/media/username where username is whatever name you use to log in.
The second is PICO_SDK_PATH which should point to wherever you've installed and built the pico-sdk.
Optional but recommended are to build the documentation for this program (WITH_DOC) and whether to build a Release or Debug version. A sample command line for this, if you are in pico-puller subdirectory is this:
cmake -DPICO_SDK_PATH=~/tools/pico/pico-sdk -DPICO_MOUNT_LOCATION=/run/media/beroset -DWITH_DOC=ON -DCMAKE_BUILD_TYPE=Release -S . -B buildThis will create and configure the build subdirectory.
If the configuration described above has been done, building the software is very simple:
cmake --build buildOnce the software is built, copy the pico-puller.uf2 program to the Pico. This can be done automatically using sudo cmake --build build -t install. That will also automatically install the pico-puller script on your machine.
If everything was installed, using the software is very simple. If you want to get a dump of the contents of the user flash, use this:
pico-puller dumpYou can redirect this to a file for further analysis:
pico-puller dump > foo.hexIf you wish to covert that to a binary file, one simple way to do it is to use a combination of awk to remove all lines that don't start with a hex address and then feed the result to xxd.
awk '/^[0-9a-f]{8}:/' foo.hex |xxd -r -g -1 > foo.binOr if you only want the binary file, that can be done all in a single line:
pico-puller dump | awk '/^[0-9a-f]{8}:/' |xxd -r -g -1 > foo.bin| Qty | Value | Footprint | References |
|---|---|---|---|
| 1 | Conn_02x05_Odd_Even | Connector_PinHeader_2.00mm:PinHeader_2x05_P2.00mm_Vertical_SMD | J1 |
| 1 | Pico | MCU_RaspberryPi_and_Boards:RPi_Pico_SMD_TH | U1 |
It measures 47 × 55.9 mm and has 2 copper layers, 1.6 mm thick.
2 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the beroset/pico-puller repository on GitHub, at the commit this page was made from: the board is adapter_board/pico_adapter.kicad_pcb and its schematic adapter_board/pico_adapter.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the BSD-3-Clause licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

hzeller/rpi-rgb-led-matrix
Controlling up to three chains of 64x64, 32x32, 16x32 or similar RGB LED displays using Raspberry Pi GPIO


adamws/kicad-kbplacer
KiCad plugin for automatic keyboard's key placement and routing

Luos-io/luos_engine
Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

NVNTLabs/switch2-SDEX2M2
Micro SD Express to M.2 NVME Adapter for Nintendo Switch 2

BlueSCSI/BlueSCSI-v2
BlueSCSI v2/Ultra - an open source, open hardware, SCSI emulator using the Pi Pico PR2040 and Pico 2 RP2350

ohmtech-rdi/eurorack-blocks
Software to Hardware Prototyping for Eurorack using C++, Max/Gen~ or Faust
