---
title: Upload firmware para o Calibrador e Dicas PlatformIO
description: passo a passo para instalar o PlatformIO e depois fazer o upload para o Calibrador.
tags: SenseHuman, platformio, manual
---
# Código da versão 1.0.0
O projeto encontra-se no Gitlab da Multicast, sendo a versão 1.0.0 neste [link](https://gitlab.com/multicast/SenseHuman/CoinHeater/-/tree/v1.0.0)
Baixe o código ou faça o clone do repositório. (O melhor é baixar o código mesmo)
# PlatformIO - IDE usado para o upload do firmware
O [PlatformIO](https://platformio.org/) é uma plataforma para o desenvolvimento de códigos embarcados. Ele está disponível como extensão em várias IDEs ([link](https://platformio.org/platformio-ide)), escolha a melhor para você.
No desenvolvimento utilizou-se o [VSCode]
* Portanto, baixe o VSCode clicando em "[Get for VSCode](https://platformio.org/platformio-ide)"
* Baixe o Microsoft's Visual Studio Code, clicando na opção "[Download](https://code.visualstudio.com/)"
* após instalar o Visual Studio Code baixe o [PlatformIO IDE extension](https://marketplace.visualstudio.com/items?itemName=platformio.platformio-ide);
* Clicar na opção "Sempre permitir" para que a extensão fique habilitada no Browser;
* Clicar em Abrir no Visual Studio Code;
* Clicar em "install" para instalar a extensão
* Pronto!! A partir de agora a Extension PlatformIO IDE está instalada no Visual Studio Code.
## Para baixar e carregar o código
* Sugiro baixar o zip com todo o projeto que está no Gitlab. Fale comigo (Sergio) que envio o arquivo "CoinHeater-v1.0.0.zip" com todos os arquivos do projeto.
* Descompactar e deixar a pasta disponível
* A extensão do PlatformIO no Visual Studio adiciona um toolbar no status bar (barra inferior esquerda) do VSCode conforme imagem a seguir.

* Para efetuar o carregamento é necesssário que a placa esteja conectada no modo de escrita.
* Antes de conectar o cabo USB no computador é preciso pressionar o botão de upload e ficar segurando até você clicar na opção de upload.
(botão pressionado) e rode-se o comando de upload,  terceiro botão no toolbar.
**OBS** Só solte o botão da placa após a escrita iniciar

**OBS** A escrita do projeto é feita utilizando o esptools de forma transparente para o usuário. Porém o esptools possui um bug na hora de liberar a porta após sua utilização, de forma que é necessário desconectar a porta usb e conectá-la novamente para mudar entre o modo de escrita e leitura. O modo default é de leitura, e o modo de escrita é necessário que o botão da placa esteja pressionado antes da conexão do usb e mantenha-se pressionado até o inicio da escrita.
Clicar em File (open folder) e escolha a pasta do código que foi baixado do Gitlab
A primeira vez vai perguntar "Do you trust the authors of the files in this folder". Marque a opção trust the clicar
# Conexão da placa
A placa UART deve conectar a primera fileira de entrada ao pinos da placa do SenseHuman como demonstrado nas figuras abaixo:


# Dicas sobre o PlatformIO
## Start a new project
Open PlatformIO home by the status bar icon and start a new project

Choose a name to your project, the **NodeMCU 1.0** board, and the framework will be setted by default to Arduino

*The project creation can take a while if its your first project, please be patiente*
## Add Libraries
Configure your libraries dependancies in the platformio.ini file

**Note the space\tab before the lib name**
define 1 lib per line and don't forget the space from the line start.
You can define your libs throw name, id, or git url
Exemple:
>lib_deps =
13
PubSubClient
ArduinoJson@~5.13,!=5.4
https://github.com/gioblu/PJON.git#v2.0
me-no-dev/ESPAsyncTCP
IRremoteESP8266=https://github.com/markszabo/IRremoteESP8266/archive/master.zip
*See more details int the docs:* [http://docs.platformio.org/en/latest/projectconf/section_env_library.html#lib-deps](http://docs.platformio.org/en/latest/projectconf/section_env_library.html#lib-deps)
## Run it!
Now add some code and upload it!
In the status bar you can compile your code , upload it  and open the serial monitor 
When uploading the code, it automatically compile your code and change to serial monitor task (if its alread open in another terminal).
https://gitlab.com/multicast/SenseHuman/CoinHeater
