Microsoft has just released the .NET Micro Framework, which I find could be a very interesting platform. It is a very simplified version of the .NET Framework that is targeted at ARM7/ARM9 processors. From what I can tell, you can get this framework running with a minimum of external components and it’s very hard to argue with getting the full C# language available for use on a small device like this! Runs on a memory footprint as low as 300 KB and does not need an MMU, which is a far cry from Windows CE which needs 12 MB for the WinCE Compact Framework. See http://en.wikipedia.org/wiki/.NET_Micro_Framework for more info. It seems to me that the platform could save an awful lot of time as many drivers, etc. are already provided or can be easily written in C#.
My question is whether any of the ARM developers around here have taken note of this platform. Any thoughts? Personally, I’d love to build my own custom device utilizing this platform and use one of those 128x128 Nokia LCDs, some pushbuttons, secure digital/USB, and a bunch of interesting sensors and think it would be a great learning experience. I was originally thinking of doing something original in C but I realized that developing a decently professional-looking windowing system was probably way more than I have time for and that I would do well utilizing a professional off-the-shelf design. As I know the desktop and compact .NET frameworks quite well, this new embedded platform seems like it could minimize the time required on my part as I will need to write a minimal amount of firmware to accomplish what I want. The other alternative I see would be Linux but I don’t have near enough experience there to try tackling a Linux implementation. Perhaps in the future once I get the hardware working I might try Linux.
So far I know all the ins and outs of Atmel AVR and much of Microchip’s PIC18 platform, having created some significant custom circuit boards for these platforms. But I’d like to get into learning the ARM platform and this seems like it could be an easy way that isn’t very demanding time-wise for PCB design and layout (I have access to a PCB milling machine capable of doing 4 mil clearances so making quick one-off boards with fine-pitch QFP packages is a non-issue). After this I might decide to tackle a full-blown Windows CE/Linux board with a fair bit of memory, but since that requires fancier processors that usually come in BGA packages and lots of external memory, I think that will wait until another day.[/list]