Home / Programming / Resolving reset/flash issues with ODROID GO on macOS

Resolving reset/flash issues with ODROID GO on macOS

ODROID GO Handheld

I recently bought an ODROID GO to do some development on, and learn more about FreeRTOS. The ODROID GO is a small, handheld, Gameboy sized ESP32-WROVER based device. It is super cheap, about €45 or so, and packs a real punch. The screen is a lovely 320×240 TFT LCD.

I first started playing with it, using the Arduino development environment, of which I am not a huge fan. Don’t get me wrong, I think the Arduino platform and IDE are great, the editor is just not for me. I love IDEs like Visual Studio, Visual Studio Code, and for small things, vim.

I installed the ESP-IDF framework and started playing with the code in there. The ODROID GO worked out of the box with my Mac, but I was having intermittent issues with flashing the device. When the device was first plugged in, it would flash just fine. However, the second time would fail. This was super confusing and very annoying, having to replug the device each time I wanted to flash it.

A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header

I searched the Web high and low, tried pressing buttons while attempting to flash, everything. Nothing seemed to work reliably. It never occurred to me to check to see if I had the latest version of the driver from SI Labs for this specific device. It turned out, I did not. I was using version 4.x and the latest, at the time of writing, is 5.2.0. I downloaded it and installed and now the ODROID GO is working flawlessly.

Everything is working well now!

So remember kids, always check if you’re using the latest drivers. I think I must’ve installed a previous version for this chipset a long time ago, and I had simply forgotten about it, and figured the ODROID GO just worked with macOS.

Some handy configuration parameters for ESP-IDF, when running make menuconfig. Use default settings for everything else.

  • Device name: /dev/tty.SLAB_USBtoUART
  • Speed: 921600 baud

About Xander

Xander Soldaat is a Software Engineer and former Infrastructure Architect. He loves building and programming robots. He recently had the opportunity to turn his robotics hobby into his profession and has started working for Robomatter, the makers of ROBOTC and Robot Virtual Words.