Laboratório 00
A documentação desta atividade de laboratório é complementar a documentação principal da disciplina.
Utilize como base a descrição apresentada no Moodle da disciplina.
| Tarefa | Template | Início | Fim | Conteúdo |
|---|---|---|---|---|
| LAB00 | TPL00 | 16-Mar-2026 | 30-Mar-2026 | Apresentação da Disciplina; Materiais utilizados na disciplina; |
LAB00 — Guia dos alunos
- A
- B
- C
- D
- E
- F
- G
- H
- I
- J
- K
- L
- X
- Organização: ELT73A-S22-2026-2
- Grupo: Grupo-A (slug:
grupo-a) - Repositório: https://github.com/ELT73A-S22-2026-2/lab00-grupo-a
gh auth login
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
1. Clone o repositório do laboratório:
gh repo clone ELT73A-S22-2026-2/lab00-grupo-a
cd lab00-grupo-a
2. Abra no VS Code:
code . --profile "STM32"
3. Fluxo diário de trabalho:
git pull
git add .
git commit -m "Descreva suas alterações"
git push
4. Abrir o repositório no navegador:
gh repo view ELT73A-S22-2026-2/lab00-grupo-a --web
git checkout -b feature/exercicio-1
git add . && git commit -m "Exercício 1" && git push -u origin feature/exercicio-1
gh pr create --title "Exercício 1" --body "Concluído"
- Você pode fazer push apenas no repositório do seu grupo (
lab00-grupo-a). - Não é possível acessar ou alterar os repositórios dos outros grupos.
- Em caso de erro de permissão, verifique com o professor se você está no time correto.
- Organização: ELT73A-S22-2026-2
- Grupo: Grupo-B (slug:
grupo-b) - Repositório: https://github.com/ELT73A-S22-2026-2/lab00-grupo-b
gh auth login
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
1. Clone o repositório do laboratório:
gh repo clone ELT73A-S22-2026-2/lab00-grupo-b
cd lab00-grupo-b
2. Abra no VS Code:
code . --profile "STM32"
3. Fluxo diário de trabalho:
git pull
git add .
git commit -m "Descreva suas alterações"
git push
4. Abrir o repositório no navegador:
gh repo view ELT73A-S22-2026-2/lab00-grupo-b --web
git checkout -b feature/exercicio-1
git add . && git commit -m "Exercício 1" && git push -u origin feature/exercicio-1
gh pr create --title "Exercício 1" --body "Concluído"
- Você pode fazer push apenas no repositório do seu grupo (
lab00-grupo-b). - Não é possível acessar ou alterar os repositórios dos outros grupos.
- Em caso de erro de permissão, verifique com o professor se você está no time correto.
- Organização: ELT73A-S22-2026-2
- Grupo: Grupo-C (slug:
grupo-c) - Repositório: https://github.com/ELT73A-S22-2026-2/lab00-grupo-c
gh auth login
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
1. Clone o repositório do laboratório:
gh repo clone ELT73A-S22-2026-2/lab00-grupo-c
cd lab00-grupo-c
2. Abra no VS Code:
code . --profile "STM32"
3. Fluxo diário de trabalho:
git pull
git add .
git commit -m "Descreva suas alterações"
git push
4. Abrir o repositório no navegador:
gh repo view ELT73A-S22-2026-2/lab00-grupo-c --web
git checkout -b feature/exercicio-1
git add . && git commit -m "Exercício 1" && git push -u origin feature/exercicio-1
gh pr create --title "Exercício 1" --body "Concluído"
- Você pode fazer push apenas no repositório do seu grupo (
lab00-grupo-c). - Não é possível acessar ou alterar os repositórios dos outros grupos.
- Em caso de erro de permissão, verifique com o professor se você está no time correto.
- Organização: ELT73A-S22-2026-2
- Grupo: Grupo-D (slug:
grupo-d) - Repositório: https://github.com/ELT73A-S22-2026-2/lab00-grupo-d
gh auth login
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
1. Clone o repositório do laboratório:
gh repo clone ELT73A-S22-2026-2/lab00-grupo-d
cd lab00-grupo-d
2. Abra no VS Code:
code . --profile "STM32"
3. Fluxo diário de trabalho:
git pull
git add .
git commit -m "Descreva suas alterações"
git push
4. Abrir o repositório no navegador:
gh repo view ELT73A-S22-2026-2/lab00-grupo-d --web
git checkout -b feature/exercicio-1
git add . && git commit -m "Exercício 1" && git push -u origin feature/exercicio-1
gh pr create --title "Exercício 1" --body "Concluído"
- Você pode fazer push apenas no repositório do seu grupo (
lab00-grupo-d). - Não é possível acessar ou alterar os repositórios dos outros grupos.
- Em caso de erro de permissão, verifique com o professor se você está no time correto.
- Organização: ELT73A-S22-2026-2
- Grupo: Grupo-E (slug:
grupo-e) - Repositório: https://github.com/ELT73A-S22-2026-2/lab00-grupo-e
gh auth login
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
1. Clone o repositório do laboratório:
gh repo clone ELT73A-S22-2026-2/lab00-grupo-e
cd lab00-grupo-e
2. Abra no VS Code:
code . --profile "STM32"
3. Fluxo diário de trabalho:
git pull
git add .
git commit -m "Descreva suas alterações"
git push
4. Abrir o repositório no navegador:
gh repo view ELT73A-S22-2026-2/lab00-grupo-e --web
git checkout -b feature/exercicio-1
git add . && git commit -m "Exercício 1" && git push -u origin feature/exercicio-1
gh pr create --title "Exercício 1" --body "Concluído"
- Você pode fazer push apenas no repositório do seu grupo (
lab00-grupo-e). - Não é possível acessar ou alterar os repositórios dos outros grupos.
- Em caso de erro de permissão, verifique com o professor se você está no time correto.
- Organização: ELT73A-S22-2026-2
- Grupo: Grupo-F (slug:
grupo-f) - Repositório: https://github.com/ELT73A-S22-2026-2/lab00-grupo-f
gh auth login
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
1. Clone o repositório do laboratório:
gh repo clone ELT73A-S22-2026-2/lab00-grupo-f
cd lab00-grupo-f
2. Abra no VS Code:
code . --profile "STM32"
3. Fluxo diário de trabalho:
git pull
git add .
git commit -m "Descreva suas alterações"
git push
4. Abrir o repositório no navegador:
gh repo view ELT73A-S22-2026-2/lab00-grupo-f --web
git checkout -b feature/exercicio-1
git add . && git commit -m "Exercício 1" && git push -u origin feature/exercicio-1
gh pr create --title "Exercício 1" --body "Concluído"
- Você pode fazer push apenas no repositório do seu grupo (
lab00-grupo-f). - Não é possível acessar ou alterar os repositórios dos outros grupos.
- Em caso de erro de permissão, verifique com o professor se você está no time correto.
- Organização: ELT73A-S22-2026-2
- Grupo: Grupo-G (slug:
grupo-g) - Repositório: https://github.com/ELT73A-S22-2026-2/lab00-grupo-g
gh auth login
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
1. Clone o repositório do laboratório:
gh repo clone ELT73A-S22-2026-2/lab00-grupo-g
cd lab00-grupo-g
2. Abra no VS Code:
code . --profile "STM32"
3. Fluxo diário de trabalho:
git pull
git add .
git commit -m "Descreva suas alterações"
git push
4. Abrir o repositório no navegador:
gh repo view ELT73A-S22-2026-2/lab00-grupo-g --web
git checkout -b feature/exercicio-1
git add . && git commit -m "Exercício 1" && git push -u origin feature/exercicio-1
gh pr create --title "Exercício 1" --body "Concluído"
- Você pode fazer push apenas no repositório do seu grupo (
lab00-grupo-g). - Não é possível acessar ou alterar os repositórios dos outros grupos.
- Em caso de erro de permissão, verifique com o professor se você está no time correto.
- Organização: ELT73A-S22-2026-2
- Grupo: Grupo-H (slug:
grupo-h) - Repositório: https://github.com/ELT73A-S22-2026-2/lab00-grupo-h
gh auth login
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
1. Clone o repositório do laboratório:
gh repo clone ELT73A-S22-2026-2/lab00-grupo-h
cd lab00-grupo-h
2. Abra no VS Code:
code . --profile "STM32"
3. Fluxo diário de trabalho:
git pull
git add .
git commit -m "Descreva suas alterações"
git push
4. Abrir o repositório no navegador:
gh repo view ELT73A-S22-2026-2/lab00-grupo-h --web
git checkout -b feature/exercicio-1
git add . && git commit -m "Exercício 1" && git push -u origin feature/exercicio-1
gh pr create --title "Exercício 1" --body "Concluído"
- Você pode fazer push apenas no repositório do seu grupo (
lab00-grupo-h). - Não é possível acessar ou alterar os repositórios dos outros grupos.
- Em caso de erro de permissão, verifique com o professor se você está no time correto.
- Organização: ELT73A-S22-2026-2
- Grupo: Grupo-I (slug:
grupo-i) - Repositório: https://github.com/ELT73A-S22-2026-2/lab00-grupo-i
gh auth login
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
1. Clone o repositório do laboratório:
gh repo clone ELT73A-S22-2026-2/lab00-grupo-i
cd lab00-grupo-i
2. Abra no VS Code:
code . --profile "STM32"
3. Fluxo diário de trabalho:
git pull
git add .
git commit -m "Descreva suas alterações"
git push
4. Abrir o repositório no navegador:
gh repo view ELT73A-S22-2026-2/lab00-grupo-i --web
git checkout -b feature/exercicio-1
git add . && git commit -m "Exercício 1" && git push -u origin feature/exercicio-1
gh pr create --title "Exercício 1" --body "Concluído"
- Você pode fazer push apenas no repositório do seu grupo (
lab00-grupo-i). - Não é possível acessar ou alterar os repositórios dos outros grupos.
- Em caso de erro de permissão, verifique com o professor se você está no time correto.
- Organização: ELT73A-S22-2026-2
- Grupo: Grupo-J (slug:
grupo-j) - Repositório: https://github.com/ELT73A-S22-2026-2/lab00-grupo-j
gh auth login
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
1. Clone o repositório do laboratório:
gh repo clone ELT73A-S22-2026-2/lab00-grupo-j
cd lab00-grupo-j
2. Abra no VS Code:
code . --profile "STM32"
3. Fluxo diário de trabalho:
git pull
git add .
git commit -m "Descreva suas alterações"
git push
4. Abrir o repositório no navegador:
gh repo view ELT73A-S22-2026-2/lab00-grupo-j --web
git checkout -b feature/exercicio-1
git add . && git commit -m "Exercício 1" && git push -u origin feature/exercicio-1
gh pr create --title "Exercício 1" --body "Concluído"
- Você pode fazer push apenas no repositório do seu grupo (
lab00-grupo-j). - Não é possível acessar ou alterar os repositórios dos outros grupos.
- Em caso de erro de permissão, verifique com o professor se você está no time correto.
- Organização: ELT73A-S22-2026-2
- Grupo: Grupo-K (slug:
grupo-k) - Repositório: https://github.com/ELT73A-S22-2026-2/lab00-grupo-k
gh auth login
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
1. Clone o repositório do laboratório:
gh repo clone ELT73A-S22-2026-2/lab00-grupo-k
cd lab00-grupo-k
2. Abra no VS Code:
code . --profile "STM32"
3. Fluxo diário de trabalho:
git pull
git add .
git commit -m "Descreva suas alterações"
git push
4. Abrir o repositório no navegador:
gh repo view ELT73A-S22-2026-2/lab00-grupo-k --web
git checkout -b feature/exercicio-1
git add . && git commit -m "Exercício 1" && git push -u origin feature/exercicio-1
gh pr create --title "Exercício 1" --body "Concluído"
- Você pode fazer push apenas no repositório do seu grupo (
lab00-grupo-k). - Não é possível acessar ou alterar os repositórios dos outros grupos.
- Em caso de erro de permissão, verifique com o professor se você está no time correto.
- Organização: ELT73A-S22-2026-2
- Grupo: Grupo-L (slug:
grupo-l) - Repositório: https://github.com/ELT73A-S22-2026-2/lab00-grupo-l
gh auth login
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
1. Clone o repositório do laboratório:
gh repo clone ELT73A-S22-2026-2/lab00-grupo-l
cd lab00-grupo-l
2. Abra no VS Code:
code . --profile "STM32"
3. Fluxo diário de trabalho:
git pull
git add .
git commit -m "Descreva suas alterações"
git push
4. Abrir o repositório no navegador:
gh repo view ELT73A-S22-2026-2/lab00-grupo-l --web
git checkout -b feature/exercicio-1
git add . && git commit -m "Exercício 1" && git push -u origin feature/exercicio-1
gh pr create --title "Exercício 1" --body "Concluído"
- Você pode fazer push apenas no repositório do seu grupo (
lab00-grupo-l). - Não é possível acessar ou alterar os repositórios dos outros grupos.
- Em caso de erro de permissão, verifique com o professor se você está no time correto.
- Organização: ELT73A-S22-2026-2
- Grupo: Grupo-X (slug:
grupo-x) - Repositório: https://github.com/ELT73A-S22-2026-2/lab00-grupo-x
gh auth login
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
1. Clone o repositório do laboratório:
gh repo clone ELT73A-S22-2026-2/lab00-grupo-x
cd lab00-grupo-x
2. Abra no VS Code:
code . --profile "STM32"
3. Fluxo diário de trabalho:
git pull
git add .
git commit -m "Descreva suas alterações"
git push
4. Abrir o repositório no navegador:
gh repo view ELT73A-S22-2026-2/lab00-grupo-x --web
git checkout -b feature/exercicio-1
git add . && git commit -m "Exercício 1" && git push -u origin feature/exercicio-1
gh pr create --title "Exercício 1" --body "Concluído"
- Você pode fazer push apenas no repositório do seu grupo (
lab00-grupo-x). - Não é possível acessar ou alterar os repositórios dos outros grupos.
- Em caso de erro de permissão, verifique com o professor se você está no time correto.
Conteúdo
Apresentação da Disicplina; Materiais utilizados na disciplina;
- Atividades de EaD e Lab;
- Ambiente de desenvolvimento;
- Crie uma organização no GitHub;
- Adicione os membros do seu grupo;
- Promova o professor como owner;
Verifique o seu ambiente de desenvolvimento
- Git SCM
- GitHub CLI
- VS Code
- STM32CubeIDE
- PlatformIO
Git is the most widely used source-code management tool among professional developers.
- Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
winget install --id Git.Git -e --source winget
Configurações do git:
git config --list --show-origin
GitHub CLI brings GitHub to your terminal.
- GitHub CLI is a command line tool that allows you to interact with GitHub from the command line. It is available for Windows, macOS, and Linux.
winget install --id GitHub.cli -e --source winget
Status de login do GitHub CLI:
gh auth status
Visual Studio Code: IDE and Code Editor for Software Development.
- VS Code is a free source-code editor made by Microsoft for Windows, Linux and macOS. It includes support for debugging, embedded Git control, syntax highlighting, intelligent code completion, snippets, and code refactoring.
winget install --id Microsoft.VisualStudioCode -e --source winget
Extensões instaladas do Visual Studio Code para o perfil STM32:
code --list-extensions --profile "STM32"
STM32CubeIDE for Visual Studio Code: development experience for STM32 microcontrollers.
- STM32CubeIDE for Visual Studio Code is designed to enhance the development experience for STM32 microcontrollers by providing a comprehensive and updatable set of tools. The extension pack allow users to install one single pack bringing a full STM32 IDE experience into VS Code.
code --install-extension stmicroelectronics.stm32-vscode-extension --profile "STM32"
PlatformIO IDE for VSCode: Your Gateway to Embedded Software Development Excellence.
- PlatformIO IDE for VSCode Unlock the true potential of embedded software development with PlatformIO’s collaborative ecosystem, embracing declarative principles, test-driven methodologies, and modern toolchains for unrivaled success.
code --install-extension platformio.platformio-ide --profile "STM32IO"
You need to edit the system environment variable called Path and append %USERPROFILE%\.platformio\penv\Scripts\ path in the beginning of the list.
Configure a ferramenta git
Configure o nome de usuário para todos os repositórios locais ligados às suas transações de commit:
git config --global user.name "Your Name"
Configure o email de usuário para todos os repositórios locais ligados às suas transações de commit:
git config --global user.email "you@example.com"
É recomendado verificar se a instalação do seu Git não está realizando nenhuma transformação entre LFs e CRLFs.
git config --global core.autocrlf false
Configure o git para usar o Visual Studio Code como editor padrão para tarefas como escrever mensagens de commit ou rebases interativos
git config --global core.editor "code --wait"
Habilite a coloração automática da saída da linha de comando do Git:
git config --global color.ui auto
Configura o Git para usar main como o nome do branch padrão sempre que você inicializar um novo repositório localmente:
git config --global init.defaultBranch main
Liste as configurações aplicadas:
git config --list --show-origin
Verifique o seu ambiente de desenvolvimento!
Versão do git e configurações:
git --version
git config --list --show-origin
Versão do GitHub CLI e status de login:
gh --version
gh auth status
Versão do Visual Studio Code e extensões instaladas:
code -v
code --list-extensions --profile "STM32"
Clone o repositório do LAB00
Escolha o Grupo e entre com o comando abaixo para criar o repositório no GitHub:
- A
- B
- C
- D
- E
- F
- G
- H
- I
- J
- K
- L
- X
- Grupo S22-A: https://github.com/ELT73A-S22-2026-2-A
- LAB Template: https://github.com/ELT73A-LAB-TPL/LAB00
Use o comando abaixo para criar o repositório no GitHub com base no template do laboratório LAB00:
gh repo create ELT73A-S22-2026-2-A/LAB00 --private -p ELT73A-LAB-TPL/LAB00 -c
Visualize o repositório:
gh repo view ELT73A-S22-2026-2-A/LAB00 --web
Abra o repositório clonado no VS Code:
code LAB00 --profile "STM32"
- Grupo S22-B: https://github.com/ELT73A-S22-2026-2-B
- LAB Template: https://github.com/ELT73A-LAB-TPL/LAB00
Use o comando abaixo para criar o repositório no GitHub com base no template do laboratório LAB00:
gh repo create ELT73A-S22-2026-2-B/LAB00 --private -p ELT73A-LAB-TPL/LAB00 -c
Visualize o repositório:
gh repo view ELT73A-S22-2026-2-B/LAB00 --web
Abra o repositório clonado no VS Code:
code LAB00 --profile "STM32"
- Grupo S22-C: https://github.com/ELT73A-S22-2026-2-C
- LAB Template: https://github.com/ELT73A-LAB-TPL/LAB00
Use o comando abaixo para criar o repositório no GitHub com base no template do laboratório LAB00:
gh repo create ELT73A-S22-2026-2-C/LAB00 --private -p ELT73A-LAB-TPL/LAB00 -c
Visualize o repositório:
gh repo view ELT73A-S22-2026-2-C/LAB00 --web
Abra o repositório clonado no VS Code:
code LAB00 --profile "STM32"
- Grupo S22-D: https://github.com/ELT73A-S22-2026-2-D
- LAB Template: https://github.com/ELT73A-LAB-TPL/LAB00
Use o comando abaixo para criar o repositório no GitHub com base no template do laboratório LAB00:
gh repo create ELT73A-S22-2026-2-D/LAB00 --private -p ELT73A-LAB-TPL/LAB00 -c
Visualize o repositório:
gh repo view ELT73A-S22-2026-2-D/LAB00 --web
Abra o repositório clonado no VS Code:
code LAB00 --profile "STM32"
- Grupo S22-E: https://github.com/ELT73A-S22-2026-2-E
- LAB Template: https://github.com/ELT73A-LAB-TPL/LAB00
Use o comando abaixo para criar o repositório no GitHub com base no template do laboratório LAB00:
gh repo create ELT73A-S22-2026-2-E/LAB00 --private -p ELT73A-LAB-TPL/LAB00 -c
Visualize o repositório:
gh repo view ELT73A-S22-2026-2-E/LAB00 --web
Abra o repositório clonado no VS Code:
code LAB00 --profile "STM32"
- Grupo S22-F: https://github.com/ELT73A-S22-2026-2-F
- LAB Template: https://github.com/ELT73A-LAB-TPL/LAB00
Use o comando abaixo para criar o repositório no GitHub com base no template do laboratório LAB00:
gh repo create ELT73A-S22-2026-2-F/LAB00 --private -p ELT73A-LAB-TPL/LAB00 -c
Visualize o repositório:
gh repo view ELT73A-S22-2026-2-F/LAB00 --web
Abra o repositório clonado no VS Code:
code LAB00 --profile "STM32"
- Grupo S22-G: https://github.com/ELT73A-S22-2026-2-G
- LAB Template: https://github.com/ELT73A-LAB-TPL/LAB00
Use o comando abaixo para criar o repositório no GitHub com base no template do laboratório LAB00:
gh repo create ELT73A-S22-2026-2-G/LAB00 --private -p ELT73A-LAB-TPL/LAB00 -c
Visualize o repositório:
gh repo view ELT73A-S22-2026-2-G/LAB00 --web
Abra o repositório clonado no VS Code:
code LAB00 --profile "STM32"
- Grupo S22-H: https://github.com/ELT73A-S22-2026-2-H
- LAB Template: https://github.com/ELT73A-LAB-TPL/LAB00
Use o comando abaixo para criar o repositório no GitHub com base no template do laboratório LAB00:
gh repo create ELT73A-S22-2026-2-H/LAB00 --private -p ELT73A-LAB-TPL/LAB00 -c
Visualize o repositório:
gh repo view ELT73A-S22-2026-2-H/LAB00 --web
Abra o repositório clonado no VS Code:
code LAB00 --profile "STM32"
- Grupo S22-I: https://github.com/ELT73A-S22-2026-2-I
- LAB Template: https://github.com/ELT73A-LAB-TPL/LAB00
Use o comando abaixo para criar o repositório no GitHub com base no template do laboratório LAB00:
gh repo create ELT73A-S22-2026-2-I/LAB00 --private -p ELT73A-LAB-TPL/LAB00 -c
Visualize o repositório:
gh repo view ELT73A-S22-2026-2-I/LAB00 --web
Abra o repositório clonado no VS Code:
code LAB00 --profile "STM32"
- Grupo S22-J: https://github.com/ELT73A-S22-2026-2-J
- LAB Template: https://github.com/ELT73A-LAB-TPL/LAB00
Use o comando abaixo para criar o repositório no GitHub com base no template do laboratório LAB00:
gh repo create ELT73A-S22-2026-2-J/LAB00 --private -p ELT73A-LAB-TPL/LAB00 -c
Visualize o repositório:
gh repo view ELT73A-S22-2026-2-J/LAB00 --web
Abra o repositório clonado no VS Code:
code LAB00 --profile "STM32"
- Grupo S22-K: https://github.com/ELT73A-S22-2026-2-K
- LAB Template: https://github.com/ELT73A-LAB-TPL/LAB00
Use o comando abaixo para criar o repositório no GitHub com base no template do laboratório LAB00:
gh repo create ELT73A-S22-2026-2-K/LAB00 --private -p ELT73A-LAB-TPL/LAB00 -c
Visualize o repositório:
gh repo view ELT73A-S22-2026-2-K/LAB00 --web
Abra o repositório clonado no VS Code:
code LAB00 --profile "STM32"
- Grupo S22-L: https://github.com/ELT73A-S22-2026-2-L
- LAB Template: https://github.com/ELT73A-LAB-TPL/LAB00
Use o comando abaixo para criar o repositório no GitHub com base no template do laboratório LAB00:
gh repo create ELT73A-S22-2026-2-L/LAB00 --private -p ELT73A-LAB-TPL/LAB00 -c
Visualize o repositório:
gh repo view ELT73A-S22-2026-2-L/LAB00 --web
Abra o repositório clonado no VS Code:
code LAB00 --profile "STM32"
- Grupo S22-X: https://github.com/ELT73A-S22-2026-2-X
- LAB Template: https://github.com/ELT73A-LAB-TPL/LAB00
Use o comando abaixo para criar o repositório no GitHub com base no template do laboratório LAB00:
gh repo create ELT73A-S22-2026-2-X/LAB00 --private -p ELT73A-LAB-TPL/LAB00 -c
Visualize o repositório:
gh repo view ELT73A-S22-2026-2-X/LAB00 --web
Abra o repositório clonado no VS Code:
code LAB00 --profile "STM32"
Como fazer commit da atualizações
Verifique o status do repositório:
git status
Adicione os arquivos modificados:
git add .
Realize o commit das alterações:
git commit -m "Descrição breve das alterações realizadas!"
Envie para o repositório remoto (GitHub):
git push
Vizualize o log de alterações:
git log
Vizualize no GitHub:
gh repo view --web
Uso do git e GitHub
Uso do GitHub CLI
Create a new remote repository in a different organization
gh repo create ELT73A-S22-2026-1-X/LAB00c --public -c -l mit --add-readme -g C
gh repo create ELT73A-S22-2026-1-A/LAB00 --public -p ELT73A-LAB-TPL/LAB00
How to commit updates
cd LAB00
git status
git add .
git commit -m "My message for this commit!"
git push
git log
To implement: Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders.
For more information, see: http://choosealicense.com/licenses/mit/
Instruções
Esta atividade de laboratório tem como objetivo verificar a configuração inicial do ambiente de desenvolvimento. Cada item equivale a 10% da nota.
- Crie um conta no GitHub;
- Crie um repositório chamado LAB00;
- Instale e configure o git localmente;
- Clone o repositório para a sua máquina local;
- Instale o Visual Studio;
- Baixe e execute o arquivo check.bat;
- Commit e push dos arquivos gerados;
- Envie o link do seu perfil;
- Envie o link do repositório no GitHub;
- Envie o link da orgnização no GitHub;
Avaliação
- Crie um conta no GitHub - 10%
- Crie um repositório chamado LAB00 - 10%
- Crie uma organização baseada no nome do grupo - 10%
- Adicione os membros do seu grupo a organização - 10%
- Adicione o professor como membro da organização - 10%
- Detalhes do check.bat; TODO
- Link do seu perfil - 5%
- Link do repositório no GitHub - 5%
- Link da orgnização no GitHub - 5%
Teams
for letter in A B C D E F G H I J X; do
gh api --method POST orgs/ELT85B-N21-2026-2/teams \
-f name="Grupo-$letter" \
-f privacy="closed"
done
LAB00 — VS Code + PlatformIO (ESP32/Arduino) + Wokwi + Git/CI
Objetivo: montar o ambiente, simular no Wokwi, gravar o fluxo de trabalho no GitHub e validar a entrega com CI (Autograde).
Repo do grupo: ELT73A-S22-2026-2/lab00-grupo-<letra>
Stack: VS Code · PlatformIO · ESP32 · framework Arduino · Wokwi · GitHub Actions
0. O que este lab exercita
| Camada | Ferramenta | Você pratica |
|---|---|---|
| Editor / projeto | VS Code + PlatformIO | Abrir, build, monitor |
| Hardware (simulado) | Wokwi | Simular ESP32 sem placa |
| Hardware (opcional) | ESP32 real | Upload + serial |
| Versionamento | Git + GitHub | commit / push |
| Nota automática | Actions (grade.yml) | CI verde na main |
1. Instalação (uma vez)
1.1 Obrigatório
- VS Code
- Extensão PlatformIO IDE (no VS Code: Extensions → “PlatformIO IDE”)
- Git + GitHub CLI
- Conta GitHub no time do seu grupo
gh auth login
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
1.2 Recomendado para simulação
- Extensão Wokwi Simulator no VS Code, ou
- Uso pelo site wokwi.com (com os arquivos do projeto)
1.3 Opcional (placa física)
- Cabo USB dados (não só carga)
- Driver da USB-UART (CP210x / CH340, conforme a placa)
- Placa ESP32 (ex.: DevKit)
2. Abrir o projeto do lab
gh repo clone ELT73A-S22-2026-2/lab00-grupo-a
cd lab00-grupo-a
code .
No VS Code, aceite abrir como projeto PlatformIO (ícone de formiga na barra lateral).
Estrutura esperada (template)
lab00-grupo-a/
├── platformio.ini ← ambiente ESP32 + Arduino
├── src/main.cpp ← setup() / loop()
├── include/
├── lib/
├── test/
├── wokwi/ ← (se o template tiver) diagrama + diagram.json
├── .github/workflows/ ← CI
└── README.md
platformio.ini (referência)
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
Outras boards comuns: esp32-s3-devkitc-1, az-delivery-devkit-v4 — use a do template da disciplina.
3. PlatformIO no VS Code — comandos essenciais
Na barra inferior / sidebar do PlatformIO:
| Ação | Ícone / comando CLI |
|---|---|
| Build | ✓ Build · pio run |
| Upload | → Upload · pio run -t upload |
| Monitor serial | Plug · pio device monitor |
| Clean | pio run -t clean |
| Test | pio test |
No terminal integrado
pio run # compila
pio run -t upload # grava na ESP32
pio device monitor # Serial a 115200
pio run -t upload && pio device monitor
Sair do monitor: Ctrl+C (às vezes Ctrl+])
src/main.cpp mínimo (Arduino)
#include <Arduino.h>
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println("LAB00 - ESP32 ok");
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(500);
digitalWrite(LED_BUILTIN, LOW);
delay(500);
}
Atividade: altere a mensagem do Serial.println para incluir o nome do grupo e faça build.
4. Simulação com Wokwi
Objetivo: validar lógica sem depender da bancada.
Opção A — Extensão Wokwi no VS Code
- Instale Wokwi Simulator
- No projeto, use/crie:
diagram.json— circuito (ESP32, LED, fios)wokwi.toml— liga o firmware do PlatformIO ao simulador (conforme docs do template)
- Comando típico da extensão: Start Simulator
- Abra o monitor serial do Wokwi e veja o mesmo
Serial.println
Opção B — Wokwi no navegador
- Acesse wokwi.com
- Novo projeto → ESP32
- Cole o conteúdo de
src/main.cpp - Monte LED no GPIO do
LED_BUILTIN(ou no GPIO que o template usar) - Start e observe LED + serial
Exemplo mínimo de ideia de diagram.json (LED no GPIO 2)
Muitos DevKit tratam LED embutido no GPIO 2 — confirme no template.
Checklist Wokwi
- Projeto simula e imprime no serial a mensagem do grupo
- LED pisca conforme o
loop() - Você não precisou da placa física para esta parte
5. Placa real (opcional, se houver ESP32)
- Conecte o USB
- Selecione a porta no PlatformIO (ou
pio device list) - Upload + monitor:
pio device list
pio run -t upload
pio device monitor
| Problema | O que tentar |
|---|---|
| Porta não aparece | Cabo, driver, outro USB |
| Upload fail | Segurar BOOT na gravação (algumas placas) |
| Serial sem texto | monitor_speed = 115200 igual ao Serial.begin |
6. Git: salvar o trabalho e entregar
Depois de build ok (e, se possível, Wokwi ok):
git status
git add src/main.cpp README.md
git commit -m "lab00: mensagem serial do grupo + LED"
git push
README — seção mínima:
## Integrantes
- Nome 1
- Nome 2
## Como rodar
- Build: `pio run`
- Simulação: Wokwi (extensão ou site)
- Placa: `pio run -t upload` && `pio device monitor`
7. CI / Autograde (nota automática)
O template traz .github/workflows/grade.yml, que no GitHub roda em geral:
pio run # compila o firmware no runner
Após o push:
gh run list
gh run view
| Resultado | Significado neste lab |
|---|---|
| success | Firmware compila no mesmo tipo de ambiente do curso |
| failure | Erro de build — corrija, commit, push de novo |
O CI não liga Wokwi nem a placa física.
Ele valida: projeto PlatformIO coerente + código que compila.
8. Roteiro da aula (ordem sugerida)
| Tempo | Atividade |
|---|---|
| 10 min | Clone, abrir no VS Code, inspecionar platformio.ini e main.cpp |
| 15 min | pio run — primeiro build |
| 20 min | Wokwi — serial + LED |
| 10 min | (Opcional) upload na ESP32 real |
| 15 min | README, commit, push |
| 10 min | Conferir Actions verde |
9. Critérios de entrega (LAB00)
| Critério | Evidência |
|---|---|
| Ambiente PlatformIO | pio run local ok |
| Código identificado | Serial.printf / println com grupo |
| Documentação | README com integrantes e como rodar |
| Simulação | Descrição ou print: Wokwi funcionando (pedido pelo professor) |
| GitHub | Commits no repo do grupo |
| CI | Último workflow na main = success |
10. Fluxo mental (além do Git)
Editar main.cpp no VS Code
↓
pio run (build local)
↓
Wokwi (simular) e/ou upload na ESP32
↓
git commit + push
↓
GitHub Actions: pio run de novo (nota/CI)
11. Erros comuns (foco PlatformIO / Wokwi / ESP32)
Build
Error: Unknown board ID '...'
→ Ajuste board no platformio.ini para o do template.
'Serial' was not declared
→ Faltou #include <Arduino.h> ou framework não é arduino.
Serial
- Baud do monitor ≠
Serial.begin(115200)→ lixo na tela LED_BUILTINpode não existir em todas as boards → use GPIO numérico (ex.2)
Wokwi
- GPIO do LED no diagrama ≠ GPIO no código → LED “não pisca”
- Simulador não usa o último build → rode build de novo / restarte a simulação
CI vermelho, local verde
- Arquivo não commitado (
git status) - Mudança só local; falta
git push
Push negado
- Repo certo?
lab00-grupo-x, nãolab00-template gh auth status+ membership no time
12. Comandos de bolso
abrir → code .
build → pio run
upload → pio run -t upload
serial → pio device monitor
simular → Wokwi (extensão ou site)
salvar → git add . && git commit -m "msg" && git push
ci → gh run list
13. Branch / release (opcional neste lab)
# branch de experimento
git checkout -b feature/blink-rapido
# ... muda delays, testa no Wokwi ...
git add . && git commit -m "lab00: blink mais rápido"
git push -u origin feature/blink-rapido
gh pr create --title "Blink rápido" --body "Testado no Wokwi"
# após merge + CI verde
git checkout main && git pull
git tag -a v0.1.0 -m "LAB00: entrega ambiente ESP32"
git push origin v0.1.0
gh release create v0.1.0 --title "LAB00 v0.1.0" --generate-notes
14. Para o professor
| Recurso do curso | Como o LAB00 valida |
|---|---|
| Template PlatformIO ESP32 | Clone já vem com ini + main.cpp + workflow |
| Wokwi | Atividade de simulação na aula |
| CI | pio run no Actions |
| Times | Push só no lab00-grupo-x |
Template mínimo: platformio.ini (esp32 + arduino), src/main.cpp (blink + Serial), grade.yml com pio run, README com instruções Wokwi.
Resumo em uma frase
O LAB00 não é só Git: é o ciclo completo — VS Code/PlatformIO → Wokwi (e/ou placa) → commit → CI — base dos labs seguintes de ESP32.