Skip to content

Support ODROID-GO#35

Merged
ThomasFarstrike merged 1 commit intoMicroPythonOS:mainfrom
jedie:odroid_go
Feb 13, 2026
Merged

Support ODROID-GO#35
ThomasFarstrike merged 1 commit intoMicroPythonOS:mainfrom
jedie:odroid_go

Conversation

@jedie
Copy link
Copy Markdown
Contributor

@jedie jedie commented Feb 11, 2026

Support for Hardkernel ESP32 device: ODROID-Go (The old one from 2018)

What worked:

  • Display
  • Buttons
  • Crossbar
  • Wifi
  • Battery
  • blue LED

TODO:

  • Speaker

The blue LED is "coupled" with the button/crossbar press.

@ThomasFarstrike
Copy link
Copy Markdown
Contributor

You are on fire! Please keep us posted on your progress, testing it etc!

pushd "$codebasedir"/lvgl_micropython/
rm -rf lib/micropython/ports/esp32/build-ESP32_GENERIC_S3-SPIRAM_OCT/
python3 make.py --ota --partition-size=4194304 --flash-size=16 esp32 \
BOARD=ESP32_GENERIC BOARD_VARIANT=SPIRAM DISPLAY=ili9341 \
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess the only reason to have a different target is the DISPLAY=ili9341 which we can avoid by just copying that driver into internal_filesystem/lib/ somewhere. And the auto-detect not working, of course, but I have good hopes that there will be a way to detect the odroid_go and then we can have the unified builds used for this!

return adc_value * BATTERY_RESISTANCE_NUM


BatteryManager.init_adc(BATTERY_PIN, adc_to_voltage)
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I get these values (while connected via USB):

--> from mpos import BatteryManager
--> BatteryManager.has_battery()
True
--> BatteryManager.get_battery_percentage()
100.0
--> BatteryManager.read_battery_voltage()
4884.8
--> BatteryManager.read_raw_adc()
2442.1

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

after a while running:

--> from mpos import BatteryManager
--> BatteryManager.get_battery_percentage()
100.0
--> BatteryManager.read_battery_voltage()
614.0
--> BatteryManager.read_raw_adc()
307.0
--> 

So i assume that 100% is wrong ;)

return "waveshare_esp32_s3_touch_lcd_2"

print("odroid_go ?")
if check_pins(0, 13, 27, 39):
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I played a little bit around and this seems to work. Looks like:

Image

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This changes can also be move to a separate PR.

@jedie jedie force-pushed the odroid_go branch 4 times, most recently from 27a2595 to e3b9783 Compare February 13, 2026 07:40
Support for Hardkernel ESP32 device: ODROID-Go (The old one from 2018)

* https://github.com/hardkernel/ODROID-GO/
* https://wiki.odroid.com/odroid_go/odroid_go

What worked:

* Display
* Buttons
* Crossbar
* Wifi
* Battery
* blue LED

TODO:

* Speaker

The blue LED is "coupled" with the button/crossbar press.
@ThomasFarstrike
Copy link
Copy Markdown
Contributor

Awesome work here, very nice to see it running in the video you posted in the chat. I'll merge it as-is and then make some cleanups to have a unified build again :-)

Thank you so much for your work on this, curious to see what else you come up with, like the battery indicator.

If there's anything in the frameworks that you notice should be improved, don't hesitate to flag it!

@ThomasFarstrike ThomasFarstrike merged commit 8143dd7 into MicroPythonOS:main Feb 13, 2026
2 checks passed

# A key is currently pressed

blue_led.on() # Blink on key press and auto repeat for feedback
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice :-D

@ThomasFarstrike
Copy link
Copy Markdown
Contributor

It's merged, and I had to move around drivers around to make a unified build, but I don't have the hardware to test and make sure I properly adjusted the imports etc.

Would you mind trying the latest esp32 build from https://github.com/MicroPythonOS/MicroPythonOS/actions/ ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants