FREEDOM251

Freedom251 › Amiga Emulators

Amiga 500 ESP32

Free plan LinuxSelf-hosted

Visit Amiga 500 ESP32 Alternatives

Amiga 500 ESP32's own site

What Amiga 500 ESP32 is

Amiga 500 ESP32 is an educational emulator project for running Amiga 500 software on ESP32-S3 hardware, with a Linux/WSL PC build for development. It boots Kickstart 1.3 and Workbench 1.3 from an emulated floppy disk and implements the OCS chipset, including Agnus, Denise, Paula, dual CIA, sprites, copper, and blitter. The README reports about 31 fps on the Workbench desktop with sprites and audio active. The reference ESP32 build calls for an N16R8 board with 16MB flash and 8MB OPI PSRAM, an ST7796 display, and a MAX98357A I2S amplifier. Cabinet joystick and button inputs map to Amiga joystick and mouse controls, while Paula audio outputs over I2S. The PC build can render PPM or BMP images, write audio to WAV, accept scripted input, and run regression tests. Setup uses Arduino IDE with ESP32 core 2.x and Python 3 to embed user-provided ROM and disk images. Kickstart ROMs, Workbench, and games are not included. The original emulator code is MIT licensed, but that license does not cover the Musashi core or Amiga ROMs and commercial software.

Who it suits

This project suits makers and learners interested in Amiga emulation on ESP32-S3 hardware or development on Linux/WSL. Users need to supply legally obtained ROM and disk images and assemble the specified hardware for the reference build.

What it does well

  • Boots Kickstart 1.3 and Workbench 1.3.
  • Emulates key OCS chipset components.
  • PC build supports scripted input and regression tests.
  • Joystick and buttons map to Amiga controls.

What to know first

  • Reference build requires specific ESP32-S3 hardware.
  • ROMs, Workbench, and games are not included.
  • Keyboard emulation is unavailable.
  • Real-time audio can underrun in heavy scenes.

Limits

The emulator supports OCS only, with no keyboard emulation, AGA, or fast-RAM autoconfiguration. Custom raw-MFM loaders using DSKSYNC/DSKBYTR polling are not implemented, and real-time audio can underrun in heavy scenes when the ring buffer starves below about 50 fps.

Getting started

  1. Get an ESP32-S3 N16R8 board with 16MB flash and 8MB OPI PSRAM for the hardware build.
  2. Connect an ST7796 display and MAX98357A I2S amplifier for the reference setup.
  3. Install Arduino IDE with ESP32 core 2.x and Python 3.
  4. Obtain Kickstart, Workbench, and game ROM or disk images legally.
  5. Use Python 3 to embed the user-provided ROM and disk images.
  6. For development, build the PC version for Linux/WSL.

Verdict

Amiga 500 ESP32 combines an OCS emulator with a PC development build and specified embedded hardware. Its missing keyboard support, audio limits, and user-supplied ROM requirements shape what it can run.

Questions

What does Amiga 500 ESP32 emulate?

It emulates an Amiga 500 with the OCS chipset and a 1 MB classic expanded configuration. It boots Kickstart 1.3 and Workbench 1.3 from an emulated floppy.

Which platforms does it support?

The hardware build targets ESP32-S3. A PC build for Linux/WSL is also available for development.

Are Kickstart and Workbench included?

No. Kickstart ROMs, Workbench, and games are not included; users must obtain ROM and disk images legally.

What disk image format does it use?

It loads Workbench from an emulated floppy. Standard AmigaDOS disk loading works, but custom raw-MFM loaders using DSKSYNC/DSKBYTR polling are not implemented.

Is the project free?

It is free, with no free trial. The original emulator code is under the MIT License; that license does not cover the Musashi core or Amiga ROMs and commercial software.

Facts from Amiga 500 ESP32's own pages

Audio limitation
Real-time audio can underrun in heavy scenes, and the README says an event-driven Paula is planned to address it. · github.com, 8 Oct 2026
Boots Amiga software
It boots Kickstart 1.3 and loads Workbench 1.3 from an emulated floppy disk. · github.com, 8 Oct 2026
Controls
A cabinet joystick and buttons map to the Amiga joystick and mouse buttons. · github.com, 8 Oct 2026
Development build
The PC build targets Linux/WSL and can render to PPM/BMP, write audio to WAV, accept scripted input, and run regression tests. · github.com, 8 Oct 2026
Emulated chipset
Its OCS chipset implements Agnus, Denise, Paula, and dual CIA components. · github.com, 8 Oct 2026
Emulation
It boots Kickstart 1.3 and Workbench 1.3, with OCS chipset features including sprites, copper, blitter, Paula audio, and dual CIA emulation. · github.com, 8 Oct 2026
Founded
2026 · github.com, 28 Sept 2026
Hardware
The reference build requires an ESP32-S3 N16R8 with 16MB flash and 8MB OPI PSRAM, plus an ST7796 display and MAX98357A I2S amplifier. · github.com, 8 Oct 2026
Hardware requirement
The ESP32-S3 build requires an N16R8 board with 8MB OPI PSRAM. · github.com, 8 Oct 2026
Input and audio
The cabinet joystick and buttons map to Amiga joystick and mouse inputs, and Paula audio outputs over I2S. · github.com, 8 Oct 2026
Intended audience
The maker describes it as an educational, non-commercial project. · github.com, 8 Oct 2026
Known limitations
The README lists no keyboard emulation, no AGA or fast-RAM autoconfiguration, and no custom raw-MFM loaders. · github.com, 8 Oct 2026
License
The original emulator code is under the MIT License, which does not cover the Musashi core or Amiga ROMs and commercial software. · github.com, 8 Oct 2026
Limit: audio
Real-time audio can underrun in heavy scenes when the ring buffer starves below about 50 fps. · github.com, 8 Oct 2026
Limit: disk loading
Custom raw-MFM loaders using DSKSYNC/DSKBYTR polling are not implemented; standard AmigaDOS loading works. · github.com, 8 Oct 2026
Limit: keyboard and chipset
Keyboard emulation is not available, and the emulator supports OCS only, with no AGA or fast-RAM autoconfiguration. · github.com, 8 Oct 2026
PC build
The same chipset sources build on PC for development, with the README specifying Linux/WSL. · github.com, 8 Oct 2026
Performance
The README reports about 31 fps on the Workbench desktop with sprites and audio active. · github.com, 8 Oct 2026
Purpose
Amiga 500 emulator running on ESP32-S3 hardware, with a PC build for development. · github.com, 8 Oct 2026
Required ROMs
Kickstart ROMs, Workbench, and games are not included; users must obtain ROM and disk images legally. · github.com, 8 Oct 2026
ROM and disk images
Kickstart ROMs, Workbench, and games are not included; users must obtain ROMs and disk images legally. · github.com, 8 Oct 2026
Setup
The ESP32 setup uses Arduino IDE with the ESP32 core 2.x and Python 3 to embed user-provided ROM and disk images. · github.com, 8 Oct 2026

Where Amiga 500 ESP32 stands on Freedom251

Look at these too