On the subject of the firmware, I've found an issue with my digital numbering (some typo's) in my pins_arduino.h file while fixing it I discovered the core seems to be ignoring my port numbering for A0-A7 and always wants to make PA0 A0, PA1 A1 and so on. This appears to affect the bobuino similarly . I'm not real strong in C so it may take me a few days to get it all ironed out but if someone wants to chip in and help find a fix it would be appreciated. I think I have A0 - A5 (PA7 - PA2) working correctly once I have that I'll post the contents of the pins file.
I've been playing with the MegaJr V2 board. I downloaded the source from your google link, but it did not have the latest pins_arduino.h yet for this v2 board. So I used the SMD version, which I believe is the same?
Anyway, I found some wrong definitions and typos for the analog pin definitions.
//#define analogInputToDigitalPin(p) ((p) == 14 || (p) == 15 || (p) == 16 || (p) == 17 || (p) == 18 || (p) == 19
|| (p) == 26 || (p) == 27)
// should be as below
#define analogInputToDigitalPin(p) ((p < 6) ? (p) + 14 : ((p < 8) ? (p) + 20 : -1))
const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] =
{
_BV(0), /*0*/
_BV(1),
_BV(2),
_BV(3),
_BV(4),
_BV(5),
_BV(6),
_BV(7),
_BV(2), /*8*/
_BV(3),
_BV(4),
_BV(5),
_BV(6),
_BV(7), /*13*/
_BV(7), // changed from 0
_BV(6), // changed from 1
_BV(5), // changed from 2
_BV(4), // changed from 3
_BV(3), // changed from 4
_BV(2), /*19*/ // changed from 5
_BV(7),
_BV(6),
_BV(5),
_BV(4),
_BV(3),
_BV(2), /*25*/
_BV(1),
_BV(0), /*27*/
_BV(0),
_BV(1), /*29*/
_BV(1),
_BV(0) /*31*/
};
After making these changes I was able to get the Adafruit 16x32 RGB LED Matrix Panel working. I was then able to get two 16x32 Panels working in cascade as a 16x64 Panel with double buffering. Looks awesome!
I was only able to do single frame buffering with the Uno, because of limited RAM. Lot's of flickering with only single buffering. But with your MegaJr v2 board, I was able to use the same interface shield without mods. So the concept does work as a drop in replacement with more RAM and Flash space.