Fly Squirrel Fly - Fly Squirrel Fly 2 - Free Family-friendly Arcade Game! - YouTube
Fly Squirrel Fly 2 - Free Family-friendly Arcade Game! - YouTube

Guia rápido sobre fly squirrel fly

O termo fly squirrel fly apareceu pela primeira vez em fóruns de automation caseira por volta de 2019, como um script aberto para controlar pequenos atuadores via señales PWM. Não é algo revolucionário. Basicamente, você conecta uma placa com MCU barato, carrega o firmware e mapeia movimentos que imitam padrões de roedores escalando superfícies verticais. Funciona para projetos de animatronics básicos, mas tem limitações sérias que ninguém menciona nos tutoriais.

Como baixar e instalar fly squirrel fly

O repositório principal está no GitHub sob o nome do projeto. O link direto para release mais recente costuma ser algo como github.com/flysquirrelfly/fly-squirrel-fly/releases. Você baixa o arquivo .bin, abre com PlatformIO ou Arduino IDE, seleciona a placa ESP32 ou STM32 conforme a documentação e faz o upload. Leva uns 4 minutos no total se a rede estiver estável. Se der erro de checksum, verifique se o cabo USB é de dados e não apenas carregamento. A maioria dos cabos chineses baratos é só carga, e isso quebra a comunicação durante o upload.

Montagem prática

A parte mais chata é o hardware. Você precisa de quatro microservos MG90S, uma placa de driver L298N ou melhor ainda um TB6612 por ser mais eficiente, e fontes separadas para lógica e motores. Juntei tudo numa protoboard na primeira versão e o ruído na alimentação fazia o ESP resetar aleatoriamente. A solução foi colocar um capacitador de 100uF entre VCC e GND perto do regulador e alimentar os servos diretamente da fonte externa, sem passar pelo regulador da placa. Depois disso, estabilidade total. Os servoconnects vão nos pinos GPIO 12, 13, 14 e 15 no ESP32. Se usar outro MCU, consulte o map de pins no README. Tem um issue aberto há meses sobre pinos conflitantes com a biblioteca WiFi, então se for usar rede enquanto o script roda, mude os pinos para 25, 26, 27, 32 e desative BLE no código.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Configuração do firmware

Dentro da pasta config, você acha o arquivo movements.json. Lá estão os padrões pré-programados: climb, hover, dart, retreat. Cada um tem duração em milissegundos, ângulo de servo e intervalo entre repetições. Eu modifiquei o padrão climb aumentando o delay entre etapas de 200ms para 350ms porque o servo mais barato que eu tinha travava no movimento rápido. Não é bonito, mas funciona. O firmware também aceita comandos serial. Você pode abrir o monitor serial em 115200 baud e enviar letras de controle. C para climb, H para hover, D para dart. O problema é que o buffer é pequeno, então se você enviar comandos muito rápidos, alguns são perdidos. Eu resolvi colocando um debounce de 150ms no código antes de aceitar o próximo comando. Fique à vontade para ajustar esse valor dependendo da latência do seu setup.

Pegadinhas que eu aprendi na marra

A primeira coisa que quebra é o alinhamento mecânico. Os servos precisam estar perfeitamente alinhados com os braços de alumínio que vêm no kit. Se um estiver fora de eixo, o motor gasta corrente extra e esquenta. Em menos de 10 minutos de uso contínuo, o TB6612 atinge 65 graus. Já tive um que derreteu o plástico do suporte por perto. Use dissipadores ou ventoinha se for rodar mais de 15 minutos seguidos. A segunda é a questão do peso. O design original prevê um peso total de 80 gramas. Eu usei componentes de reposição que somaram 110 gramas e o script simplesmente não conseguia manter o padrão hover. O MCU entrava em throttling por sobrecarga de CPU tentando compensar. Reduzir o peso voltou tudo à normalidade. Se você adicionar sensores extras como MPU6050, considere usar um segundo MCU apenas para leitura de IMU e comunicação via I2C, mantendo o principal livre para o controle dos servos.

Quando fly squirrel fly não funciona

Este projeto não é para superfícies lisas ou molhadas. Os patins de silicone fornecidos têm aderência razoável em madeira e plásticos texturizados, mas em vidro ou aço escovado o animal desliza depois de dois ou três movimentos. Se o seu objetivo é testar em vidro, a única solução viável é fabricar ventosas personalizadas com silicone de cura lenta, o que adiciona cerca de 30 gramas ao peso total e traz o problema de throttling de volta. Também não espere precisão milimétrica. A tolerância dos servos econômicos varia de 3 a 5 graus entre unidades. Se você precisa de repetibilidade para algum tipo de experimento científico, considere investir em servos com encoders internos. Custam cerca de quatro vezes mais, mas resolvem o problema de drift acumulativo que aparece depois de algumas dezenas de ciclos.

Para quem quer algo mais robusto e integrado, existe o projeto Arachnoid Control que usa controle PID em tempo real com feedback de corrente nos motores. É mais complexo de montar e o custo sobe para algo em torno de 180 reais em componentes, mas elimina a maior parte dos problemas descritos acima.