Se você deseja passar do iniciante para o intermediário, o idioma que precisa aprender é C. Mesmo se você deixar de lado todo o debate sobre o bloqueio do Windows, precisará ser muito bom em programação em C antes de poder trabalhar com qualidade. microcontrolador em uma linguagem de nível superior, como .NET Micro ou C ++.
Os sistemas embarcados são compostos de uma pirâmide de conhecimento e você realmente precisa conhecer pelo menos parte de cada etapa para ser um bom designer:
^ Código do usuário
^^ Sistemas operacionais
^^^ A linguagem C
^^^^ Linguagem de montagem
^^^ ^^ Arquitetura do microcontrolador
^^^^^^ Design digital ^^^^^^^
Semicondutores
^^^^^^^^ Eletrônica básica (lei de Ohm)
A estrutura do Arduino fornece um gancho conveniente para os entusiastas da pirâmide em algum lugar entre a linguagem C e um sistema operacional.
Específico à sua pergunta do .NET Micro Framework, o About diz:
O dispositivo típico do .NET Micro Framework possui um processador de 32 bits sem MMU (unidade de gerenciamento de memória externa) e pode ter apenas 64 K de memória de acesso aleatório (RAM).
Além disso, o folheto o diferencia do Windows Mobile , Windows Embedded , CE 6.0 e .NET Compact Framework, e o compara aos sistemas operacionais Linux, Tempo Real, Java e personalizados. Este é um grande salto da estrutura do Arduino / Processing.
Seu Arduino possui um processador de 8 bits com 1k de RAM. Além da perda de energia de 8 bits vs. 32 bits, ele também roda menos da metade da velocidade da maioria dos processadores listados. Embora eu não o desencoraje de mudar para um processador de 32 bits, eu o recomendaria como um movimento intermediário para avançado.
É realmente fácil gastar muito tempo e memória com algumas linhas em C # ou C ++, que são insignificantes em um processador dual core rodando a alguns gigahertz com gigabytes de RAM, mas que podem fazer uma enorme diferença em um dispositivo incorporado . Até você ser bom em linguagem assembly e / ou C, ou um guru em C # ou C ++, eu não recomendaria usá-lo para programação incorporada.
Portanto, eu começaria com o download do WinAVR e programaria uma rotina simples de piscar de LED em C. Se C é totalmente confuso para você, crie um pouco de código nativo ("Hello World") no seu PC e depois vá para o diretório microcontrolador, mas isso não deve ser necessário. Em seguida, avance para a comunicação pelo UART, comece a usar interrupções e refaça alguns de seus projetos do Arduino em C. Em seguida, encontre (ou faça!) Uma nova placa de desenvolvimento com um microcontrolador diferente, talvez um PIC ou ARM e alguns guloseimas como uma tela LCD, Ethernet, cartão SD ou o que você quiser, e tente aprender um novo sistema. Quando chegar lá, você saberá melhor para onde deseja ir.
Estaremos aqui para ajudá-lo ao longo do caminho!