Originally published: 20th July 2018.
Updated: 8th September 2018.
The ODroid Go is a great little handheld that requires minimal building, and runs a variety of emulators (at the time of writing: NES, GameBoy, GameBoy Color, Master System, Game Gear and ColecoVision).
I first found out about it from the brilliant Back Office Show
It’s relatively cheap, and can be bought here: odroid.co.uk
There have been frequent firmware updates, and at the time of writing (late July 2018) units are shipping with an old firmware that needs updating. The development team split off device firmware from application firmware, and the newer device firmware needs to be present in order to flash new application firmwares from SD card, rather than over a USB>serial connection. The trouble is, it’s not that straightforward a process, and you need to use command line tools to do it if you’re using a Mac, like me. Here’s a short guide I cobbled together from what was already out there, including this very helpful guide.
Once updated, you can continue to use the following guide to flash new firmwares.
You may need to sudo or even sudo -H before some of the commands, but use them with caution, as ever!
ODroid firmware flashing on a Mac:
Open a Terminal window and type:
to check you have Python installed. You shoud have Python 2.7 pre-installed, and I believe you can use this with no issues, although you could install Python 3 if wanted/necessary.
Install pip if you’d like, but I believe this is only to be able to install esptool.py and that is contained in the firmware download folder, so I just ran it directly from there.
I did get an error that there was no serial module found, so I had to manually install pyserial:
Download latest pyserial-X.X.tar.gz from: http://pypi.python.org/pypi/pyserial
cd to wherever you unpacked it and type:
python setup.py install
Next install the VCP driver:
You’re now ready to actually start flashing.
Plug your ODroidGo into your Mac via USB and turn on.
Put the device firmware folder (20180727 in this example) in a folder called odroid on your desktop.
cd to Desktop/odroid/
It’s recommended that you erase the current firmware on your device first, before flashing new ones. Be aware that this may delete game save-states.
./esptool.py --chip esp32 --port /dev/tty.SLAB_USBtoUART --baud 921600 --before default_reset --after hard_reset erase_flash
Once finished, you’ll see ‘Hard resetting via RTS pin…’ and a prompt. Then type:
./esptool.py --chip esp32 --port /dev/tty.SLAB_USBtoUART --baud 921600 write_flash --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 bootloader.bin 0x8000 partitions.bin 0x10000 odroid-go-firmware.bin
After a successful flash and auto-reset, power off the ODroid Go, remove the SD card and put it in your Mac.
Go Play Application Firmware:
Copy the latest Go Play firmware.bin (downloaded from: https://github.com/OtherCrashOverride/go-play/releases) to the odriod/firmware/ folder of your SD card.
Hold down ‘B’ while turning on the ODroid Go. Depending on which version of the device firmware you have, it will either automatically flash, or you’ll have to choose the firmware to flash from a menu. You can have more than one firmware file on your SD card – there are other emulators and apps available that are not part of the Go Play Springboard frontend.
Once restarted, put the SD card in to your Mac again, and if you haven’t already done so, put the Skeleton Files on the card, and then create the following folders:
You’ll also need the Coleco BIOS from somewhere (google is your friend!) and it needs to be called BIOS.col and placed in roms/col
ROM art is also now supported.
Firmware is continuing to be updated, and hopefully new emulators added to the springboard (Atari 7800, I’m looking at you!), so keep an eye on the GitHub repository.
Also, there is a user-contributed ROM compatibility list at this link.
Finally, an active forum can be found here.