The firmware uses MIOS as operating system, which is running on a PIC microcontroller. A port to ATMega would result into a lot of effort, because all low level routines are assembler optimized, and therefore not simply compatible with a different uC architecture.
I had a quick look into the Arduino specs, and noticed that the MINI board is stuffed with a ATMega 168, which offers 16k flash and 512 RAM. This isn't enough for my firmware - it needs already 512 bytes for the individual LED delay counters which produce this nice looking "tracing" effect (LEDs are not turned off immediately, but after a given time). The MAX7221 registers are doublebuffered (+128 bytes), and MIOS itself consumes also some memory (e.g. for MIDI input/output buffers)...
So, it could only be a simple solution with less features
Even if another Atmel chip would be used... for me, it would be much easier to add the OSC protocol to the MIDIbox based firmware than trying to implement all the stuff again for the Arduino platform
On the other hand: a PIC can be easily added to the prototyping section of the Stribe board, it's really cool that Josh prepared this!
Here the schematic: mbhp_core_for_stribe.pdf
The PIC18F4620 is very robust, easy to solder (DIP, should not be soldered directly on board, but plugged into a 40-pin socket!), offers 64k flash, 3968 bytes RAM. A PIC programmer is not required If you buy a chip with preburned bootloader in SmashTV's shop
(-> US $10), firmware updates can be done via MIDI.
You could also use a MBHP_CORE module (like I did in the demo), which includes some additional components to add a LCD, DIN/DOUT modules, etc...
Interconnections: the analog lines to the softpots can be shared with Arduino, and soldered directly to the analog pot headers. The Load/Clock/Data lines for the MAX7221 chain need some special care, as only one Microcontroller should drive these inputs.
So, either you have to add a 3 pole switch, or a digital multiplexer, or - a solution I would prefer - just solder the three cables on a 3-pin male header, unplug the Arduino Mini, and plug the header into the Arduino MINI socket. This physically ensures "exclusive" sharing of the 3 data lines
Best Regards, Thorsten.