How to make an Arduboy clone using an ESP32 and an SSD1306 I²C OLED display?

I have an esp32 with an oled display and I want to make
an arduboy using it

So, how can I do that?

It’s not using ssd1306 oled

The point was if you want to make an Arduboy it’s easier to start with a Leonardo rather than an ESP.

I know But i want to use a eps32 and oled

I2C may be a bit too slow for some games. SPI would be better.

The more you deviate from the original spec, the more work you’re going to have to do.
Using an ATMega32u4 with an SSD1306 over SPI is the easiest option.

Using an ESP means you’ll have to make do with whatever ESP ports of the Arduboy2 library you can find, and you may have to modify those ports to make it work for your configuration.

What modifications i will need to do?

It won’t be an Arduboy.

1 Like

I’m not good for that but have a look on Roman’s works on ESPboy, he haven’t make an Arduboy with an ESP8266 but it emulate it… It’s more easy to emulate than to convert an ESP32 base console on an Arduboy and it’s a non sense for me. The hardware is more powerfull use his power. Arduboy is easisest but if you don’t use same hardware you’ll have alot of change to do anyway.It’s same if you want use chip8 soft… But with your ESP32 yiu can emulate Gameboy or Spectrum too. It’s not same use (i think)

Can I use an Arduino Uno?

That depends on what arrangement you’re planning in regards to hardware, wiring et cetera.

If you really want to use ESP32 and you don’t want to have to modify the Arduboy2 library yourself, your best bet is to look in the homemade section for something that uses ESP32 and try to implement that person’s design using whatever set-up they have - I.e. follow in the footsteps of someone who has already solved the problem.

If nobody has already done it, then whether you will be able to do it depends on what skills you have. If you are good at C++ and understand your hardware setup then it should be fairly straightforward. If you lack those skills then you would be better off trying to find a different hardware arrangement.

You could, but an Uno uses ATmega328P instead of an ATmega32u4, which means it has less RAM, so there are games it won’t be able to play.

You could potentially get away with an AVR chip that is more powerful than the ATmega32u4, but using one that’s less powerful like the 328P will cause problems.

Using a non-AVR chip will require a more heavily modified Arduboy2 library, so you either have to port the library yourself or use one that somebody has already ported. If you use one that someone has already ported, you’re effectively at the mercy of whatever library ports are available.

I believe there are ports for ESP and ARM, but they may be configured differently to your system, so you would have to check the details of those libraries and either make sure your system matches the library’s requirements or learn how to adapt the library to work for your system.