The indigoparadox Web Zone

Gotek Floppy Mods

Back to projects

Web Zone Navigation

Related Web Zones

Other Web Zones

1. Introduction

The GoTek USB floppy emulator is a device that allows one to connect floppy disk images stored on a USB stick to a physical IBM PC floppy disk interface. This is a device we use ubiquitously in our retrocomputing pursuits, and this page is a record of the modifications and procedures we use in conjunction with the custom flashfloppy firmware on this device.

2. Hardware Modification

Most of these modifications are taken from the FlashFloppy Wiki, though the information has been condensed based on a "standard" build that we do for every Gotek that we use.

The information here applies to the current revision of the Gotek floppy emulator as of this writing, using the Artery microcontroller and with the jogdial header present... older revisions do not have the jogdial header and newer revisions may have other issues. Make sure the headers in the diagram below are available! Check the wiki if in doubt!

Please note that it may be advisable to flash the firmware first, as plugging in the USB cable for that may cause the speaker to emit a constant, irritating screech until firmware is flashed. These modifications REQUIRE the FlashFloppy firmware to be used!

2 - 1. Bill of Materials

2 - 2. Diagram

Diagram of the GoTek mainboard, with the jumper/connection blocks called out with their pins highlighted in colors that correspond to the pins on an additional rotary dial, OLED display, and speaker (with transistor for amplification).

3. Photos

Front view of our modified Gotek floppy emulator. Top view of the inside of one of our modified Gotek floppy emulators.

4. Flashing and Software

4 - 1. Firmware Flashing

This is fairly standard, according to the FlashFloppy Wiki. The script below will flash a Gotek connected via a double-A-ended USB cable and with the jumper wire installed as per the FlashFloppy wiki page.

If the firmware does not flash with this procedure, make sure you have the jumper wire installed and try running the script several times!

flashfloppy.sh
1#!/bin/sh
2
3DFU_FILE="$1"
4
5# First, run the unprotect command (needs -D, even tho it doesn't use the file).
6# This will probably generate an error, but it's fine.
7sudo dfu-util -s :unprotect:force -D $DFU_FILE -a 0
8
9sleep 3
10
11# Perform the actual flash.
12sudo dfu-util -D $DFU_FILE -a 0

4 - 2. Companion Software

Once FlashFloppy is running, the OLED display should show the current version when power is applied. The vfloppy repository contains some scripts for working with floppy images from ZIP files and directories on the Linux command line via mtools.

5. References

  1. Hardware Mods - keirf/flashfloppy Wiki
  2. Firmware Programming - keirf/flashfloppy Wiki

Table of Contents

  1. Introduction
  2. Hardware Modification
  3. Photos
  4. Flashing and Software
  5. References