O MicroPython é uma implementação da linguagem de programação Python e inclui algumas das bibliotecas padrão do Python. Ele foi projetado para ser executado em microcontroladores com ambientes restritos. Neste tutorial, você aprenderá como utilizar MicroPython e Arduino IDE 2.X, entre outras coisas, como:
- Instalar o MicroPython em sua placa Arduino,
- Instalar um editor com suporte para MicroPython
Você não precisa de nenhum conhecimento prévio em programação com Arduino ou MicroPython, mas é recomendável conhecer o básico do Python.
O que você precisa fazer é ter uma placa compatível e um editor de código. Você pode escolher entre duas alternativas:
- Arduino Lab for MicroPython: um editor experimental da Arduino, projetado para projetos mais simples.
OpenMV: um editor para projetos mais complexos, como visão computacional.
Python vs C/C++
Se você tem experiência em programação Arduino em C e C++, muitos dos tópicos apresentados serão familiares para você. Existe uma grande diferença entre como programamos uma placa Arduino com o Arduino IDE, usando a linguagem de programação Arduino (baseada em C++), e como a programamos usando o MicroPython.
O “modo Arduino” requer a compilação do esboço antes de enviá-lo para sua placa. O código em execução anteriormente é substituído pelo novo.
O “modo MicroPython” não requer compilação, pois você terá o MicroPython instalado na própria placa. O código é executado por meio de um interpretador, linha por linha.
Python vs MicroPython
O MicroPython foi criado para funcionar em condições restritas, como um ambiente pequeno. A principal diferença entre Python e MicroPython é que o MicroPython não possui a linguagem Python completa, é apenas um subconjunto dela.
Instalação da placa
Então, o que você precisa para começar seu primeiro projeto com MicroPython e Arduino? Primeiramente, você precisará de uma placa compatível. Para entender qual placa é mais adequada ao seu projeto, você pode visitar a documentação de cada placa para saber como instalar micropython.
Placas Compatíveis
As seguintes placas suportam o MicroPython:
- Nano BLE / Nano BLE Sense / Nano BLE Sense Rev2
- Nano RP2040 Connect
- Nano ESP32
- Nicla Vision
- GIGA R1 WiFi
- Portenta H7
- Portenta C33
Arduino MicroPython Installer – MicroPython na Arduino IDE 2.X
Existe uma ferramenta que simplifica a instalação do firmware MicroPython em suas placas Arduino com apenas um clique. Essa ferramenta possibilita a conexão da placa, seleção por meio de um menu e, de forma automática, realiza o flash do firmware mais recente ou de uma versão personalizada escolhida por você na placa.
Baixe o Arduino MicroPython Installer aqui. O Arduino MicroPython Installer faz parte do Arduino Labs e, portanto, é considerado software experimental.
Para iniciar, abra o aplicativo e conecte sua placa ao computador. Você deverá visualizá-la pronta para seleção na lista; caso contrário, experimente ativá-la no modo de inicialização, realizando uma dupla pressão no botão de reset.
Agora, realizar o upload do firmware MicroPython é tão simples quanto clicar em “Instalar MicroPython” e aguardar alguns segundos enquanto a ferramenta de instalação cuida de todo o processo.
Se você não quiser usar a ferramenta Arduino MicroPython Installer, abaixo estão as etapas específicas para cada placa para a instalação manual.
Nano ESP32
Software necessário:
- Firmware MicroPython
- esptool.py instalado
- Python instalado em seu computador
Primeiro, prepare a placa para um novo upload de firmware curto-circuitando o pino B1 com GND e pressionando o botão de reset.
Em seguida, execute o seguinte comando esptool para apagar a memória flash, substitua {nome-da-porta} pelo nome da porta à qual sua placa está conectada:
esptool.py --chip esp32s3 --port {nome-da-porta} erase_flash
Então, execute este comando para enviar o novo firmware, substitua {firmware.bin} pelo nome do seu arquivo binário de firmware e {nome-da-porta} pelo nome da porta à qual sua placa está conectada:
esptool.py --chip esp32s3 --port {nome-da-porta} write_flash -z 0 {firmware.bin}
Agora, sua placa deve estar preparada para ser programada com MicroPython!
Nano 33 BLE & Nano 33 BLE Sense
O processo de atualização do firmware no Nano 33 BLE requer, primeiramente, a atualização do bootloader e do SoftDevice. Uma vez concluída esta etapa, é possível fazer o upload do firmware MicroPython para a sua placa.
Esse processo exige a instalação de uma versão do Arduino IDE, conforme explicado na próxima etapa.
Passo 1: Instalação do Core
Comece garantindo que o core respectivo esteja instalado. Abra o Arduino IDE (não o Arduino Lab for MicroPython) e vá para o gerenciador de placas. Procure pela sua placa (Nano 33 BLE) e certifique-se de ter a versão mais recente do core instalada.
sso não é necessário apenas para fazer o upload do próximo esboço, mas você também explorará os arquivos do core para encontrar uma ferramenta específica em um próximo passo.
Passo 2: Atualização do Bootloader
No core Nano 33 BLE, há um esboço de exemplo que você utilizará para atualizar o bootloader e o SoftDevice da sua placa. Volte ao Arduino IDE e vá para Arquivo > Exemplos > Nano33BLE_System > Nano33_updateBLandSoftDevice e abra o esboço.
Faça o upload do esboço para a sua placa.
Cuidado! O bootloader ainda não está atualizado! Após o upload do esboço, você pode interagir com sua placa por meio do monitor serial para efetivamente atualizar o bootloader.
No monitor serial, será solicitada a confirmação de que você deseja atualizar o bootloader. Na caixa de texto de mensagem na parte superior do monitor serial, escreva um “y” e pressione Enter para enviá-lo à sua placa.
Agora, acompanhe o progresso do processo de atualização do bootloader; não desconecte nem reinicie sua placa durante este processo, ou você poderá danificá-la.
Quando esta barra estiver completa, você será solicitado com outra escolha. Desta vez, perguntará se deseja atualizar o SoftDevice na sua placa. Repita o processo de enviar um “y” para a placa e observe o progresso deste também.
Quando esta barra estiver completa e a atualização do SoftDevice for concluída, a placa reiniciará e você terá concluído com sucesso o procedimento.
Importante! Uma coisa importante a fazer neste ponto, que é facilmente esquecida, é fechar o monitor serial. Logo precisaremos usar a porta serial para outras coisas, e se deixar o monitor aberto, ele ficará ocupado e não poderá receber novas interações.
Passo 3: Download do Firmware
Agora, você precisará encontrar o firmware específico que precisa fazer o upload para sua placa. Você pode encontrar os firmwares disponíveis no site de documentação do MicroPython.
Baixe o arquivo .bin correspondente à sua placa.
Agora, será necessário explorar os arquivos do core que você baixou no primeiro passo para encontrar uma ferramenta de linha de comando chamada BOSSAC. Este processo será diferente dependendo se você estiver em um computador Windows ou MacOS.
Passo 4a: Upload do Firmware (Windows)
O arquivo que você precisará é chamado bossac.exe e pode ser encontrado no seguinte diretório:
C:\Users\[seu-nome-de-usuario]\AppData\Local\Arduino15\staging\packages\bossac-1.9.1-arduino2-windows.tar.gz\bossac-1.9.1-arduino2-windows.tar\bin\
Uma vez encontrado o arquivo, extraia-o do arquivo .tar e copie-o para outro local, por exemplo, sua área de trabalho.
Abra um terminal de comando e comece digitando “start”, agora arraste e solte o arquivo bossac.exe que você encontrou no terminal e pressione Enter.
Se bem-sucedido, outra janela de terminal de comando deve ser aberta na qual você pode executar o comando que fará o upload do firmware MicroPython para sua placa.
Execute o seguinte comando, substituindo a porta pelo nome da porta onde sua placa está conectada, e o arquivo de firmware pelo diretório onde você colocou o firmware que baixou anteriormente:
bossac -e -w --offset=0x16000 --port=[porta] -i -d -U -R [firmware]
Não desconecte ou desligue sua placa durante esta parte do processo, acompanhe o progresso do upload do firmware para sua placa. Uma vez concluído, você está pronto e pode começar a programar a placa em MicroPython.
Vá para o Arduino Lab MicroPython IDE e pressione conectar no canto superior esquerdo, escolha a porta, e agora você está pronto para programar seu Nano 33 BLE.
Passo 4b: Upload do Firmware (MacOS)
O arquivo que você precisará acessar é chamado bossac e pode ser encontrado no seguinte diretório:
Usuários/[seu-usuario]/Biblioteca/Arduino15/packages/arduino/tools/bossac/1.9.1-arduino2
Importante! O diretório “Biblioteca” está oculto, pressione Shift + Command + . para revelar diretórios ocultos.
Abra uma janela do terminal e arraste e solte o arquivo bossac na janela do terminal.
Agora, você deve ser capaz de executar o comando que fará o upload do firmware MicroPython para sua placa.
Execute o seguinte comando, substituindo a porta pelo nome da porta onde sua placa está conectada, e o arquivo de firmware pelo diretório onde você colocou o firmware que baixou anteriormente:
bossac -e -w --offset=0x16000 --port=[porta] -i -d -U -R [firmware]
Novamente, não desconecte ou desligue sua placa durante esta parte do processo, acompanhe o progresso do upload do firmware para sua placa. Uma vez concluído, você está pronto e pode começar a programar a placa em MicroPython.
Vá para o Arduino Lab MicroPython IDE e pressione conectar no canto superior esquerdo, escolha a porta, e agora você está pronto para programar seu Nano 33 BLE!
Nano RP2040 Connect
Para programar sua placa Nano RP2040 Connect com MicroPython, siga as instruções abaixo. A instalação para o Nano RP2040 Connect não requer ferramentas de software adicionais.
Siga as etapas abaixo para instalar o MicroPython na placa Nano RP2040 Connect:
- Faça o download do arquivo de firmware .uf2 na página do MicroPython.
- Conecte o pino REC ao GND (eles estão posicionados lado a lado) e pressione o botão de reset. Isso expõe o sistema de arquivos da placa ao seu computador.
- Arraste e solte o arquivo de firmware na área de armazenamento flash da placa, que aparece como um dispositivo de armazenamento externo em seu computador.
- Vá para o Arduino Lab MicroPython IDE e clique em “conectar” no canto superior esquerdo, escolha a porta.
Parabéns, agora você está pronto para programar sua placa Nano RP2040 Connect com MicroPython.
GIGA R1 WiFi
As instruções de instalação para o GIGA R1 WiFi são idênticas às instruções para a Portenta H7 encontradas logo abaixo.
No entanto, você precisará de um firmware diferente, que pode ser baixado a partir do link abaixo:
Importante! As placas GIGA R1 WiFi e Portenta H7 são baseadas no mesmo microcontrolador, STM32H747XI, e, portanto, compartilham as mesmas instruções de instalação.
Portenta H7
Para instalar o MicroPython na Portenta H7, primeiro será necessário instalar o núcleo correspondente, que também instala a ferramenta de linha de comando necessária chamada dfu-util.
Essa ferramenta pode ser usada para fazer o flash diretamente de um binário para sua placa, neste caso, um build do MicroPython.
Importante! As instruções abaixo utilizam o dfu-util que está incluído no Arduino IDE. Você também pode obter o dfu-util diretamente, através da página inicial do dfu-util ou por meio de sistemas de gerenciamento de pacotes como o Homebrew (MacOS / Linux).
Passo 1: Instalar o Arduino IDE
Primeiramente, faça o download e instale o Arduino IDE para seu sistema operacional.
Abra o Arduino IDE (não o Arduino Lab for MicroPython) e vá para o gerenciador de placas. Procure por “Portenta H7” e certifique-se de ter a versão mais recente do núcleo instalada.
Passo 2: Baixar o Firmware
Agora, será necessário encontrar o firmware específico que precisa ser flashado em sua placa. Você pode encontrar os firmwares disponíveis na página inicial do MicroPython com Arduino. O firmware está disponível como um arquivo .dfu para a Portenta H7.
No próximo passo, você mergulhará nos arquivos do núcleo que baixou no primeiro passo para encontrar a ferramenta de linha de comando chamada dfu-util. Este processo difere dependendo se você está em um computador Windows ou MacOS. As instruções para MacOS estão disponíveis mais abaixo.
Passo 3a: Instalar o Firmware (Windows)
Para fazer o flash em sua placa, você precisará de um arquivo chamado dfu-util.exe. Este arquivo está no seguinte diretório:
C:\Users\<seu-nome-de-usuario>\AppData\Local\Arduino15\staging\packages\dfu-util-0.10.0-arduino1-windows.tar.bz2\dfu-util-0.10.0-arduino1-windows.tar\windows\
Assim que encontrar o arquivo, extraia-o do arquivo .tar e copie-o para outro local, por exemplo, sua área de trabalho.
Abra um terminal de comando e comece digitando “start”, agora arraste e solte o arquivo dfu-util.exe que encontrou no terminal e pressione Enter.
Se for bem-sucedido, outra janela de terminal de comando deve ser aberta, na qual você pode executar o comando que fará o flash em sua placa com o firmware do MicroPython.
Dê dois toques rápidos no botão de reset em sua placa para colocá-la no modo DFU e execute o seguinte comando, mas substitua o caminho do arquivo de firmware pelo diretório onde você colocou o firmware que baixou anteriormente:
dfu-util -a 0 -d 0x2341:0x035b -D <firmware>.dfu
Novamente, não desconecte ou desligue sua placa durante esta parte do processo, acompanhe o progresso do flash do firmware em sua placa.
Você deve ver agora duas barras de progresso aparecendo uma após a outra. A primeira mostra o progresso da exclusão do firmware que estava anteriormente na placa, e a segunda mostra o progresso do flash do novo firmware.
Uma vez concluído, você está pronto e pronto para começar a programar a placa em MicroPython. Vá para o Arduino Lab MicroPython IDE e clique em “conectar” no canto superior esquerdo, escolha a porta e comece a programar!
Passo 3b: Instalar o Firmware (MacOS)
O arquivo que você precisará acessar chama-se dfu-util e pode ser encontrado no seguinte diretório:
Users/[seu-nome-de-usuario]/Library/Arduino15/packages/arduino/tools/dfu-util/0.10.0-arduino1/dfu-util
Importante! O diretório “Library” está oculto, pressione Shift + Command + . para revelar diretórios ocultos.
Abra uma janela do terminal e arraste e solte o arquivo dfu-util na janela do terminal.
Agora, você deve ser capaz de executar o comando que fará o flash em sua placa com o firmware do MicroPython.
Dê dois toques rápidos no botão de reset em sua placa para colocá-la no modo DFU e execute o seguinte comando, mas substitua o caminho do arquivo de firmware pelo diretório onde você colocou o firmware que baixou anteriormente:
dfu-util -a 0 -d 0x2341:0x035b -D <firmware>.dfu
Não desconecte sua placa durante esta parte do processo, acompanhe o progresso do flash do firmware em sua placa.
Uma vez concluído, você está pronto e pronto para começar a programar a placa em MicroPython. Vá para o Arduino Lab MicroPython IDE e clique em “conectar” no canto superior esquerdo, escolha a porta e agora você está pronto para carregar scripts em sua placa.
Editores de Código de MicroPython na Arduino IDE 2.X
Para escrever e carregar scripts em sua placa, você também precisará de um Editor de Código. Nesta página, você encontrará duas alternativas:
- Arduino Lab for MicroPython: um editor experimental da Arduino, projetado para projetos mais simples.
- OpenMV: um editor para projetos mais complexos, como visão computacional.
Arduino Lab for MicroPython
O Arduino Lab for MicroPython é um software que oferece suporte à programação de placas Arduino com MicroPython. Através do editor personalizado, podemos instalar o MicroPython e carregar scripts diretamente na placa. O editor é capaz de gerenciar os arquivos, permitindo visualizar o que está carregado na placa e vice-versa.
Baixe o Arduino Lab for MicroPython.
OpenMV Editor
O OpenMV é uma plataforma que oferece suporte à programação de placas Arduino com MicroPython. Através do editor OpenMV, podemos instalar o MicroPython e carregar scripts diretamente na placa. Também há uma variedade de exemplos disponíveis diretamente no editor.
Este post é uma tradução adaptada do tutorial escrito por Francesca Sanfilippo. O conteúdo original pode ser encontrado aqui.
Olá, tudo bem?
Estou tentando programar com MicroPython no Pycharm, até agora não consegui fazer nada. Eu tenho uma ESP32S SP-12 NodeMCU. A primeira pergunta é se ela é compatível com MicroPython (sei que não está na lista que você postou, mas vai que…). E o segundo, é se eu conseguiria com o Arduino IDE programar pra ela. Obrigado.
Olá Adriano.
Sobre essa ferramenta, infelizmente não temos como auxiliar.
Att.
Vitor Mattos.
MakerHero.