Tuesday, November 1, 2011

Viva la evolution!

Ever since I started messing with microcontrollers over a decade ago, I have been hooked. The Atmel ATS1200 was one of my first big my first adventures, which I programed (with varying degrees of success) using a command line basic compiler (as I recall the first project was to make a Hollywood style “flashing computer lights” display for a friends workstation, an array of a few tens of LED's that would flash in ominously powerful patterns as the hard disk was accessed...)


Oh how I yearned for more power in those days....then Atmel came out with the ATmega8 – A wonderful chip with 8k of flash and 1k? Of RAM!!! (that was more memory than my first computer, an Ohio Scientific C2-8P!) and all those kewl new instructions!!! Hardware multiply!! So, Naturally, I did what any sensible person would do, I wrote Dope Wars for it. Then Sub Hunter. All Playable in glorious ASCII through any VT100 compatible serial terminal.


Then, I started dinking around with controlling stuff in the real world (so called physical computing). I Built a pump controller for my boat. A battery temperature alarm. Then my wonderful wife and helpmate (and business manager and our lead tech on our current IT contract) suffered a catastrophic washing machine failure, far from any hint of the Maytag repair man. I proceeded to build a controller for all functions of the little washing machine, and once again the Carribean was filled with the joyous sounds of the spin cycle from the deck of our boat...punctuated by a nice long square wave beep when it was done.. It works great, to this day.


Somewhere about this time, a talented team in Italy put together a wonderful open source platform called Arduino, using my very favorite chip. It seems that I was hardly alone in my obsession with control, after all.


Recently I have been building controllers for a veggie-oil furnace system, a smoke detection and safety-lockout for the same system, as well as a generic industrial sensor and control system that uses a human readable control protocol over an RS485 bus so that the system can be logged into, queried, and controlled by a meat puppet from a serial terminal for testing or emergency service.


If anyone is interested in these projects (doubtful, I know) I will be happy to provide source code, although these were not developed using the Arduino IDE.... And, having learned my lesson today, I am adopting a resolution to publish my work from today forward, so that others may wonder “why?”


But now, I hunger.


I hunger for power (using less of it).


I hunger for more program memory, for denser code, faster clock speeds and performance that only a 32 bit system can provide. I yearn for the gigantic libraries for absolutely everything, free for the taking. I long to write code that I know will work with minimal porting on a chip I buy 10 years from now (CMSIS). In short, I long to have the same advantages that industry has, that makers of ARM based products have enjoyed for years.


And, I want to share.


Now, Don't get me wrong, you can start out in ARM pretty easily. It just costs a bit. You see, nobody makes ARM in a nice easy DIP package like the ATmega328 (Arduino), so you can't just solder in a socket and get on with it, or plug it into your solderless prototyping board. You need to make, then solder, a double sided (usually) board with a .4mm lead pitch, then solder your chip to it. (easier than it looks, but a lot harder than I wish it was) Fry the chip? Too bad. Start over. And, you cant just plug the little 48 pin LQFP into a breadboard and play, you have to design, build, then play. Make a change? Make a new board. Not exactly garage friendly.


Typical 8 Bit vs 32 Bit development systems...you can see the price difference from space.


Of course, there are solutions, like the wonderful M-Bed...exactly what I want in an MCU...lots of space, 32 bit ARM architecture, DIP Package, but $60 a chip. This puts the garage innovator at a sharp disadvantage to industry players, who buy the very same chip in a less convenient package for $5.57.



So, What to do?

"Same thing we do every night, Pinky...Try to take over the world!"


Our template for world domination



How about this....Put a 50 Mhz ARM Cortex M0 , with 128k of flash, 16k of RAM and a plethora of peripherals on a tiny daughterboard, and make it pin compatible for most applications with the Atmel 328PA. Make it open source. Sell it for less than $10.

My hand soldered < $5 arm prototype vs the AT328 chip it will eventually replace in my Arduino board... Obviously, I am going to need to power up the shrink ray. Good thing I have one.


Then, plug it into your Arduino project or solderless breadboard, and wallah, Industry leading performance at innovation encouraging prices and timeless ease of implementation.



In review, the hardware hacker gets:

A jump from 20 to 50mhz

4x cycle (math) performance (32 bit vs 8 Bit)

4x the code space (128k vs 32k)

2x the code density, so like having 8x the code space

8x the RAM (16k vs 2K)

Nested interrups

Superginormous free libraries

better, faster, more flexible peripherals

A free toaster (use your old 8 bit chip to supply the heat)


All for <$6 more per chip in the prototyping stage, and $1-$2 less per chip in mass production.... astonishingly, these 32 bit powerhouses cost less than many of their more sedate competitors, thank you very much economy of scale.


Honestly, I think I should sell these on Home Shopping Network....


Then, some follow through:


Curate (or better yet find someone to curate) an open source community to build libraries to make Arduino's Processing sketches work with little if any modification, and then you have dragged the microinnovators of the world into the 21st century, no kicking or screaming involved.


Not only will experimenters and students be playing with the real stuff, the innovations that make it to the market will benefit from the same perks for which entire industries have changed their product infrastructures to get – better code reuse, longer hardware life-cycles, lower power, and cheaper parts.


So anyway, this is what I have been working on.... I call it Daruino. Come Join the Evolution!


Want one? I am going to launch this project on Kickstarter...when I get it launched Ill put a link *here*....

1 comment: