• Stars
    star
    106
  • Rank 325,871 (Top 7 %)
  • Language
    C++
  • License
    Creative Commons ...
  • Created almost 7 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Arduino IDE board package for Arduboy and homemade versions making things easy

Arduboy homemade package

Arduino IDE board package for Arduboy and homemade versions with the following advantages:

  • Single install
  • Includes all Arduboy libraries with support for alternate displays and wiring
  • Includes Arduboy optimized Arduino core with extra features and space savings
  • Cathy3K bootloader support

To install the package:

  • Start Arduino IDE and press CTRL + comma to select properties.
  • Copy and paste the URL below in Additional Boards Manager URLs: text box and click on OK
https://raw.githubusercontent.com/MrBlinky/Arduboy-homemade-package/master/package_arduboy_homemade_index.json

preferences After this:

  • Go to Tools > Boards > Board manager
  • In the text box type homemade or Arduboy homemade
  • Click on the Arduboy Homemade package and click the Install button.

You can now select Arduboy, Arduboy DevKit and Homemade Arduboy boards from the Tools menu.

menu

Libraries

This package contains all the currently available Arduboy libraries with changes for homemade Arduboys.
⚠️⚠️⚠️No libraries must be installed manually or through the library manager⚠️⚠️⚠️
If they are, they take precedence over the homemade package libraries so they must be uninstalled.

Pin wiring table

Arduboy function Arduboy
Leonardo/Micro
DevelopmentKit ProMicro 5V
(standard wiring)
ProMicro 5V
(alternate wiring)
OLED CS 12 PORTD6 6 PORTD7 GND/(inverted CART_CS)**** 1/TXO PORTD3*
OLED DC 4 PORTD4 4 PORTD4 4 PORTD4 4 PORTD4
OLED RST 6 PORTD7 12 PORTD6 6 PORTD7 2 PORTD1*
SPI SCK 15 PORTB1 15 PORTB1 15 PORTB 1 15 PORTB1
SPI MOSI 16 PORTB2 16 PORTB2 16 PORTB2 16 PORTB2
RGB LED RED 10 PORTB6 _ 10 PORTB6 10 PORTB6
RGB LED GREEN 11 PORTB7 _ - 3 PORTD0*
RGB LED BLUE 9 PORTB5 17 PORTB0 9 PORTB5 9 PORTB5
RxLED 17 PORTB0 _ 17 PORTB0 17 PORTB0
TxLED 30 PORTD5 _ 30 PORTD5 30 PORTD5
BUTTON UP A0 PORTF7 8 PORTB4 A0 PORTF7 A0 PORTF7
BUTTON RIGHT A1 PORTF6 5 PORTC6 A1 PORTF6 A1 PORTF6
BUTTON LEFT A2 PORTF5 9 PORTB5 A2 PORTF5 A2 PORTF5
BUTTON DOWN A3 PORTF4 10 PORTB6 A3 PORTF4 A3 PORTF4
BUTTON A (left) 7 PORTE6 A0 PORTF7 7 PORTE6 7 PORTE6
BUTTON B (right) 8 PORTB4 A1 PORTF6 8 PORTB4 8 PORTB4
SPEAKER PIN 1 5 PORTC6 A2 PORTF5 5 PORTC6 5 PORTC6
SPEAKER PIN 2 13 PORTC7 A3 PORTF4** GND 6 PORTD7*
----------------- ---------------------- ----------- ---------------------------------- ---------------------------------
CART_CS (org) 0 PORTD2*** - 0 PORTD2*** 0 PORTD2***
CART_CS (new) 2 PORTD1*** - 2 PORTD1*** -
SPI MISO 14 PORTB3*** - - 14 PORTB3***
----------------- ---------------------- ----------- ---------------------------------- ---------------------------------
OLED SDA 4 PORTD4***** - 4 PORTD4***** 4 PORTD4*****
OLED SCL 6 PORTD7***** - 6 PORTD7***** 1/TXO PORTD3*****

Numbers before the portnames are Arduino assigned pin numbers.

(*) Pro Micro alternate wiring pins:

  • PORTD3 OLED CS
  • PORTD1 OLED RST
  • PORTD7 SPEAKER 2
  • PORTD0 RGB LED GREEN

(**) speaker pin 2 output is connected to speaker pin 1 on DevKit hardware. To prevent the IO pins from possible damage, speaker pin 2 should NOT be configured as an output.

(***) Flash cart support (original design) :

  • 0 PORTD2 flash cart chip select
  • 14 PORTB3 flash cart data in (MISO)

or

Flash cart support (new design used by Arduboy FX) :

  • 2 PORTD1/SDA flash cart chip select
  • 14 PORTB3 flash cart data in (MISO)

(****) When using serial flash with the Pro Micro standard wiring, OLED_CS (chip select) cannot be grounded (always active). In this case a simple circuit with a general purpose PNP transistor and two resistors or a single inverter chip like the 74LVC1G04 can be used to deactive OLED_CS while CART_CS is active.

