MegaGRRL - Portable YM2612 VGM Player

Handheld ESP32-powered VGM player, playing tracks from the Sega Mega Drive/Genesis, Master System, and more!

Public Chat
Similar projects worth following
MegaGRRL is a project to make a portable device capable of playing back VGM files targeting the sound chips used in the Sega Mega Drive/Genesis and Master System. It uses the original chips and has a playback engine focused on accuracy and supporting as many features of the VGM file format as possible, all controlled by an ESP32 running FreeRTOS using the ESP-IDF framework.

Demo video: (Thunder Force IV - Metal Squad)

Currently, the VGM playback core is functional and working well. I'm using a third-party library for some debug output on the LCD, but I've written a new driver that uses DMA, pending writing some UI drawing routines. The hardware is essentially complete, and prototype PCBs have been designed, ordered, and assembled. A design for a 3D-printed enclosure is also underway.


  • MCU: ESP32, specifically the ESP-WROOM-32 module
  • Sound chips: YM2612, SN76489
  • Storage: MicroSD
  • Clock generation: 2x LTC6904
  • Display: ILI9341 320x240
  • Volume control: DS1807S+
  • Headphone amp: TPA6111A2
  • IO expander: MCP23017
  • DC-DC: 2x LM2735
  • Battery charge: MCP73832

  • Revision 2 coming!!

    natalie03/13/2019 at 20:42 0 comments

    I wanted to post a quick update to this. The project is still ongoing despite my silence here! I am currently working on a revision 2 PCB that simplifies things and removes several parts from the BOM, to hopefully make it cheaper and easier to assemble. There were also a few electronic issues with the first PCB, which is why I haven't posted the schematic or board files yet -- I don't want anyone to make the same mistakes I did!

    In the meantime, I got LittlevGL talking to the LCD, and VGM playback is basically perfect at this point. I've also been slowly putting more code into the git repository, but my focus right now is getting this next board revision finished. Once that's done and tested, I can work on getting a UI written.

    Here's a video from last night, testing the use of the ESP32 for clock generation rather than separate LTC6904 chips. This is just hacked onto my current prototype board to validate my design before I order PCBs. I hope to have the new design fabbed and tested by the end of this month.

  • DAC streams are under control

    natalie10/23/2018 at 10:45 0 comments

    Uploaded two more videos again. This time, using two tracks that make heavy use of the DAC stream control subset of the VGM specification. Enjoy! Links to the artists are in the video descriptions, so go check them out if you like FM synth metal stuff~

  • More videos

    natalie10/20/2018 at 18:01 0 comments

    I put a couple more videos on YouTube today:

View all 3 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates