AJUDA

Como gravar o robô, e o que fazer quando não dá certo
Como gravar Windows Linux Mac Não funciona Parte técnica

⇩ Baixar este guia em PDF Para imprimir e deixar na bancada. Sai em preto e branco.

COMO GRAVAR

Se é a sua primeira vez, comece por aqui.

Antes de começar

Três coisas — e nenhuma delas é sobre o robô.

  1. Um cabo USB de dados o tropeço mais comum Muitos cabos de carregador só levam energia. Use um cabo que você já tenha usado para passar fotos do celular para o computador.
  2. Chrome, Edge ou Opera, em um computador Firefox, Safari e celular não funcionam — e não é problema seu, esses navegadores não têm o recurso que conversa com o cabo.
  3. No Windows e no Mac, o driver instalado Um programinha que ensina o computador a conversar com o robô. Instala-se uma vez por computador, e a seção do seu sistema, mais abaixo, explica como. No Linux não precisa.
Não precisa apertar nada no robô. Nem botão, nem chave, nem sequência secreta. É só ligar o cabo.

Gravar um robô, passo a passo

A gravação em si leva menos de um minuto. Só a primeira vez demora mais, por causa do driver.

  1. Abra o gravador no Chrome É a página com o título FIRMWARE EJR-NEXO. Se no lugar do botão de gravar aparecer um aviso de navegador sem suporte, é o navegador errado — volte ao item 2 acima.
  2. Escolha uma senha para a rede do robô No PASSO 1 da tela, preencha Senha da rede do robô: de 8 a 63 caracteres. É o único campo que você precisa preencher. Anote em lugar seguro. Depois de gravada, essa senha não aparece em tela nenhuma do robô — para consultá-la é preciso ligar o cabo outra vez.
  3. Deixe o resto fechado Os blocos Rede do roteador, Nuvem PJE e Motores vêm recolhidos e devem continuar assim. Eles servem a situações específicas; em campeonato, mexer neles atrapalha.
  4. Ligue o robô no computador Com o cabo USB, direto na máquina — sem aqueles adaptadores que multiplicam entradas USB.
  5. Clique em CONECTAR E GRAVAR O navegador abre uma janelinha com a lista de portas. Escolha USB-SERIAL CH340 e confirme. Se essa janelinha não listar nada, pare aqui: o problema é o cabo ou o driver, e a solução está em Quando não funciona.
  6. Espere a barra terminar Não desligue o cabo e não feche a aba enquanto ela estiver andando.
  7. Confira que deu certo Ao terminar, a página aplica a sua configuração sozinha, pelo cabo. Clique em CONSULTAR ROBÔ: aparece um quadro com a versão, o nome e a senha da rede daquele robô, lidos do próprio robô. Se o quadro aparecer, está pronto.
Um robô por vez. Para gravar o próximo, desligue o cabo, ligue no outro e repita. O navegador vai pedir para escolher a porta de novo a cada robô — isso é normal, não é erro.

Depois de gravar

A gravação devolve o robô ao estado de fábrica. Isso é esperado, faz parte:

Cada robô precisa de uma senha diferente. Se todos usarem a mesma, qualquer equipe adversária entra na rede do seu robô e assume o controle no meio da partida.

Perguntas sobre o uso

Preciso apertar algum botão no robô?

Não. É só ligar o cabo. O robô entra sozinho no modo de gravação.

Quanto tempo demora?

Menos de um minuto. Enquanto a barra estiver andando, não desligue o cabo nem feche a aba.

Posso gravar vários robôs seguidos?

Pode. Desligue o cabo de um, ligue no outro e clique em CONECTAR E GRAVAR de novo. A cada robô o navegador pede para escolher a porta outra vez.

Depois de gravar, o robô perdeu as configurações

Isso é esperado, faz parte da gravação. As configurações de roteador e a velocidade voltam ao padrão.

A senha da rede do robô precisa ser definida de novo, na própria página do gravador, logo depois de gravar. Cada robô tem a sua: não existe senha de fábrica igual para todos, justamente para um adversário não conseguir entrar na rede do seu robô.

O robô não anda reto

Dois motores nunca são iguais, então quase todo robô puxa um pouco para um lado. Isso se corrige por software, no bloco Motores desta página — ou pela página /config do próprio robô, que é mais prático porque dá para testar e ajustar sem cabo.

Escolha o lado para onde o robô desvia quando você manda ele andar reto. Não é o motor que você quer mexer: é o que dá para ver de fora. Comece em 30 e suba de 10 em 10 até ele andar reto.

Se precisar passar de 100, provavelmente o problema não é elétrico: confira se uma roda está frouxa, torta ou raspando na estrutura. O teto é 200 porque acima disso o robô gira em vez de andar reto.

A correção é simétrica — um motor ganha o que o outro perde — então o robô não fica mais lento. E ela é própria de cada robô: o gravador não repete a calibração no robô seguinte, de propósito.

Calibre observando o robô indo para a frente. A ré e os giros se acertam sozinhos.

