Gotek Touchscreen Flasher

Flash the latest firmware to your ESP32-S3 touchscreen straight from the browser. No Arduino IDE, no CLI.

Install

Pick your board, plug the device into a USB port, then click Connect and choose the matching serial port from the list.

First-time installs will erase the flash; existing settings on the SD card are untouched.

Device already running the firmware? Skip the cable: Download .bin and drop the file on the device's own web page (Config → Firmware card), or put it on the SD card for the on-device FW UPDATE. This downloads the app image only — exactly what over-the-air updates expect.

Before you start

  • Use a data cable. A power-only USB cable is the #1 support call: the device boots and WiFi works, but no serial port ever appears — on any computer. If in doubt, try the cable on a phone: file transfer must work.
  • Boot mode. If no serial port shows up after plugging in: hold the small BOOT button while inserting the USB cable (or hold BOOT and tap RESET), then release. The port appears within a few seconds.
  • Close the Arduino IDE and any other serial monitor — Windows allows only one program on the port.
  • XIAO owners: connect the external u.FL antenna before first use. The XIAO has no usable onboard antenna; without it, WiFi will look broken.

First boot — touchscreen (JC3248 / Waveshare)

  1. SD card: FAT32, with your .ADF (Amiga) or .DSK (ZX/CPC) files — loose in the root or one folder per game (cover art .jpg/.png and info .nfo files next to them are picked up automatically). The device creates CONFIG.TXT on first boot; you rarely need to edit it by hand.
  2. Power & connect: plug the device's USB into the Gotek drive. It powers the board and carries the floppy data — FlashFloppy sees a USB stick. Any 5V USB source works for setup on the bench.
  3. WiFi portal: the device broadcasts its own network:
      SSID GotekOMEGA — password gotek1234
    Connect with a phone or laptop and open http://192.168.4.1. That is the full web interface: browse the library, insert disks, and enter your home WiFi credentials on the Config tab. Installed before v0.25.4? Then the network may be called Gotek-Setup with password retrogaming — it keeps whatever it was set to.
  4. On your home network the device is reachable at http://gotek.local (rename via MDNS_NAME=gotek1 etc. when you run several).
  5. Updates from here on are wireless: drop a new firmware file on the web page's Firmware card, or use the on-device FW UPDATE options. The cable was a one-time affair.
  6. Picture upside-down? Tap FLIP 180 on the splash — the choice is remembered.

First boot — screenless dongle (SuperMini / XIAO)

  1. Plug the dongle into the Gotek's USB port (it draws its power there too).
  2. It broadcasts GotekOMEGA-xx (a unique suffix per dongle) — password gotek1234.
  3. On your phone: join that network and open http://192.168.4.1. Upload an .ADF from the phone or browse your WebDAV server — the disk mounts on the Gotek instantly.
  4. Home-WiFi mode, WebDAV credentials and firmware updates all live on that same page. The SuperMini handles DD images (880 KB); the XIAO also does HD (1.76 MB).

Troubleshooting

  • No serial port appears: data cable? BOOT held while plugging in? On Windows, a port stuck at "access denied" is freed by disable/enable in Device Manager or a reboot.
  • Dongle seems dead right after flashing: normal — it does not leave download mode by itself. Unplug and replug, then it boots the new firmware.
  • Gotek shows no drive but a PC does (or vice versa): power the device from the Gotek's own USB port, and check the cable again. FlashFloppy is pickier than a PC.
  • gotek.local not resolving: use the device's IP (shown on the touchscreen's CONFIG page, or in your router's client list). Android phones often lack mDNS — use the IP there.
  • WiFi network called Gotek-FAIL-PSRAM: the board reports a hardware/build mismatch — get in touch, that unit needs attention.
  • iPhone: "choose a file" greys everything out: fixed in v0.25.3 — flash the current firmware from this page first, or do that one update from a desktop browser.