I have been working on porting the libraries from AVR architecture to ARM.
I'm trying to follow along with the new Arduino Due, which uses ARM Cortex-M3 processors from Atmel.
The main reason I would like to move to ARM is because of the ability to communicate directly with Android devices by turning Reef Angel into a USB accessory.
Well, technically I had already done this on AVR and used MAX3421. I had several prototypes made in the past year, but never actually finalized the boards as there was always something I wanted to change.
Then, I've been keeping an eye on the progress of the Arduino Due and when Google announced ADK2012, which would be compatible with the Due boards, I decided that I should peek at what would be involved into porting the code.
Well, the Google ADK2012 isn't quite compatible as one would think.
I can say that it was not an easy sail, but I'm very happy to be at the point I got today.
Today, I was finally able to modify some of the core files and I was able to get my SAM3X8E, which is the chip that comes on the Due board, to talk to my android phone

That was the main reason that would make or break the deal. Now that I can communicate with Android directly using the ARM processor, I can start porting our libraries to the new architecture.
One of the drawbacks of the SAM3X8E is that it does not have internal EEPROM, so I'll have to move all internal memory settings to external EEPROM or wait until the Arduino team comes up with a way to save into Flash memory instead.
All PROGMEM variables will also need to be modified too or wait on the Arduino team once again.
I'll keep updates coming as I move along and have any progress.