Transformando o Brain Machine em um Pomodoro Timer
Navegando no kickstarter encontrei um produto que me interessou bastante:
Porém, a campanha já havia passado e não era mais possível realizar a compra de um. Mesmo que estivesse ativa, talvez não enviariam para o Brasil.
Isso me fez começar a procurar como ele foi feito para tentar replicar por aqui. Para minha alegria, encontrei um post deles no hackaday com bastante informação, mostrando a montagem, arquivos para impressão 3D e inclusive o código do microcontrolador no GitHub.
A única coisa que faltava era o design da PCB mas, vendo os componentes acima, era bem simples replicar.
Tudo o que eu precisava fazer era ligar um Attiny85 em 5 LEDs, um botão e uma bateria.
Nesse ponto, estava conversando com o Mau Maker e ele teve uma grande sacada: Por quê não hackear a placa do Brain Machine para fazer isso? Ela tem todos esses componentes (e um pouco mais). Com isso, teria uma primeira versão do POD para começar a trabalhar.
Para quem não conhece o projeto, mais infos no link: https://brainmachine.info/
Com o kit na mão, comecei a soldar apenas o que eu precisava para recriar o POD. Os primeiros componentes foram o microcontrolador, botão e bateria:
Enquanto eu preparava os fios, peguei o arquivo original do separador dos LEDs e mandei imprimir na 3D. Tive apenas que fazer um ajuste no diâmetro dos furos para encaixar com os que eu tinha.
A partir daí, foi só conectar cada um dos LEDs em um negativo e um pino livre do microcontrolador.
Agora restava fazer a programação do microcontrolador com o código do pomodoro timer. Para isso, utilizei um arduino como programador.
Existe um ótimo tutorial do próprio Mau no fazedores.com explicando o processo.
Segui todo o processo e fiz o upload do código. Mas não funcionou... O microcontrolador ficou aparentemente reiniciando.
Depois de algum tempo debugando, percebi que os fuses do microcontrolador estavam diferentes do original:
Consegui ajustar eles com o comando:
avrdude -c stk500v1 -p attiny85 -P /dev/cu.usbserial-A703WHJ9 -U lfuse:w:0xE2:m -U hfuse:w:0xD6:m -U efuse:w:0xFF:m -v -b 19200
A pardir daí, meu POD começou a funcionar como deveria: