I built one of these before, it was lots of fun to learn how to apply PID to motors. I started with an ESP8266, which worked great, then an ESP32 which hung when wifi and the encoder read happened at the same time, and then ended up porting everything to Python running on a raspberry pi. It's definitely impressive to see a non-realtime computer doing realtime-enough to keep itself balanced. From what I can tell, if you get it working well, you can "drive" around, including turns, with just simple mods to the control settings.