Arduboy Homemade: SSD1306 black screen

Hello guys, sorry to taking your time (and for my bad english), but I need help with my homemade Arduboy project and sorry but I’m not an expert in this things.
I have a SSD1306 SPI OLED display with 7 pins (GND, VCC, D0, D1, RES, DC, CS) and I’m using a Pro Micro (5V) and the Homemade Arduboy package by @Mr.Blinky .
I’ve wired the display and the Pro Micro using the pin wiring table of the Homemade Arduboy package as reference in a breadboard.
I’ve uploaded the code in my Pro Micro like this:
Board: Homemade Arduboy
Based on: Pro Micro 5V (Alternate Wiring)
Bootloader: Cathy3K (starts with game)
Display contrast: Normal
Core: Arduboy optimized core
Display: SSD1306
Flash select: Pin0/D2/Rx (original)
Now, the problem is that my display shows nothing and I don’t really know what to do.
I’ll upload the wiring and all that can be useful to help me.

The output of the upload is this:

Sketch uses 26076 bytes (87%) of program storage space. Maximum is 29696 bytes.
Global variables use 1757 bytes (68%) of dynamic memory, leaving 803 bytes for local variables. Maximum is 2560 bytes.
Performing 1200-bps touch reset on serial port COM6
Waiting for upload port...
Upload port found on COM5

"C:\Users\MyName\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" "-CC:\Users\MyName\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v -V -patmega32u4 -cavr109 "-PCOM5" -b57600 -D "-Uflash:w:C:\Users\MyName\AppData\Local\Temp\arduino-sketch-B2A89D52FCBE28568753D19E4D3E8D5B/CastleBoy.ino.hex:i"
avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\MyName\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

         Using Port                    : COM5
         Using Programmer              : avr109
         Overriding Baud Rate          : 57600
         AVR Part                      : ATmega32U4
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : butterfly
         Description     : Atmel AppNote AVR109 Boot Loader

Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
    Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:
    Device code: 0x44

avrdude: devcode selected: 0x44
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9587 (probably m32u4)
avrdude: reading input file "C:\Users\aless\AppData\Local\Temp\arduino-sketch-B2A89D52FCBE28568753D19E4D3E8D5B/CastleBoy.ino.hex"
avrdude: writing flash (26076 bytes):

Writing | ################################################## | 100% 1.96s

avrdude: 26076 bytes of flash written

avrdude done.  Thank you.


The wiring looks good but did you solder the pin headers to the pro micro? It looks like they’re not soldered. pins make poor contact when not soldered.

If those pins are soldered. You can also check your sketchbook library folder for the Arduboy and / or Arduboy2 libraries. If they are present there then delete them.

1 Like

Oh, I thought that only attach the pin headers to the breadboard was enough. I’ll try soldering the pin headers and I’ll tell you if works.
This is how I’ve attached the Pro Micro to the breadboard.

I’ve tried not soldering something like this before, and it requires some force to actually connect. Not so easy as just making them touch.

PS: Nice USB-C Pro Micro ;)

1 Like

Hey, IT WORKS! Thank you very much!
Sorry if I made this stupid mistake but it’s my first time using Arduino.

4 Likes

Nice! Lookin’ good :slightly_smiling_face:

May I ask what you’re using for the controls?

You mean the buttons? I use 6 tactile push button that are 6x6x6

Oh, nice. I said controls because it doesn’t seem like there’s any buttons connected in any of the pictures :wink:

There are no buttons because I wanted to test only the display