Greasweazle
Greaseweazle | |
---|---|
File:Greaseweazle V4.1.jpg | |
Greaseweazle V4.1 unit | |
Developer | Keir Fraser |
Release date | 2018 (initial), latest hardware revisions ongoing |
Type | Floppy disk flux-level interface |
CPU | STM32F103 / STM32F730 / AT32F4xx (varies by model) |
Connectors | USB-C or Micro-USB, 34-pin floppy ribbon connector, power connector |
Licensing | Open hardware & software (Unlicense for host tools) |
Website | GitHub repository |
Greaseweazle is an open-source hardware and software system for imaging and writing floppy disks at the magnetic flux level. Developed by Keir Fraser, it supports a wide range of disk formats and is widely used in data recovery, retro-computing preservation, and digital archiving.[1] The project’s openness, affordability, and broad compatibility have made it a key alternative to proprietary solutions such as KryoFlux.[2]
Background
Greaseweazle originated in 2018 as a personal project by Keir Fraser, known in retro-computing circles for his work on open hardware and firmware for disk imaging. Early iterations were based on inexpensive STM32F103 "Blue Pill" boards before evolving into dedicated PCBs with enhanced electrical protection, higher performance MCUs, and USB-C connectivity.[3] The project has since built a community of contributors and users, including preservationists, hobbyists, and software historians.
Specifications
Hardware Models
- F1 (Blue Pill): STM32F103 MCU; low-cost entry model.
- F7: STM32F730 MCU; adds 12 V support and faster USB transfer.
- V4 / V4.1: AT32F4xx MCU; USB-C, input protection, multiple drive support, jumperless firmware updates.[3]
Host Software
- Command-line utility
gw
written in Python 3. - Works on Windows, macOS, Linux, and Raspberry Pi.
- Distributed under the Unlicense.[1]
Disk Interface Support
- Works with standard Shugart- and IBM-interface drives:
- 3.5-inch and 5.25-inch (34-pin)
- 3-inch Amstrad (26-pin, via adapter)
- 8-inch (50-pin, via adapter)
- Reads/writes MFM, FM, and GCR encoded formats (with drive compatibility caveats).[4]
Usage
A widely referenced Yann Serra Tutorial (contributed April 2023) provides a structured guide to operation.[4] Key points include:
Access Levels
- **Sector-level**: User-visible data in block-mode images (.img, .adf, .st, etc.).
- **Track-level**: Preserves formatting, sector layout, and copy-protection metadata (.imd, .edsk).
- **Flux-level**: Captures raw magnetic transitions (.scp, .hfe) for exact reproduction.
Basic Commands
Reading an AmigaDOS disk:
gw read --format=amiga.amigados MyDisk.adf --drive=A
Writing back:
gw write --format=amiga.amigados MyDisk.adf --drive=A
Defaults can be inferred from file extension and cable position.
Supported Profiles
The gw
tool includes predefined profiles for dozens of systems: Acorn, Amiga, Atari ST, Commodore, IBM PC, Macintosh, MSX, NEC PC-98, ZX Spectrum, and more.
Each profile specifies geometry, encoding, and recommended image suffix.
Troubleshooting
- **No Index** – Incorrect drive ID or power issue.
- **Track 0 Not Found** – Insufficient drive power or wrong drive selection.
- **Flux Overflow/Underflow** – USB interference; change port or cable.
- **Verify Failure** – Disk surface damage; clean disk and heads.
Advanced Use
- **Meta-profiles** (
ibm.scan
,raw.250
, etc.) capture arbitrary sector geometries. - Reading 48-TPI disks with 96-TPI drives via
--tracks=…:step=2
. - **Flux-level** archiving with
--adjust-speed
and--raw
for copy-protected media. - Support for certain “flippy” 5.25-inch disks using
--fake-index
on compatible drives.
Third-Party Tools
- **Disk Utilities** – .scp ↔ .ipf conversion.
- **HxC Floppy Emulator** – Exotic format conversions to/from .hfe/.scp.
- **SamDisk** – Additional meta-image conversions.
- **a8rawconv** – Atari 8-bit conversions.
- **Fluxengine** – Alternative imaging command.
Custom Profiles
Profiles are stored in diskdefs.cfg
and can be extended by the user via --diskdefs
.
Importance in Preservation
Greaseweazle has become a staple in retro-computing preservation workflows due to:
- **Openness** – Both hardware and software are under permissive licenses.
- **Low cost** – Uses commodity microcontrollers and standard cables.
- **Broad compatibility** – Supports dozens of legacy formats across multiple computing platforms.
- **Community knowledge base** – Extensive guides, including the Yann Serra tutorial, help non-experts recover and preserve data.[5]
Key People
- **Keir Fraser** – Project founder and lead developer.
- **Yann Serra** – Contributor of the widely cited usage tutorial.
- Community contributors via GitHub issues, pull requests, and Wiki edits.
Appendix: Supported Disk Profiles
Greaseweazle Host Tools | |
---|---|
Developer | Keir Fraser |
Latest release |
1.6(28 September 2024) |
Operating system |
Click to show/hide full disk profile table from Yann Serra Tutorial
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
The following is adapted from the Yann Serra Tutorial and lists supported disk profiles, geometry, encoding, and preferred image suffixes.
(Full extended tables, including 3.5", 5.25", 8", and 3" formats, are documented in the official tutorial.) |
References
- ↑ 1.0 1.1 "Greaseweazle Main Repository". GitHub. Retrieved 2025-08-11.
- ↑ "Greaseweazle Overview". Decromancer. Retrieved 2025-08-11.
- ↑ 3.0 3.1 "Greaseweazle Documentation". GitHub Wiki. Retrieved 2025-08-11.
- ↑ 4.0 4.1 "Yann Serra Tutorial". GitHub Wiki. Retrieved 2025-08-11.
- ↑ "Discussion on Greaseweazle and retrocomputing". Hacker News. Retrieved 2025-08-11.