This forum and community are awesome, and I was inspired to try to create a homemade Arduboy using Mr. Blinky’s homemade package. Having put everything together I can successfully compile and upload an example Arduboy2 sketch, but that’s where the problem starts. After the upload completes, it almost seems like the code doesn’t actually run: I get an all-white screen, no sound, and no changing colors on the RGB LED. Has anyone encountered this?
I will describe my parts/process:
Genuine Sparkfun Pro Micro @5 MHz
1306 OLED display
2 pin piezo speaker
4 pin common anode RGB LED
regular clicky buttons
I have everything wired according to the “alternate wiring” Pro Micro pin description from Blinky’s github page, and I have double and triple checked all wiring and pins. I don’t have a flash cart hooked up at the moment.
Any ideas? I have tried the “double tap reset” as suggested by Sparkfun but with no change. Also reinstalled pro micro drivers!
Thanks everyone and kudos again to this great little community!
Finally, I am typing this on a phone so I apologize for sloppy formatting
The adjusted libraries are part of the Homemade package. Installing libraries manually will override the libraries of the Homemade package. @n64 did you install libraries manually?
as @Pharap said pictures would be helpful. They may show us something you might have forget to tell us.
then it receives some data otherwise it would stay black. I’m wondering if your 1306 display is actually an SH1106 which are often advertised as SSD1306 compatible. (but they are just partly compatible)
I would recommend to upload the hardwareTest from the Arduboy2 examples and try selecting SH1106 as display (also works for SSD1306 displays but the screen is shifted by 2 pixels) you can also test the piezo speaker and RGB LED with it.
More importantly it might highlight something @n64 has missed or isn’t aware of,
e.g. a subtle wiring mistake or a loose connection.
A little anecdote:
One of my programmable consoles once had a problem that turned out to just be a bit of excess solder causing a short.
That looks correct to me, but I still think it would be better to see pictures of the actual device.
It could turn out that they sent you the wrong screen by mistake,
or that the pins are actually ordered differently to how they’re displayed on the product listing,
or any number of other subtle problems.
There’s this place:
But I’ve never bought anything from them so I can’t vouch for the service,
and it’s possible that there’s some kind of catch that I’m not aware of.
(E.g. maybe they only sell wholesale? Maybe you have to pay import tax?)
If you’re getting an all white screen then most likely your MOSI line is pulled high and thus always sending a value of 0xFF which will display all white pixels. Your pro-micro is soldered to one side of the board and the display is soldered to the otherside with the back of the display chip hanging over the pins from the micro. There’s no picture showing between the display and the board so can’t tell, but if there’s no kapton tape between the two then it’s very likely to have a short or at least some noise leaching onto the MOSI line.
I have this exact display and can confirm that it works with a pro-micro as I too am building one, though I’m breadboarding it first. I ultimately switched to an itsybitsy 5v 32u4 though so that I didn’t have to recompile games and could maintain proper compatibility.
On trick I did was to temporarily connect an led to the MOSI line to see if it flickers at all (be sure to add an in-series resistor to it or you’ll blow out the LED). This comes in handy if you don’t have an oscilloscope handy.
One thing I’d recommend is to test everything on a breadboard before actually soldering everything together. This will make it a lot easier to make sure everything is wired correctly and working properly. Then from there you can transfer it to a protoboard like you’ve done here. Skipping that step is fine, but it makes it harder to test if the wires are going to the right pins and not shorted. If your breadboard test worked and your soldered one doesn’t then you know exactly what to look for.
Actually it’s because the pro-micro doesn’t have all the pinouts. If you look at Mr.Blinky’s github page detailing the pinouts you’ll see there’s an alternate wiring for the pro-micro. Without the alternate wiring it’s not easy to use the flash cart mod and you loose the green led. The itsybitsy has all the pins needed broken out.
When we speak of compatibility we’re referring to games already compiled for the Arduboy not having to be re-compiled in order to function on a homebrew (some don’t provide source code for example). The pro-micro can be made into a fully functioning homemade arduboy, but it will not be compatible with pre-compiled hex files. You’ll have to locate their source and compile them yourself using Mr.Blinky’s homemade board utilities.