Esp32c3 + transparent oled


Quick hack of the arduboy2 library to run on DFRobot’s Beetle C3 and their transparent oled extension

Beetle C3: Beetle-ESP32 - C3 RISC-V Core Development Board - DFRobot Electronics
Transparent OLED: Fermion: 1.51” OLED Transparent Display with Converter (Breakout) - DFRobot Electronics


Oh snap arduboy on RISC-V! Those transparent oleds are fun to play with huh?

This fits into an idea I’m trying to expand and publish, for Arduboy on other platforms. Practically all this means is making the library work on new platforms, but it would be exciting if a single library could have the appropriate definitions to keep the chip specific optimizations in there but have agnostic code for other platforms (that could then be optimized later)

I think more importantly is defining the pinouts for each architecture to keep the compatibility between systems that use the same chip.

So it looks like from espboy we already have the 8266 but now the esp32. I’d like to take some time to build these kind of things into an official single library!


ESP chips are many times more powerful than AVR and have more memory, so optimization is not needed. When I ported the Arduboy2 library I had to rewrite all the optimized assembly code back to C++ )

1 Like

However, some games require quite serious modifications, especially those that do not rely on running the standard Arduboy2 library, but use their own low-level optimizations. The main points to pay attention to when porting I have tried to reflect in the section Migrating the game from Arduboy to ESPboy, I believe that these notes are also true for other ESP chips.


3 posts were split to a new topic: Future Hardware and Forum

The esp is so powerful that even doing pixel+full page (worse approach) operations on the oled, it just ran arduboy games full speed no issues. But that approach was just because lazyness.

Ideally I think the only solution would be to write an atmega simulator on the ESP32, which probably has enough power.