1-Bit Rogue for Arduboy

About the program size is too early to think.
So far, I’ve removed three mobs.
After a successful port, I’ll think about what to do about it.


I begin assembling arduboy.
Have questions.
I have a display with driver SH1106 - is it OK?
The sound created by the arduboi is formed only by a Timer4 or jointly by a Timer4 and a Timer3?
Is it necessary to connect the second leg of the speaker to the chip (PC7) for a full sound?

The speaker should be connected to 5 port C6.
I think the speaker
DO NOT use a speaker (resistance too low, must add a in-line resistor of…10K.)
Piezo speaker(beeper) are okay.
I assume they are connected to 5 port C6 and GND.

You got pretty much everything you needed.

Now for the display part.
The original display on Arduboy is SSD 1306, so if you want maximum compatibility…
Or, use one of those libraries by @Mr.Blinky

@GetChiper with the pro micro you have you can solder directly to the unused pins for higher compatibility.

If you need anyone to test on actual hardware feel free to ask a few of us have various screens and are able to repair our hardware.

The SSD1306 used in Arduboy also supports the page mode used by SH1106 so it shouldn’t be a problem. Only the display initialisation code needs to be different.

For the sound it depends what library you use.
ArduboyTones and ATMlib use the pin to boost the volume.
IIRC ArduboyPlayTune plays different channel on each pin.

Like @Keyboard_Camper said you can break out the missing pin.

Are you using the Arduino IDE to port the game or that graphical assembler ?

1 Like

I have a display with the driver ssd1306 only in version I2c.
I will port for the display sh1106, then I’ll make an option for ssd1306 (with your help in testing).
In any case, I need an original Arduboy scheme, since I will be porting the game in my programming environment.
This scheme is correct for the original Arduboy? https://community.arduboy.com/t/production-arduboy-schematic/702
If the circuit is correct, then where is the CS connected to the chip pin?
I will be soldered directly to the crystal pins, if necessary.

1 Like

CS is PORTD6 this can be connected to the pin on the MCU as per @Mr.Blinky’s image above

For a handy reference I recommend following the Arduboy / Leonardo wiring here

This would be PIN number 26 on the MCU


Sure. I’ll help out where I can.

Yes it’s the schematic of the production Arduboy. But there are a few details missing. CS is connected to Port D6 labeled D12/A10 in the schematic.

During development you can connect the displays CS to GND so you don’t have fragile wires on the breadboard setup. You can do the same for the 2nd speaker pin.

Now everything is clear.
Thanks to all. I begin the assembly.


With the assembly of home-made arduboy and porting the game everything works out well.
The video shows the display sh1106.
I got the display of ssd1306 and will try to make a game on it.
While there is still a problem with the size of the memory, but after I change the sprites (they are now color), the space will be enough.
Work continues!


It’s fantastic to see this making progress :+1:t2:


Great to see you’ve made so much progress :+1:

1 Like

Actually, @Mr.Blinky say that if your game work fine on SH1106 then it is going to work with SSD1306 without change (because SH 1106 cannot do page mode and need a command, but that commend is OK for SSD 1306.)

Memory is always a issue, for big games.
But not a very big issue. Hope the best.

Without modifications there will be a 2 pixel horizontal shift. That’s why a change in the display initialisation is required.

Building for SSD1306 display is quite easy with the Homemade package though: just select Arduboy or SSD1306 display from the tools menu and do a recompile or a sketch export

1 Like

But that is essentially the same as any OFFICIAL(not hacked by Blinky) Arduboy library
@GetChiper Are you using the library by Mr.Blinky?

While I do not use Arduino IDE for porting. I just run my program for ATmega32U4.
But there will be no problems with SSD1306 since I already worked with such a display.

Later, I’ll probably try to port the game using Arduboy librari.

There was an idea how to reduce the size of sprites - this is currently more important.


Report on the work performed )

The OLED screen ssd1306 works well.
Сan try to upload the hex-file to the Arduboy.
This is not the final release. Still lacks memory for sprites - I will change the format of sprites and redo the rendering procedure.
In the firmware there is no USB runtime part - the next flash will have to use a reset.

Now about the promised bonus :gift: :gift: :gift:
In addition to porting for ssd1306, I also ported the game to the color display of ssd1331 (it lasted a little longer).
Now you can see how it looks. As an example of colored arduboy…


Outstanding! This is setting the bar high :wink: Great job so far and thank you for doing this.

1 Like

Just for people that wants to try the .hex, be warned that you will need to use the reset button method to flash another game after flashing this one. And there’s no flashlight mode enabled on this. But it’s really nicely done. :wink:


That is just fantastic - nice work!