Skip to content
An Arduino compatible board that shares some memory with additional ATTINY85s
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.

The Ugolino

An Arduino compaible board based on the ATMEGA328PB that uses the secondary SPI bus provided by the 328 to interface with 256k of SRAM. There are two aditional AVRs on borad, both are ATTINY85 microcontrollers. The 85s share the SRAM with the 328. The 85s' each have four GPIO pins broken out. In order to implement this functionality, bus switches were used to multiplex the SPI bus and GPIO of each 85.

An ATMEGA16u2 was used as a USB to serial tranceiver. Right now, support for the 328pb is limited, a patch for the pb is needed for avrdude, and the Arduino IDE requires an extra board to be installed.

Known Issues

  • MISO and MOSI on the Tinys are labeled with respect to the host, where the tiny is a slave.(fixed)
  • SS_328 is not connected to the SS line of the RAM. (fixed)
  • The PCB does not yet reflect the changes marked fixed. corrected.

How to put code on the 328PB

  1. Flash the U2:

Running parts 1 and 2 together did not work for me. It could be that the fuses need to be written before the flash can be programmed properly. Use the same command up to the -U in part 1 for part 2.

  1. sudo avrdude -p m16u2 -c usbtiny -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m -v

  2. flash:w:/home/paul/.arduino15/packages/arduino/hardware/avr/1.6.11/firmwares/atmegaxxu2/arduino-usbserial/Arduino-usbserial-atmega16u2-Uno-Rev3.hex

  3. Right now, the 328pb is not supported by avrdude. To fix this, put this snippet in your /etc/avrdude.conf file. A copy of the fixed file is included. If you trust me, run sudo cp avrdude.conf /etc/avrdude.conf in the root of this repo.

The Ugolino was first created as an intern project while I was working at, and I have recieved permission to publish this work publicly.

You can’t perform that action at this time.