O que é o micro:bit e por que ele ainda existe
O micro:bit é uma placa de desenvolvimento do tamanho de um cartão de crédito, criada originalmente pelo BBC para ensino de programação em escolas britânicas. Ela carrega um microcontrolador Nordic nRF51822 com processador ARM Cortex-M0 de 32 bits rodando a 16 MHz, 256 KB de flash e 16 KB de RAM. Na frente tem uma matriz de LEDs de 5x5, dois botões programáveis, sensores de aceleração e magnetômetro integrados, e pinos de E/S expostos na borda inferior que permitem conectar circuitos externos.
O que é micro bit: a definição prática
Muita gente confunde o micro:bit com um Arduino qualquer. Não é. A diferença principal é que ele foi desenhado desde o início para ser usado por estudantes sem experiência prévia em eletrônica, o que significa que algumas decisões de projeto são confortáveis e outras são frustrantes. A placa vem com conector Pogo pin na parte inferior, mas também aceita jumpers Macho-Fêmea nos próprios pinos expostos, o que facilita prototipagem rápida sem precisar de protoboard dedicada. O que torna o micro:bit interessante na prática é o ecossistema de ferramentas. Você pode programá-lo em MakeCode (editor visual por blocos ou TypeScript), MicroPython, C++ via mbed OS, e até usar JavaScript. O MakeCode é o caminho mais rápido para ver algo funcionando em dez minutos. O MicroPython é o que eu recomendo se você quer controle mais fino sem aprender toda a complexidade do mbed.
Um detalhe que poucos mencionam: a placa tem dois conectores USB. Um para programação e energia, outro que simula um drive de armazenamento em massa. Você arrasta o arquivo .hex compilado e pronto, não precisa de driver ou botões de reset. Funciona bem na maioria dos sistemas, mas no Windows 10 já vi esse drivers de massa falhar se o cabo USB for de apenas carga. Use sempre um cabo dados.
Como programar na prática
Eu costumo começar projetos com o micro:bit usando MicroPython porque a iteração é mais rápida. VocÊ conecta a placa, o computador reconhece como um drive chamado MICROBIT. Abra o Thonny IDE, selecione Micro:bit como interpretador, e escreva o código diretamente. Não precisa compilar, não precisa de makefile, não precisa configurar toolchain. Veja um exemplo simples que mostra o sensor de temperatura funcionando:
import microbit
while True:
temp = microbit.temperature()
microbit.display.scroll(str(temp))
microbit.sleep(2000) Isso lê a temperatura do processador e exibe na matriz de LEDs. Nota importante: o sensor de temperatura do nRF51822 não é calibrado para medições precisas de ambiente. Ele mede a temperatura do próprio chip, que geralmente fica 3 a 5 graus acima da temperatura real do ambiente. Se você precisa de precisão, use um sensor externo como o DHT22 ou BME280 conectado via pinos de E/S.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Conectando sensores e periféricos
Os pinos expostos no micro:bit suportam GPIO digital, ADC de 10 bits em vários pinos (P0, P1, P2), e comunicação I2C e SPI. O barramento I2C padrão usa os pinos P20 (SDA) e P21 (SCL). Isso é útil porque significa que você pode conectar módulos com qualquer microcontrolador I2C sem precisar de nível de tensão — o micro:bit opera a 3.3V e a maioria dos sensores modernos também. Eu usei o micro:bit com um sensor de umidade e temperatura Si7021 via I2C. O sensor entregava leituras confiáveis entre -40°C e 85°C com precisão de ±0.4°C. A biblioteca microbit-si7021 do PyPI funcionou sem problemas. Mas tive um problema específico: quando conectei o sensor e tentei fazer leituras contínuas, o barramento I2C travava a cada 30 segundos. O motivo era que o micro:bit não possui pull-ups internos fortes o suficiente para o barramento com vários dispositivos. A solução foi adicionar resistores de pull-up de 4.7k externos nos pinos SDA e SCL, conectando-os a 3.3V. Depois disso, funcionamento estável por meses.
Outro ponto: o micro:bit v2 tem Bluetooth LE integrado. Isso permite controlar a placa remotamente pelo celular ou conectar a serviços de IoT. A API do microbit para BLE é razoável, mas tem limitações. O stack BLE do nRF51822 suporta no máximo 3 conexões simultâneas, e a latência pode variar entre 10ms e 100ms dependendo da configuração de intervalo de conexão. Para aplicativos sensíveis a tempo, como controle de motores em tempo real, isso é um problema. Use comunicação serial USB ou rádio nRF24L01+ em vez disso.
Limitações que ninguém menciona
O micro:bit v1 tem apenas 256 KB de flash. Isso parece muito para um microcontrolador, mas se você tentar empacotar bibliotecas grandes ou armazenar muitos dados localmente, vai sentir falta. O v2 melhorou para 512 KB, mas ainda é limitado comparado a placas como o ESP32 que oferecem 4 MB ou mais. A memória RAM de 16 KB também é apertada se você estiver usando MicroPython com muitas strings e listas. Eu já vi o garbage collector do MicroPython travar o loop principal por até 200ms quando a memória estava fragmentada. Em projetos onde tempo real importa, isso é inaceitável. A solução é programar em C++ via mbed ou usar um buffer fixo de memória ao invés de alocação dinâmica.
O ADC de 10 bits cobre a faixa de 0 a 3.3V. Se você precisa medir tensões mais altas, precisa de um divisor de tensão externo. Não adianta conectar diretamente um sensor de 5V nos pinos do micro:bit — você vai queimar o pino. Já vi gente fazendo isso e perguntando por que o micro:bit não funcionava mais. A matriz de LEDs de 5x5 é limitada para exibição de informação. Ela funciona para emojis simples, contadores e status, mas não serve para mostrar texto longo ou dados complexos. Se você precisa de display mais rico, adicione um OLED I2C de 0.96 polegadas. Custa cerca de 15 reais no Brasil e se conecta facilmente nos pinos P20 e P21.
Quando usar e quando evitar
O micro:bit é uma boa escolha para prototipagem rápida em ambientes educacionais, projetos simples de IoT com Bluetooth, e aplicações onde o custo baixo e a facilidade de uso importam mais do que performance. Se você está construindo algo para vender ou para produção, considere alternativas como o ESP32 que oferece WiFi, mais memória, mais pinos GPIO, e preço similar. O ESP32 também roda MicroPython e tem comunidades maiores para bibliotecas específicas. A diferença é que o micro:bit tem um ecossistema educacional consolidado com materiais didáticos em várias línguas, o que ainda o torna relevante para ensino. Para desenvolvimento profissional, porém, o ESP32 ou o Raspberry Pi Pico oferecem muito mais poder pelo mesmo preço.
onde baixar o software de programação
O editor MakeCode está disponível gratuitamente em makecode.microbit.org e funciona diretamente no navegador. Para MicroPython, o Thonny IDE é gratuito em thonny.org e suporta Micro:bit nativamente. A documentação oficial com referências de API está em microbit.microbit.org. Se você decidir ir para C++, o ambiente de desenvolvimento recomendado é o Mbed Online Compiler ou o VS Code com a extensão ARMmbed. Isso exige um pouco mais de configuração inicial — toolchain, configuração do projeto, makefile — mas oferece acesso completo ao hardware e melhor controle de memória.