Engineer Luke Wren has released the design files for a Raspberry Pi RP2040-powered games console dubbed the PicoStation 3D — with a Lattice Semiconductor iCE40 UP5k FPGA as a coprocessor for 3D graphics.
The first chip design to appear from Raspberry Pi's in-house application-specific integrated circuit (ASIC) team, the RP2040 microcontroller launched late last month in the Raspberry Pi Pico development board. Unlike previous Raspberry Pi chips, though, this one is to be made available as a bare IC — and companies from Arduino to SparkFun have already confirmed plans to release their own RP2040-powered products.
Luke Wren, an engineer who worked on the RP2040 project at Raspberry Pi, has a few ideas for boards of his own — including the PicoStation 3D, which depending on how it's configured could be a pure-RP2040 console, an RP2040 console with FPGA-powered 3D graphics, or a pure FPGA console with the RP2040 providing little more than USB support.
"This is an unfinished, untested project to develop a 3D games console based on an RP2040 microcontroller and an iCE40 UP5k FPGA," Wren writes of the project. "I've laid out a first iteration of the board, and have soldered up a prototype, but haven't had the chance to bring up the board or write any firmware, thanks to being a bit overloaded with the launch of RP2040 itself!
"There are questionable decisions in the schematic (in particular the power chain violates the UP5k's sequencing requirements) so you shouldn't copy what you see here, but I'm posting this anyway because it might inspire somebody to make something better, and that is more important than me being embarrassed about my shoddy design work."
The design packs the RP2040 and an iCE40 UP5k FPGA with 8MB of HyperRAM, along with a 3.5mm TRS jack for audio, an HDMI socket carrying DVI-D video, a microSD slot, and two sockets for Nintendo SNES controllers. The FPGA, meanwhile, is powerful enough to act as a console itself — as proven by Wren's earlier RISCBoy project, which used the device as a host for a RISC-V-powered games console.
Wren sees three key approaches to using the board: "Run everything, including graphics routines, on RP2040, and use the UP5k as a parallel to DVI-D bridge; Run everything, including a soft processor, on the UP5k, and use RP2040 as a surprisingly cost-effective USB-serial bridge, as well as for firmware upload; Run game logic, audio, controller access and SD card access on RP2040, put all the graphics hardware in the UP5k (with the local 8MB HyperRAM as VRAM, plus the UP5k's internal 128k SPRAM); [or] Run 3D vertex-side operations on RP2040, and put 3D fragment-side hardware on the FPGA."
The PicoStation 3D source files are available under the permissive CC0-1.0 license on Wren's GitHub repository, though he warns they are currently untested.