ODROID-GO – a nice introduction to the ESP32


Anyone with any interest in microcontrollers will have seen the massive impact that the original ESP8266 had, while this could later be directly programmed initially it was basically intended as a serial link to a wifi hotspot, even this alone made it much cheaper and easier to get your electronics projects connected to the internet.

Not to rest on their laurels Espressif launched the ESP32, with a much more powerful microcontroller this has been used by hobbyists for a bewildering range of things not just wifi even composite video and 3d.

While I could have just bought a simple breakout board, I decided to have a look around to see if I couldn’t find something with a few peripherals bundled into a neater project than some of the Heath Robinson creations I usually end up with…

This was the point when I stumbled onto the ODROID-GO, while it would seem that this self build kit is primarily aimed at retro game players, this would be doing it quite a disservice. The first thing of note is the 10 pins broken out at the top of the device, while this at first seems a somewhat modest number of pins it does breakout a number of the ESP32’s GPIO’s and notably the i2c bus, and of course you have full access to the (10!) buttons, LCD and even a LED, and lets not forget the SD card slot…. It does look like a number of the ESP32 pins aren’t connected looking at the schematic so a tiny bit of careful soldering for the brave hacker could potentially add extra GPIO’s. (Turns out the pins that look like they’re not connected (in the schematic) are actually in use.

The buttons are really nice, none of those horrid mini microswitches but rather really decent moulded silicon ones, the direction pad and two main buttons have plastic tops which fit nicely into the case, all nicely keyed so you can’t put them in the wrong place, the remaining 4 function buttons are just raw silicon but still work nicely, all the buttons have a nice positive feel and don’t put any stress on the PCB. The board and case are all held together with tiny self tapping screws, which isn’t perfect if you want to be in and out of it to do mod’s but not the end of the world.

The emulation side of things has been well thought out, there is an initial “springboard” which will load .fw firmware files, initially you get the emulation menu firmware, doom and micropython. You’re not forced to use just these, you can either convert an Arduino compiled binary to a .fw file or simply use the Arduino SDK to overwrite the springboard although this will require you to use the esptool to rewrite the springboard, if you want to return to emulating games.

Things are much quicker and simpler when using the emulation menu as the “roms” are loading into ram, as a nice bonus returning to the menu will save the games current state, there are a number of different systems emulated including NES and Gameboy and Gameboy Colour, even Saga Master system, I do look forward to seeing what I can squeeze out of the ESP32 using either the official SDK or even the Arduino SDK.

The only real downside I’ve found is the sound, you can alter the sound level from off to full volume in a number of steps, full volume is really too loud, and unfortunately the quieter you have the sound the lower the quality seem to be. While some people have added their own slider or even a simple resistor to attenuate the full volume, what is probably a better solution is adding a DAC to the breakout pins to run some headphones with their own volume control, which is supported by the emulation menu.

The sound issues not withstanding it has to be said that all in all this is a great little package which will definitely give me some interesting hobby time. In the UK there is a reseller, although the kit is advertised at $32 from the official Odroid site this is without tax and postage, by the time you add tax and P&P even from the UK you’re looking at spending £45, so it could be better value but its still within the range of a hobby purchase.

Leave a Reply

Your email address will not be published.