自制Arduboy有一个包arduboy_homemade可以简化我们arduino配置工作,并扩展了不少功能。地址如下https://github.com/MrBlinky/Arduboy-homemade-package
安装这个包只要在Arduino IDE文件->首选项,把https://raw.githubusercontent.com/MrBlinky/Arduboy-homemade-package/master/package_arduboy_homemade_index.json 添加到“其它开发板管理器地址”。然后在开发板管理中下载包即可,当然也可以在github下载zip包后离线添加。
在github主页,有一个表格Pin wiring table,里面详细说明了引脚链接,为使用方便,直接复制在这儿。

Arduboy functionArduboy
Leonardo/Micro
DevelopmentKitProMicro 5V
(standard wiring)
ProMicro 5V
(alternate wiring)
OLED CS12 PORTD66 PORTD7GND/(inverted CART_CS)**1/TXO PORTD3*
OLED DC4 PORTD44 PORTD44 PORTD44 PORTD4
OLED RST6 PORTD712 PORTD66 PORTD72 PORTD1*
SPI SCK15 PORTB115 PORTB115 PORTB 115 PORTB1
SPI MOSI16 PORTB216 PORTB216 PORTB216 PORTB2
RGB LED RED10 PORTB6_10 PORTB610 PORTB6
RGB LED GREEN11 PORTB7_-3 PORTD0*
RGB LED BLUE9 PORTB517 PORTB09 PORTB59 PORTB5
RxLED17 PORTB0_17 PORTB017 PORTB0
TxLED30 PORTD5_30 PORTD530 PORTD5
BUTTON UPA0 PORTF78 PORTB4A0 PORTF7A0 PORTF7
BUTTON RIGHTA1 PORTF65 PORTC6A1 PORTF6A1 PORTF6
BUTTON LEFTA2 PORTF59 PORTB5A2 PORTF5A2 PORTF5
BUTTON DOWNA3 PORTF410 PORTB6A3 PORTF4A3 PORTF4
BUTTON A (left)7 PORTE6A0 PORTF77 PORTE67 PORTE6
BUTTON B (right)8 PORTB4A1 PORTF68 PORTB48 PORTB4
SPEAKER PIN 15 PORTC6A2 PORTF55 PORTC65 PORTC6
SPEAKER PIN 213 PORTC7A3 PORTF4**GND6 PORTD7*
CART_CS (org)0 PORTD2*-0 PORTD2*0 PORTD2*
CART_CS (new)2 PORTD1*-2 PORTD1*-
SPI MISO14 PORTB3*--14 PORTB3*
OLED SDA4 PORTD4*-4 PORTD4*4 PORTD4*
OLED SCL6 PORTD7*-6 PORTD7*1/TXO PORTD3*

安装完arduboy_homemade之后,把开发板设置为homemade Arduboy,自制Arduboy最简单的就是使用Arduino Pro micro这个板子。

在开发板设置里面可以设置为如下图所示。

Based on里面有两个关于Pro micro的选项。一个是标准接线,一个是备用接线,分别对应上面表格里面最右边两列,按照表格接线即可。Bootloader选项,选择Cathy3K(start with menu),可以支持外挂Flash芯片,上传游戏合集包。Display选择SSD1306是兼容性最强的,这样设置烧录的Bootloader可以直接使用编译好的游戏和游戏合集包,使用Arduboy-uploader这个工具上传即可。而使用其它的显示屏则只能使用Arduino IDE编译游戏源码上传游戏。我这里测试SH1103 IIC支持不好,画面抖动厉害。Flash select这个选项是专门针对外挂Flash芯片的,就是在PD2(RX1)和PD1(2)中选择一个作为SPIFlash的片选(CS)引脚,不外挂Flash可以不用理它。使用外挂Flash芯片还有一个要注意的是,我们SPI显示屏的SCL和SDA是和Flash芯片共用的,这个时候显示屏的CS引脚接地(始终激活)就行不通了,表现为在游戏菜单选择界面无法正常显示,进入游戏后正常。直接用ATMEGA32U4芯片自制Arduboy的话一般是将显示屏片选引脚接芯片的PD6脚,但是Pro micro这个板子没有将这个引脚引出来。但是根据arduboy_homemade主页说明可以使用三级管和两个电阻组成非门电路,达到在Flash芯片的CS引脚激活时,关闭显示器CS引脚激活状态的目的。整个Arduboy接线如下。


效果视频:https://www.bilibili.com/video/BV1Jz4y1A7qz/
关于使用Arduino UNO给Pro micro烧录Bootloader接线如下。