Flashing ODroid Go firmware on a Mac

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:

Preparation:

Open a Terminal window and type:

python --version

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:

https://www.silabs.com/documents/public/software/Mac_OSX_VCP_Driver.zip

You’re now ready to actually start flashing.

Device Firmware:

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:

odroid/data/col

roms/col

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.

The previously mentioned Back Office Show developed an awesome solderless DAC audio hat with a headphone socket (sadly lacking in the original hardware) and is available here!

Useful links:

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.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s