The Goldilocks

Ever battled SRAM limitations with your sketch on the Arduino Uno? Decided reluctantly to break out an Arduino Mega, and  suffer with the resulting shield incompatibilities? Yup, me too…

Philip Stevens and Jonathan Oxer decided to do something about it. They’re currently running a crowd funding project on the Australian Pozible site to build a board they’re calling “Goldilocks.” Presumably named since it doesn’t have too little (memory), isn’t too big (a footprint), but it’s just right..?

The Goldilocks board is an Arduino clone, but instead of using the ATmega328p of the Uno, or the ATmega2560 of the Mega, it uses the ATmega1284p micro-controller. It has the same form factor of the Uno, but more SRAM, in fact it has eight times more, and that’s actually twice as much as the Mega.

Feature ATmega328p    ATmega1284p    ATmega2560p
Cost $2.99 $4.66 $11.28
SRAM 2k 16k 8k
Flash RAM 32k 128k 256k
EEPROM 1k 4k 4k
USART 1 2 2
Digital I/O Pins 23 32 86
Analog I/O Pins 6 8 16
Interrupt Timers           2 3 8

Switching the processor also means that it has two programmable USART, separate I²C  bus pins, and extra 16 bit timer, four times the Flash and twice the EEPROM of the Uno. The board also has a µSDCard slot and space for prototyping. But the main advantage for a lot of people is going to be that extra SRAM for your sketch to run inside.

The recent announcement of the Arduino GSM Shield  added another benefit over the Uno since the two pins designated to be the USART pins Tx/Rx on the GSM Shield match the pins proposed for the hardware USART1 Tx1/Rx1 on the Goldilocks. Which means that the full AVR hardware USART Interrupt, error flag, and timing capability would be available for communications with the GSM shield, unlike the Uno where a software USART is used instead.

Their Pozible campaign is fully funded, but still has eighteen days on the clock if you’re interested in getting a board. Estimated delivery is July and it promises to be fully Arduino-compatible and ship with the necessary board definition files so that you can use it in the Arduino IDE. More details can be found on Philip’s blog.