Skip to content

Software Setup

Rafael Zenaro edited this page May 13, 2022 · 14 revisions

Software Setup

First of all, rename the config.h.txt to just config.h to import the pinout settings. This file contains all the options that can be changed in the emulator (pinout, OLED and LEDs features, webserver parameters, scaling factor for images, etc.). Customize it according to the board and modules you are using.


To install the ESP32 board for the Arduino IDE, follow the instructions here. I highly recommended following the instructions to install via Boards Manager. (If you're having trouble with the most recent version via Board Manager, especially with the SD card module, use version 1.0.6 of the board. Thanks @6d64 for the tip.)

If you want to use the OLED Display, you need to install some Libraries from the Arduino Library Manager - Tools > Manage Libraries...

SD Card Content

Format any size SD card in FAT32 and copy the content of the 'SD' folder to the SD card, so that ./www/ and ./E_paper/ directories are at the root.

  • ./www contains the files for the webserver.
  • ./E_paper/ contains a GNU Octave/Matlab script to transform your printer images into printings simulating the output of an actual Game Boy Printer (aka e-paper).

During use of the NeoGB Printer, new files will appear on the card.

  • ./ID_storage.bin generates an unique ID for each print so avoid to delete it (if deleted, the image count will restart from 1 with a risk of overwriting existing images).
  • Your images will be placed at ./output/bmp/ and ./output/png/ and can be deleted as you wish.

If you are using the OLED display, the IP address will shows on it to easily connect to you printer.

Access Point Configuration

W.I.P

WiFi Configuration

W.I.P

RTC Configuration

W.I.P

WebServer interface (optional)

The NeoGB Printer has an integrated WebServer to easily download your photos and delete them too. The printer will alternate between Printer Mode (to print and generate the image files) and Server Mode (to access the Web interface and manage your pictures) on each boot.

If you want to use it, you can uncomment the line #define ENABLE_WEBSERVER from the config.h. Right below, you can edit some information about it too. In case the program can't connect to an existent WiFi network, the NeoGB Printer will automatically enters in Hotspot mode and will host a WiFi network called gameboyprinter

  • DEFAULT_MDNS_NAME : MDNS Hostname (useful for Apple products to connect instead the IP address)
  • DEFAULT_AP_SSID : Your WiFi network SSID
  • DEFAULT_AP_PSK : Yout WiFi network password
  • WIFI_CONNECT_TIMEOUT : Wifi timeout connection in ms