schematic

(*****) support for I2C displays has been added. When using an I2C display the SDA pin should be connected to pin 4 PORTD4 and the SCL pin to pin 6 PORTD7 unless you're using a Pro Micro with the alternate wiring scherme. In that case SCL pin should be connected to pin 1/TXO PORTD3.

Note that updating a I2C display is slower than a SPI display. To get the most out of an I2C display, the display update code is optimized using assembly and bitbangs the display at 2 Mbps or 2,66 Mbps (uses more progmem).

At 2 Mbps the display update will be 4.3 times slower than when a SPI display is used and 3.1 times slower at 2.66 Mbps. Games will still run smootly at 60 FPS when the main program requires less than %70 (2Mbps) or 78% (2.66Mbps) of MCU power.

expansion connector

An expansion connector can be added to a modified or Homemade Arduboy in the form of a 12 pin male header with 0.1"pitch. which can be used for:

  • ICSP header for easy in circuit programming (updating bootloader)
  • flash cart slot
  • SD card adapter
  • infrared communications
  • multiplayer link
  • sensors

Expansion connector pinout (original design)

( (Homemade) Arduboy facing top - looking at the male pinheader)

12 11 10 9 8 7 6 5 4 3 2 1
TX RX SCL SDA A5 KEY MISO MOSI CLK RST GND Vcc

Expansion connector pinout (new design)

12 11 10 9 8 7 6 5 4 3 2 1
TX SDA SCL RX A5 KEY MISO MOSI CLK RST GND Vcc

(RX and SDA pins are swapped)

TX*  - Serial Transmitter output
RX   - Serial Receiver input / original Flash cart chip select
SCL* - I2C/TWI serial clock I/O
SDA* - I2C/TWI serial data I/O / new Flash cart chip select (Arduboy FX)
A5   - Analog input pin (Note not broken out on Pro Micro boards)
KEY  - Key pin. should be filled to block pin insertion (reverse insert protection)
MISO - SPI/ICSP Master Input, Slave Output
MOSI - SPI/ICSP Master Output, Slave Input
CLK  - SPI/ICSP clock
RST  - MCU/ICSP reset
GND  - Ground (0V)
Vcc  - 5V (~3.0V to ~4.1V on Arduboy)
(*) Not available when using Pro Micro with Alternate Wiring

Note on the original flash cart design RX is used as flash chip select. In the new design (as used by Arduboy FX) SDA is used as flash chip select and Rx and Tx are available for serial comms.

More Repositories

1

Arduboy-Python-Utilities

Python script to upload .hex, .zip or .arduboy files to Arduboy and Homemade versions
Python
58
star
2

Arduboy

Miscellaneous bits for Arduboy, a creditcard size opensource retro handheld that do not have their own repository.
Assembly
40
star
3

Arduboy-FX-mod-chip

Self updating bootloader for Arduboy FX
C
35
star
4

avr-hvsp

High voltage serial programmer for AVR Attiny devices
C++
9
star
5

ArduboyFX

Library for accessing the external flash memory of the Arduboy FX and home made Arduboys with a flash chip.
C++
8
star
6

TamaPsTranslation

Tamagotchi P's English Translation project
HTML
7
star
7

cathy3k

Bootloader for Arduboy, Arduboy FX and Homemade Arduboys
Assembly
7
star
8

tamadumper

Tamagotchi P's Deco Pierce (SPI flash) dumper /programmer
Python
5
star
9

Atari2600plus-loader

Load Atari 2600 and 7800 roms over USB serial to the Atari 2600+
Python
5
star
10

Arduboy-power-down-demo

C
4
star
11

Atari2600plus-dumper

Dump Atari 2600 carts using the Atari 2600+ and a FTDI serial cable.
Python
4
star
12

mdmc

Menu Driven Multi Cart for Atari 2600
3
star
13

Arduboy-FX-Arduino-plugin

An Arduino tool plugin for easy building and uploading of Arduboy FX data from the Arduino IDE tool menu..
Python
3
star
14

Raspberry-Pi-Power-LED

Python
3
star
15

Arduboy-GT

C++
2
star
16

DMG-palette-patcher

A tool to patch original (DMG) Gamboy roms to use a different default palette when run on a GameBoy Color
Python
1
star
17

Arduboy-core

Optimized Arduino core for Arduboy
C++
1
star
18

DarkStar

Dark Star for Arduboy Based on HP48/TI calculator puzzle game Dstar
C++
1
star
19

Arduboy-Progger

Programmer for multiple FX modchips
C++
1
star
20

Tamagotchi-tamago-code-generator

php web app to generate codes for TamaTown Tama-Go Tamagotchi
PHP
1
star
21

Tamagotchi-friends-code-generator

php web app to generate codes for Tamagotchi Friends
HTML
1
star