Skip to content

untoxa/pico-gb-printer

This branch is 146 commits ahead of maxnet/pico-webserver:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

52e3644 · Jan 29, 2025
Jan 18, 2025
Mar 13, 2021
Jan 29, 2025
Dec 23, 2024
Aug 29, 2023
Dec 18, 2024
Jan 18, 2025
Jan 18, 2025
Mar 10, 2023
Dec 18, 2024
Mar 13, 2021
Mar 18, 2024
Apr 4, 2024
Jan 28, 2025
Aug 19, 2022
Mar 10, 2023
Aug 29, 2023
Aug 24, 2022
Aug 19, 2022
Aug 19, 2022

Repository files navigation

Pico GameBoy printer

Based on the original webserver for the PI Pico repo: https://github.com/maxnet/pico-webserver

Webserver example that came with TinyUSB slightly modified to run on a Raspberry Pi Pico. Lets the Pico pretend to be a USB Ethernet device. Runs the webinterface at http://192.168.7.1/

Special thanks to Raphael-Boichot, please check this repo: https://github.com/Raphael-Boichot/The-Arduino-SD-Game-Boy-Printer

Schematics

You will need a Raspberry Pi, 1/2 of the game boy link cable and a four-channel 5v to 3.3v level shifter. Connect parts as shown:

This is the example of the ready-to-use device:

As finding which is SIN and SOUT is sometimes tricky as signals are crossed within the serial cable, you can also make your own PCB with a Pi Zero and a GBC/GBA serial socket following the guide here. Just route the LED to GPIO 8 and the Pushbutton to GPIO9 to make it shine and cut paper !

Build dependencies

On Debian:

sudo apt install git build-essential cmake gcc-arm-none-eabi

Your Linux distribution does need to provide a recent CMake (3.13+). If not, compile CMake from source first.

On OSX:

brew install cmake doxygen 
brew tap ArmMbed/homebrew-formulae
brew install arm-none-eabi-gcc
  • Install the Pi Pico SDK and make sure to add the location to your path.

On Windows:

Windows is not a friendly system to compile the pico sdk. Unless you want to loose your precious time, use the following method:

sudo apt update && sudo apt full-upgrade
  • Install the pico SDK by following the "Quick Pico Setup" You can use the installation script written for Raspberry Pi, it works. Your computer may require a boot at this step.
  • Continue installation like below.

Build instructions

git clone --depth 1 https://github.com/untoxa/pico-gb-printer
cd pico-gb-printer
git submodule update --init
mkdir -p build
cd build
cmake ..
make

Copy the resulting pico_gb_printer.uf2 file to the Pi Pico mass storage device manually. Webserver will be available at http://192.168.7.1/

Developing the Frontend

Frontend code development requires node.js (>=20)

  • Navigate to the frontend folder.
  • run npm install to install all dependencies
  • run npm run dev to start a local dev server on 127.0.0.1:3000. The server also does proxy the /status.json and /download endpoints from a Pico which must be connected to the same machine.
  • run npm run build to build the static files (html/css/js). Files will be built to ./fs
  • When building the rom file locally, also run ./regen-fsdata.sh

About

PI Pico Game Boy Printer

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 94.8%
  • TypeScript 3.6%
  • Other 1.6%