PREPARAR O COMPUTADOR

Uma vez por computador, não a cada robô.
No Linux não é preciso instalar nada.

Cada sistema tem sua própria seção, com uma cor. Siga apenas a do seu computador.

WINDOWS

Instalar o driver

  1. Desligue o cabo do robô antes de instalar o driver. Se a placa estiver ligada durante a instalação, o Windows pode não reconhecê-la corretamente depois.
  2. Baixe o driver. Driver CH341SER — site oficial Baixe só deste endereço. Procurar "driver CH340" no Google leva a sites que entregam instalador cheio de propaganda.
  3. Abra o arquivo baixado. Dentro dele, clique com o botão direito em SETUP.EXE e escolha Executar como administrador.
  4. Clique em INSTALL. Espere a mensagem Driver install success! e feche.
  5. Ligue o robô no computador. Volte para a página do gravador no navegador e clique em CONECTAR E GRAVAR.
Como saber se deu certo: ao clicar em CONECTAR E GRAVAR, a janelinha do navegador mostra uma porta chamada USB-SERIAL CH340. Se ela aparece, está tudo certo.
Se continuar sem aparecer:
  • Desligue o cabo, espere 5 segundos e ligue de novo.
  • Tente outra entrada USB, de preferência atrás do gabinete.
  • Não resolveu? Veja a parte técnica no fim desta página.
LINUX

Liberar o acesso

No Linux não é preciso instalar driver — já vem pronto. Duas coisas costumam atrapalhar, e cada uma se resolve com um comando.

Abra o terminal com Ctrl + Alt + T. Copie o comando exatamente como está e pressione Enter.

  1. Dar permissão ao seu usuário. Sem isso o robô aparece, mas o computador nega o acesso.
    sudo usermod -aG dialout $USER
    Ele vai pedir sua senha — ela não aparece enquanto você digita, é normal. Depois saia da sua conta e entre de novo (fazer logout e login), ou reinicie o computador. Só depois desse relogin a permissão do grupo dialout passa a valer — sem sair e entrar, o robô continua dando “Failed to open serial port” mesmo com o comando já rodado.
  2. Se o robô aparecer e sumir sozinho. Poucos segundos depois de ligar o cabo:
    sudo apt remove brltty
    Depois desligue e ligue o cabo de novo. Só faça isso se ninguém usar leitor de tela braile nesse computador. A explicação está na parte técnica.
MAC

Instalar o driver

  1. Tente primeiro sem instalar nada. Versões recentes do macOS já reconhecem o robô. Ligue o cabo e clique em CONECTAR E GRAVAR. Se a porta aparecer, está pronto.
  2. Não apareceu? Baixe o driver. Driver CH34x para macOS — site oficial
  3. Autorize o driver. O Mac bloqueia programas assim na primeira vez. Vá em Ajustes do Sistema → Privacidade e Segurança, procure o aviso sobre um programa bloqueado e clique em Permitir. Depois reinicie o computador.

QUANDO NÃO FUNCIONA

Quase sempre é o cabo, o driver ou outro programa segurando a porta.

O computador não encontra o robô

Quase sempre é uma destas três coisas. Confira nesta ordem:

  1. O cabo é de dados? causa mais comum Muitos cabos de carregador só levam energia. Troque por um cabo que você já usou para passar fotos do celular para o computador.
  2. O driver está instalado? É um programinha que ensina o computador a conversar com o robô. Windows e Mac precisam instalar uma vez. Linux não precisa.
  3. Outro programa está usando o robô? Só um programa por vez consegue falar com ele. Feche o Arduino IDE, janelas de "monitor serial" e outras abas do gravador.
Importante: um cabo de carregador pode acender o robô normalmente e mesmo assim não transmitir dados. Acender não quer dizer que o cabo está bom.

Perguntas quando dá errado

O botão de gravar não aparece na tela

O gravador só funciona no Chrome, Edge ou Opera, e no computador. No Firefox, no Safari e no celular ele não funciona — e não é problema seu, esses navegadores não têm esse recurso.

Deu erro no meio da gravação. Estraguei o robô?

Não. O robô não fica danificado nem "travado". Ligue o cabo de novo e repita a gravação.

Se der erro sempre no mesmo ponto, troque o cabo e ligue o robô direto no computador, sem aqueles adaptadores que multiplicam entradas USB. Eles costumam não dar energia suficiente e a gravação cai no meio.

Apareceu "Failed to communicate with the flash chip"

Esse aviso vem do gravador quando ele não consegue ler o identificador do chip de memória da placa. Não significa que a gravação falhou — ela costuma completar normalmente logo em seguida.

Como ter certeza: use CONSULTAR ROBÔ. Se o quadro mostrar a versão e a rede, o firmware está gravado e rodando. É a confirmação que importa, não o aviso.

Se o robô não responder, regrave. Persistindo, troque o cabo USB e ligue direto no computador, sem adaptadores. Em último caso, grave pelo PlatformIO, que usa outra ferramenta e costuma passar por esse problema.

