MicroPython para educação STEM

Todo professor de educação STEM que já enfrentou o desafio de trazer tecnologias para alunos, especialmente os mais novos, sabe que barreiras simples, como drivers do Windows, podem quebrar o momento com as crianças e adolescentes, e momento é tudo em educação STEM. Especialmente no mundo da dispersão de atenção, onde qualquer entretenimento diferente está a poucos cliques de ser acessado.

Neste cenário o professor deve buscar ao máximo tecnologias em que a fricção do uso seja mínima ou inexistente, onde a experiência não precise ser quebrada porque o professor tem que passar de computador em computador para preparar algo. Para o público jovem, a experimentação e a tentativa são a regra, e dar essa liberdade é essencial para que uma nova tecnologia possa ser usada em sala de aula.

Neste artigo quero apresentar duas tecnologias (e todo um ecossistema) que me parecem estar maduras o suficiente para o uso em educação STEM plugada: A microcontroladora ESP32 C3 super mini, e o firmware microPytthon de desenvolvimento. Juntos estas ferramentas conseguiram quebrar várias barreiras para a adoção de programação real com crianças e adolescentes.

Controladora ESP32-CE super mini

A plataforma ESP há tempos suplantou o Arduino como escolha do maker padrão. Não só pela maior capacidade de armazenamento e processamento, mas pelas redes sem fio presentes, muitas vezes com um preço ainda mais barato que as placas Arduino, mesmo as não-originais! A Espressif, empresa responsável pela plataforma ESP, fez um excelente trabalho ao criar algo poderoso e barato para as necessidades de quem quer automatizar coisas, ou só aprender a programar mesmo.

O ESP32-C3 super mini é já uma evolução da estratégia da Espressif. Informações na rede dizem que ele vem para substituir o onipresente ESP8266, o queridinho da automação residencial. Diferente do 8266 e seu Wi-Fi, o super mini traz também Bluetooth e mais capacidade de processamento e armazenamento, isso tudo num form factor ainda menor, com a placa inclusive pronta para ser soldada diretamente em outras PCBs projetadas.

MicroPython e educação STEM

O microPython é uma simplificação da linguagem python que roda dentro de controladoras simples. Python já tem a fama de ser mais amigável com o iniciante, por ter uma sintaxe mais simples, por ser menos exigente de pontuações complexas, mas aqui algumas características nativas do Python dão outro dinamismo às aulas de programação embarcada.

A primeira característica interessante é a do terminal de comando python. Nele é possível digitar linha a linha comandos python (como 2 + 2) e receber respostas imediatamente a apertar enter. É o chamado modo interativo REPL: Ready, eval, Print e Loop. Essa chance do aluno já ver resultado desde a primeira linha é algo que prende mais a atenção, até porque no caso diferente o aluno precisa ver a compilação e o upload antes de sua placa Arduino dar alguma resposta.

Pular o processo lento e complexo do upload da placa já seria muito bom, mas uma outra característica vem junto: A placa ser um repositório de diferentes códigos do usuário! No Arduino a placa aceita só um firmware. Botar outro firmware obriga a apagar o código anterior. E sendo sua única placa, o estudante se vê facilmente perdendo seus códigos-fonte em diferentes computadores. Isso é frustrante para o aluno. No caso do microPython a placa vira uma pendrive com seus vários códigos python armazenados, prontos para serem executados, estudados, ou copiados. Ou seja, a placa agora é um repositório de tudo que eu aprendi com a placa!

A união da ESP32-C3 com o microPython traz então o melhor dos dois mundos para o professor e aluno na busca de uma educação STEM sem atritos desnecessários.