
Racer
StuckAtPrototype/Racer
These are structured into their own files. I could have used submodules, but decided against it.

Compact and efficient VGA text display generator designed for the Raspberry Pi Pico 2
Pico vga devboard is an open-source printed circuit board by ifilot, from the ifilot/picobeam repository on GitHub. It is a 2-layer board of 78.7 × 55.4 mm with 29 parts on 67 nets, routed with 509 tracks and 14 vias.
It is built around the BSS138. Its parts include 10 transistors, 5 resistors, 3 connectors, 1 IC and 1 switch. It belongs with the microcontroller boards and lEDs and displays boards and the RP2040 and RP2350 boards of this library.
This project demonstrates how to drive a VGA display using the Raspberry Pi Pico 2. The display uses a 640x480 pixel resolution with 16 colors (4-bit color depth). The Raspberry Pi Pico communicates with the display via a single 8-bit interface latch and provides debugging via UART.
[!WARNING] Do not connect this board to a CRT monitor unless you are absolutely sure that the monitor supports 72 Hz vertical sync at 640x480 resolution. Connecting this board to a CRT that does not support these specifications may cause damage to the monitor or result in display instability. Always check your CRT monitor's specifications to confirm compatibility with 72 Hz VSync at 640x480 resolution before proceeding.
The Raspberry Pi Pico drives the display by receiving pixel data through an 8-bit latch interface, which updates the screen in real-time. By connecting the Pico to the data bus of a CPU or microcontroller, instructions can be sent to the Pico.
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential libstdc++-arm-none-eabi-newlib
sudo git clone https://github.com/raspberrypi/pico-sdk.git /opt/pico-sdk
sudo git -C /opt/pico-sdk submodule update --init
RUN 'export PICO_SDK_PATH=/opt/pico-sdk' | tee -a /etc/profile.d/pico-sdk.shmkdir build && cd build
cmake ../src
make -jThe Pico requires a bit of processing time and one should be cautious not to sent the data too fast. The following timings were found to give stable results when using a simple (slow) voltage divider circuit. When connecting the Pico to your specific setup, it is recommended to perform your own calibration to find which delays provide stable results.
| Operation | Delay (μs) |
|---|---|
| Single characters | 150 |
| Large instructions (e.g., beeper or screen clear) | 2000 |
| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | BSS138 | Package_TO_SOT_SMD:SOT-23 | Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10 |
| 5 | 10k | Resistor_SMD:R_Array_Convex_4x0603 | RN1, RN2, RN3, RN4, RN5 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 3 | 330 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R4, R5, R6 |
| 1 | 10K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R3 |
| 1 | 470 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R7 |
| 1 | CONN | Connector_PinHeader_2.54mm:PinHeader_1x12_P2.54mm_Vertical | J1 |
| 1 | Pico | MCU_RaspberryPi_and_Boards:RPi_Pico_SMD_TH | U1 |
| 1 | SW_Push | Button_Switch_THT:SW_PUSH_6mm | SW1 |
| 1 | UART | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J3 |
| 1 | VGA | components:618015330923 | J2 |
It measures 78.7 × 55.4 mm and has 2 copper layers, 1.6 mm thick.
29 parts, built around the BSS138. 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 ifilot/picobeam repository on GitHub, at the commit this page was made from: the board is pcb/pico-vga-devboard/pico-vga-devboard.kicad_pcb and its schematic pcb/pico-vga-devboard/pico-vga-devboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask ifilot before reusing the design.

StuckAtPrototype/Racer
These are structured into their own files. I could have used submodules, but decided against it.

willem-pennings/balancing-cube
A cube that balances itself in a corner or edge using reaction wheels

abhishek-kakkar/BeagleLogic
A Software Suite that implements a logic analyzer with the PRU on the BeagleBone / BeagleBone Black.


lachlanA/eagle-to-kicad
Eagle SCH/LIB to KiCad SCH/LIB ULP conversion script

No0ne/ps2x2pico
USB keyboard/mouse to PS/2 interface converter using a Raspberry Pi Pico

StuckAtPrototype/AirCube
Works standalone out of the box. Pairs with Home Assistant in minutes. Other platforms are supported through community-contributed extensions.