O navegador mostra dezenas de portas para escolher

Acontece no Linux, e é normal: o navegador lista todas as /dev/ttyS0 a /dev/ttyS31 do chipset da placa-mãe. Elas existem mesmo sem nada ligado e nunca respondem.

O robô é o CH340. A página filtra pelo identificador USB e ignora as portas nativas, então a escolha costuma ser automática. Se ainda assim errar, use "Porta errada? Escolher outra" no gravador — o seletor passa a mostrar só conversores USB.

Para limpar permissões antigas: Configurações → Privacidade e segurança → Configurações do site → Portas seriais.

O console do navegador enche de mensagens em vermelho

Se você abriu o console (F12), vai ver bastante coisa que não é erro de verdade:

"blocked by the Serial blocklist" — o navegador escondendo portas Bluetooth pareadas no computador. Ele faz isso sozinho, por segurança.

"Improv Wi-Fi Serial not detected" e "Error fetching current state: TIMEOUT" — o gravador procura um protocolo de configuração que este firmware não usa. Ele tenta, não encontra e segue normalmente.

PARTE TÉCNICA

Daqui para baixo é para quem cuida da informática.
Não é preciso ler nada disto para usar o gravador.

WINDOWS

Chip CH340 falsificado

Placas de baixo custo às vezes trazem um CH340 clonado. O Windows Update distribui um driver mais novo (versão 3.8.2023.2, em abril/2023 e de novo em novembro/2024 pelas atualizações KB5046613 e KB5046542) que faz esses clones pararem de funcionar. É a explicação clássica para uma placa que funcionava e parou do nada depois de uma atualização do Windows.

Como identificar:

Como resolver:

  1. Gerenciador de Dispositivos → botão direito no dispositivo → Desinstalar, marcando "Excluir o software de driver deste dispositivo".
  2. Reinicie o computador.
  3. Instale manualmente a versão de 2019 do driver.
  4. Impeça o Windows de reinstalar o driver novo — senão ele volta na próxima atualização e o problema recomeça.
Bloquear a reinstalação (Windows Pro, via Política de Grupo):
Configuração do Computador → Modelos Administrativos → Sistema → Instalação de Dispositivo → Restrições de Instalação de Dispositivo → Impedir a instalação de dispositivos que correspondam a qualquer uma destas IDs.

Existe também uma ferramenta aberta que automatiza o conserto:
FakeCH340DriverFixer — GitHub
LINUX

Detalhes e diagnóstico

O driver ch341 faz parte do kernel desde sempre; não há nada para instalar. Os problemas são de permissão ou de outro processo tomando o dispositivo.

Conferir se o kernel enxergou a placa:

lsusb | grep 1a86        # deve listar 1a86:7523 (QinHeng CH340)
ls -l /dev/ttyUSB*       # deve existir /dev/ttyUSB0
dmesg | tail -20         # mostra o que aconteceu ao ligar o cabo

Aparece no lsusb mas o /dev/ttyUSB0 some:

É o brltty, o serviço de suporte a terminais braile, instalado por padrão no Ubuntu 22.04 e derivados. A regra de udev dele (90-brltty-device.rules) reivindica o mesmo ID USB do CH340, 1a86:7523, e sequestra o dispositivo poucos segundos depois de conectado. Como o lsusb continua mostrando a placa, o diagnóstico engana.

Remover o pacote resolve:

sudo apt remove brltty

Se o braile for necessário na máquina, dá para desativar só a regra conflitante. Copie o arquivo para /etc/, onde a alteração sobrevive a atualizações do sistema, e comente a linha do 1a86:7523:

sudo cp /usr/lib/udev/rules.d/90-brltty-device.rules /etc/udev/rules.d/
sudo nano /etc/udev/rules.d/90-brltty-device.rules   # comente a linha 1a86:7523

sudo udevadm control --reload-rules
sudo udevadm trigger
sudo systemctl restart brltty-udev.service

Permissão negada:

A porta pertence ao grupo dialout. Adicionar o usuário exige nova sessão para valer — newgrp resolve só no terminal atual, e o navegador continuaria sem acesso, então reiniciar é mais confiável.

sudo usermod -aG dialout $USER
id -nG                   # confira se 'dialout' aparece depois de reiniciar

Descobrir quem está segurando a porta:

fuser -v /dev/ttyUSB0

Por que só Chrome, Edge e Opera

O gravador usa a Web Serial API, que permite a uma página falar com a porta serial. Ela existe apenas em navegadores baseados em Chromium, a partir da versão 89. Firefox e Safari não implementam, e não há previsão de implementarem.

O suporte no Chrome para Android entrou em beta em abril de 2026, mas exige cabo OTG e não é confiável o suficiente para uso em sala.

A API também exige contexto seguro: a página precisa estar em HTTPS ou em http://localhost. Abrir o arquivo direto pelo file:// não funciona. É por isso que a página do gravador é servida por um servidor local, e não aberta com dois cliques.