Estamos abrindo o código Resident, nossa biblioteca para executar código de autoria de IA em microcontroladores – sem etapa de compilação e sem atualização de firmware.
É a nossa versão do firmware de codificação vibe, desenvolvido para carregar instantaneamente novas funcionalidades do dispositivo codificadas pelos usuários finais. Destina-se a desenvolvedores de dispositivos, como nós. Usamos Resident em todos os nossos trabalhos.
(Nós = Inanimados.)
Resident oferece uma sandbox de código em dispositivos ESP32 e uma API de driver para fornecer controle de hardware e eventos. Assim, um usuário final pode enviar um aplicativo por Wi-Fi que transforma instantaneamente seu relógio em um cronômetro de pílula interativo (por exemplo), mas o aplicativo não pode executar sondagens na rede Wi-Fi doméstica.
Ele vem com um conjunto de habilidades de Claude. Contei a Claude sobre os recursos de um kit de desenvolvimento compatível e pedi que ele enviasse um aplicativo simples. Aqui está:

Na Inanimate, acreditamos que sandboxes no dispositivo são uma primitiva essencial de baixo nível para agentes de IA no mundo real.
O anúncio acabou no Lab Notes, mas quero reservar um momento para conectar isso a alguns temas anteriores…
Olha, quero trazer software para o meu quarto.
Tipo: se estou trabalhando com Claude Code e me afasto do teclado, ele deve ser capaz de me fornecer atualizações sobre o que está fazendo, assumindo o controle do meu relógio de mesa e fazendo ping de suas solicitações de permissão para o dispositivo de goma que tenho no bolso para eu aceitar/recusar enquanto estou fazendo chá. Solte-me da minha mesa! (aliás, eu construí isso, foi incrível.)
Ou – mais prosaicamente – por que não posso gritar com meu fogão quando saio de casa pela manhã? ah, esqueci que estou assando um frango que precisa estar pronto para as 19h e faça com que ele procure os tempos e me envie uma notificação quando estiver pré-aquecendo e mostre um aplicativo de temporizador de alinhavo personalizado em seu display LED de 14 segundos.
Por que não posso apontar para uma lâmpada e dizer ‘aceso’ e a luz acende?
– Eu estava perguntando em 2020.
Portanto, metade da solução aqui é IA: os LLMs são muito bons em traduzir intenção em ação. Eu uso uma linguagem normal e o computador fará o que eu quero dizer (2025).
Mas a outra metade é um problema: como é que isto realmente funciona? Onde o software é executado?
Todo dispositivo precisa ser capaz de executar código de usuário, essa é a resposta.
Venho refletindo sobre isso desde 2023, quando coloquei um LLM no comando de uma casa inteligente (usando tecnologia que agora chamamos de agentes, mas foi minha implementação do padrão ReAct de um artigo de Princeton e Google Research).
Resumindo, digamos que você aperte um botão no relógio de sua mesa e seu agente de IA tenha que decidir na hora o que fazer com isso. Não vai funcionar, é muito lento. Cognitivamente, uma interface tem que responder dentro de 150 ms ou não será mais instantânea – mas a IA está a um salto de rede de distância.
Ok, então vamos remover o salto da rede. Vamos fingir que temos IA de ponta: uma IA equivalente a GPT-4 como um componente em todas as coisas físicas; inteligência onipresente está chegando e um interruptor de luz no nível de Feynmann poderia adivinhar muito bem suas intenções,
esse foi o meu palpite em 2023.
Não é uma extrapolação escandalosa! Taalas está transformando LLMs em silício e entrega 17 mil tokens por segundo por usuário no Llama 3.1 8B
(experimente aqui, por exemplo, 4.000 palavras sobre Hamlet como uma ópera espacial, é incrível, é tão instantâneo). Portanto, GPT-4-equiv é uma questão de tempo.
Até com essa velocidade, verifica-se que a inferência não é suficiente. Para Faça o que eu quero dizer, você ainda precisa importar o contexto do usuário para personalização e fundamentação. Mas a memória, o Gmail, a Wikipedia e o resto ainda estão principalmente na nuvem. Essa rede salta novamente.
Portanto, a IA não pode estar dentro do loop de eventos, não se você quiser interações realmente excelentes no dispositivo.
Em vez disso – deixe a IA escrever o código do dispositivo. Essa é a abordagem que encontramos.
Veja aquele exemplo de brinquedo de temporizador para regar frango assado no visor do meu fogão. Meu agente de IA deve ser capaz de escrever código dinamicamente para esse aplicativo interativo e executar o código desse aplicativo no próprio fogão.
Não estou dizendo que a IA precisa codificar o firmware.
Firmware é o código executado em microcontroladores de dispositivos: você o cria, compila e atualiza e, a partir desse ponto, ele nunca mais muda. Agentes de IA pode firmware vibe (muito felizmente). Mas não tenho certeza se quero carregar código em meu fogão que tenha controle ilimitado sobre o elemento de aquecimento e a pilha de rede e quaisquer outros recursos de baixo nível gerenciados pelo próprio firmware. Já tivemos geladeiras inteligentes enviando e-mails de spam (BBC News, 2014), não mais, obrigado.
Em vez de firmware, a IA pode executar código em caixas de areia.
A Cloudflare defendeu os sandboxes em março deste ano, quando introduziu trabalhadores dinâmicos:
Em setembro passado, introduzimos o Code Mode, a ideia de que os agentes devem executar tarefas não fazendo chamadas de ferramentas, mas escrevendo código …
Você não pode simplesmente eval() Código gerado por IA diretamente em seu aplicativo: um usuário mal-intencionado pode solicitar trivialmente à IA que injete vulnerabilidades.
Você precisa de uma sandbox: um local para executar código isolado de seu aplicativo e do resto do mundo, exceto pelos recursos específicos que o código deve acessar.
Sandboxing é um tema quente na indústria de IA…
Nós nos perguntamos:
E se, quando permitirmos que um agente de IA abra os braços e estique as pernas em uma sala, ele possa habitar dispositivos escrevendo código que é executado em uma sandbox no dispositivo, uma sandbox que dá acesso a botões e telas, mas não à pilha de rede, e o código do aplicativo pudesse ser carregado e executado instantaneamente?
Esse é o residente. Ele fornece uma sandbox de código para dispositivos ESP32 e um conjunto de ferramentas para agentes de IA escreverem aplicativos direcionados a essa sandbox.
Na Inanimate, usamos Resident para toda a prototipagem de nossos produtos.
E estará no centro dos nossos futuros produtos.
Veja, pode parecer totalmente desproporcional escrever um código para acender uma lâmpada.
Mas para que servem os computadores? Eles fazem o trabalho duro para tornar tudo mais fácil para nós. Portanto, essa abordagem se adapta bem ao controle liga/desliga básico até… bem, acontece que, agora que temos essa sandbox, podemos compor todos os tipos de experiências úteis que ocupam uma sala inteira – e também experiências interativas estranhas e maravilhosas que ainda funcionam quando você puxa o cabo de rede.
(Um aplicativo chega pela rede, mas a rede não é mais necessária. Resident é construído em nossa biblioteca de mensagens Courier, que inclui multicast UDP para mensagens locais entre dispositivos, mesmo quando a conectividade com a Internet cai.)
Estamos abrindo o Resident hoje como um alfa (v0.5.0) e abrindo o código-fonte sob a licença altamente permissiva do MIT. Basta incluir nosso aviso de direitos autorais com quaisquer modificações.
Tecnicamente, estamos adicionando um tempo de execução Lua ao seu dispositivo ESP32. (Lua é uma linguagem projetada para ser incorporada.)
Adoramos a família de microcontroladores ESP32 da Espressif porque ela tem uma abrangência única no ecossistema: é usada por fabricantes individuais, novas startups de hardware e na produção em escala real. Ele possui Wi-Fi integrado e também suporta sua estrutura nativa esp-idf e Arduino, o que é ótimo para prototipagem rápida.
Resident fornece uma API para adicionar extensões ao tempo de execução Lua: drivers de hardware. Esses recursos gerenciados são o que o torna uma sandbox. Assim, os aplicativos na sandbox podem responder a eventos injetados pelo driver do botão e podem gravar na tela por meio de um módulo adicionado pelo driver da tela.
Os aplicativos podem ser carregados a quente em tempo de execução. Da maneira como o conectamos, você envia o código do aplicativo por um websocket para o dispositivo e ele é executado imediatamente na sandbox.
Adicionar Resident é simples durante o desenvolvimento: abra seu novo dispositivo normalmente e aponte seu agente de codificação para docs/start-building.md. Ele orientará você na adição do sandbox e na gravação dos drivers.
Residente vem com:
- Conectividade: websockets, mensagens JSON e configuração fácil de Wi-Fi
- Um servidor back-end padrão em
resident.inanimate.tech para que você possa enviar facilmente novos aplicativos e eventos – use o código de exemplo para criar seu próprio back-end quando estiver pronto
- Uma coleção de habilidades de Claude para criar, validar e enviar novos aplicativos para seus dispositivos (e até mesmo escrever documentação do dispositivo)
- Projetos de exemplo.
Quer experimentar o Resident agora?
Antes de desenvolver seu novo dispositivo, compre um M5StickS3. Estes são feitos pela M5, falei deles quando anunciamos o Courier.
O M5Stick é um kit de desenvolvimento que possui um ESP32 com tela, bateria, alguns botões, campainha e IMU. Você pode trazer isso à tona usando o Arduino de forma bastante simples. Em seguida, adicione Resident e comece a escrever aplicativos. Temos um projeto de exemplo.
Quer ir ainda mais rápido?
Você nem precisa de hardware…
A seção Experimente agora da página inicial do Resident tem um simulador M5Stick, executando o sandbox Resident no navegador.
Arraste e solte um aplicativo no simulador para vê-lo rodar.
Ou ainda: instale as habilidades do Claude, toque no botão na página da web para ativar o simulador e crie aplicativos a partir da sua sessão local do Claude Code. O simulador no navegador será atualizado ao vivo e executará seu aplicativo.

Ei, alerta de referência de corte profundo:
Em 2021, mergulhei arquivos: Golems, objetos inteligentes e a metáfora do arquivo.
O que significaria arrastar e soltar um arquivo em uma lâmpada? Perguntei. Será que quero dizer literalmente que a lâmpada precisa de uma pequena fenda como a boca do golem, na qual você insere as instruções carimbadas na microficha?
Essa é minha resposta haha
Residente é o que temos usado para prototipar produtos e casos de uso na Inanimate.
Acreditamos que um dia todos os produtos funcionarão desta forma.
Para mais informações, o GitHub, e para experimentar agora: Residente.
Para atualizações: assine Lab Notes.
Estamos abrindo o código Resident, nossa biblioteca para executar código de autoria de IA em microcontroladores – sem etapa de compilação e sem atualização de firmware.
É a nossa versão do firmware de codificação vibe, desenvolvido para carregar instantaneamente novas funcionalidades do dispositivo codificadas pelos usuários finais. Destina-se a desenvolvedores de dispositivos, como nós. Usamos Resident em todos os nossos trabalhos.
(Nós = Inanimados.)
Resident oferece uma sandbox de código em dispositivos ESP32 e uma API de driver para fornecer controle de hardware e eventos. Assim, um usuário final pode enviar um aplicativo por Wi-Fi que transforma instantaneamente seu relógio em um cronômetro de pílula interativo (por exemplo), mas o aplicativo não pode executar sondagens na rede Wi-Fi doméstica.
Ele vem com um conjunto de habilidades de Claude. Contei a Claude sobre os recursos de um kit de desenvolvimento compatível e pedi que ele enviasse um aplicativo simples. Aqui está:
Na Inanimate, acreditamos que sandboxes no dispositivo são uma primitiva essencial de baixo nível para agentes de IA no mundo real.
O anúncio acabou no Lab Notes, mas quero reservar um momento para conectar isso a alguns temas anteriores…
Olha, quero trazer software para o meu quarto.
Tipo: se estou trabalhando com Claude Code e me afasto do teclado, ele deve ser capaz de me fornecer atualizações sobre o que está fazendo, assumindo o controle do meu relógio de mesa e fazendo ping de suas solicitações de permissão para o dispositivo de goma que tenho no bolso para eu aceitar/recusar enquanto estou fazendo chá. Solte-me da minha mesa! (aliás, eu construí isso, foi incrível.)
Ou – mais prosaicamente – por que não posso gritar com meu fogão quando saio de casa pela manhã? ah, esqueci que estou assando um frango que precisa estar pronto para as 19h e faça com que ele procure os tempos e me envie uma notificação quando estiver pré-aquecendo e mostre um aplicativo de temporizador de alinhavo personalizado em seu display LED de 14 segundos.
– Eu estava perguntando em 2020.
Portanto, metade da solução aqui é IA: os LLMs são muito bons em traduzir intenção em ação. Eu uso uma linguagem normal e o computador fará o que eu quero dizer (2025).
Mas a outra metade é um problema: como é que isto realmente funciona? Onde o software é executado?
Todo dispositivo precisa ser capaz de executar código de usuário, essa é a resposta.
Venho refletindo sobre isso desde 2023, quando coloquei um LLM no comando de uma casa inteligente (usando tecnologia que agora chamamos de agentes, mas foi minha implementação do padrão ReAct de um artigo de Princeton e Google Research).
Resumindo, digamos que você aperte um botão no relógio de sua mesa e seu agente de IA tenha que decidir na hora o que fazer com isso. Não vai funcionar, é muito lento. Cognitivamente, uma interface tem que responder dentro de 150 ms ou não será mais instantânea – mas a IA está a um salto de rede de distância.
Ok, então vamos remover o salto da rede. Vamos fingir que temos IA de ponta: uma IA equivalente a GPT-4 como um componente em todas as coisas físicas; inteligência onipresente está chegando e esse foi o meu palpite em 2023.
Não é uma extrapolação escandalosa! Taalas está transformando LLMs em silício e entrega (experimente aqui, por exemplo, 4.000 palavras sobre Hamlet como uma ópera espacial, é incrível, é tão instantâneo). Portanto, GPT-4-equiv é uma questão de tempo.
Até com essa velocidade, verifica-se que a inferência não é suficiente. Para Faça o que eu quero dizer, você ainda precisa importar o contexto do usuário para personalização e fundamentação. Mas a memória, o Gmail, a Wikipedia e o resto ainda estão principalmente na nuvem. Essa rede salta novamente.
Portanto, a IA não pode estar dentro do loop de eventos, não se você quiser interações realmente excelentes no dispositivo.
Em vez disso – deixe a IA escrever o código do dispositivo. Essa é a abordagem que encontramos.
Veja aquele exemplo de brinquedo de temporizador para regar frango assado no visor do meu fogão. Meu agente de IA deve ser capaz de escrever código dinamicamente para esse aplicativo interativo e executar o código desse aplicativo no próprio fogão.
Não estou dizendo que a IA precisa codificar o firmware.
Firmware é o código executado em microcontroladores de dispositivos: você o cria, compila e atualiza e, a partir desse ponto, ele nunca mais muda. Agentes de IA pode firmware vibe (muito felizmente). Mas não tenho certeza se quero carregar código em meu fogão que tenha controle ilimitado sobre o elemento de aquecimento e a pilha de rede e quaisquer outros recursos de baixo nível gerenciados pelo próprio firmware. Já tivemos geladeiras inteligentes enviando e-mails de spam (BBC News, 2014), não mais, obrigado.
Em vez de firmware, a IA pode executar código em caixas de areia.
A Cloudflare defendeu os sandboxes em março deste ano, quando introduziu trabalhadores dinâmicos:
Nós nos perguntamos:
E se, quando permitirmos que um agente de IA abra os braços e estique as pernas em uma sala, ele possa habitar dispositivos escrevendo código que é executado em uma sandbox no dispositivo, uma sandbox que dá acesso a botões e telas, mas não à pilha de rede, e o código do aplicativo pudesse ser carregado e executado instantaneamente?
Esse é o residente. Ele fornece uma sandbox de código para dispositivos ESP32 e um conjunto de ferramentas para agentes de IA escreverem aplicativos direcionados a essa sandbox.
Na Inanimate, usamos Resident para toda a prototipagem de nossos produtos.
E estará no centro dos nossos futuros produtos.
Veja, pode parecer totalmente desproporcional escrever um código para acender uma lâmpada.
Mas para que servem os computadores? Eles fazem o trabalho duro para tornar tudo mais fácil para nós. Portanto, essa abordagem se adapta bem ao controle liga/desliga básico até… bem, acontece que, agora que temos essa sandbox, podemos compor todos os tipos de experiências úteis que ocupam uma sala inteira – e também experiências interativas estranhas e maravilhosas que ainda funcionam quando você puxa o cabo de rede.
(Um aplicativo chega pela rede, mas a rede não é mais necessária. Resident é construído em nossa biblioteca de mensagens Courier, que inclui multicast UDP para mensagens locais entre dispositivos, mesmo quando a conectividade com a Internet cai.)
Estamos abrindo o Resident hoje como um alfa (v0.5.0) e abrindo o código-fonte sob a licença altamente permissiva do MIT. Basta incluir nosso aviso de direitos autorais com quaisquer modificações.
Tecnicamente, estamos adicionando um tempo de execução Lua ao seu dispositivo ESP32. (Lua é uma linguagem projetada para ser incorporada.)
Adoramos a família de microcontroladores ESP32 da Espressif porque ela tem uma abrangência única no ecossistema: é usada por fabricantes individuais, novas startups de hardware e na produção em escala real. Ele possui Wi-Fi integrado e também suporta sua estrutura nativa esp-idf e Arduino, o que é ótimo para prototipagem rápida.
Resident fornece uma API para adicionar extensões ao tempo de execução Lua: drivers de hardware. Esses recursos gerenciados são o que o torna uma sandbox. Assim, os aplicativos na sandbox podem responder a eventos injetados pelo driver do botão e podem gravar na tela por meio de um módulo adicionado pelo driver da tela.
Os aplicativos podem ser carregados a quente em tempo de execução. Da maneira como o conectamos, você envia o código do aplicativo por um websocket para o dispositivo e ele é executado imediatamente na sandbox.
Adicionar Resident é simples durante o desenvolvimento: abra seu novo dispositivo normalmente e aponte seu agente de codificação para
docs/start-building.md. Ele orientará você na adição do sandbox e na gravação dos drivers.Residente vem com:
resident.inanimate.techpara que você possa enviar facilmente novos aplicativos e eventos – use o código de exemplo para criar seu próprio back-end quando estiver prontoQuer experimentar o Resident agora?
Antes de desenvolver seu novo dispositivo, compre um M5StickS3. Estes são feitos pela M5, falei deles quando anunciamos o Courier.
O M5Stick é um kit de desenvolvimento que possui um ESP32 com tela, bateria, alguns botões, campainha e IMU. Você pode trazer isso à tona usando o Arduino de forma bastante simples. Em seguida, adicione Resident e comece a escrever aplicativos. Temos um projeto de exemplo.
Quer ir ainda mais rápido?
Você nem precisa de hardware…
A seção Experimente agora da página inicial do Resident tem um simulador M5Stick, executando o sandbox Resident no navegador.
Arraste e solte um aplicativo no simulador para vê-lo rodar.
Ou ainda: instale as habilidades do Claude, toque no botão na página da web para ativar o simulador e crie aplicativos a partir da sua sessão local do Claude Code. O simulador no navegador será atualizado ao vivo e executará seu aplicativo.
Ei, alerta de referência de corte profundo:
Em 2021, mergulhei arquivos: Golems, objetos inteligentes e a metáfora do arquivo.
O que significaria arrastar e soltar um arquivo em uma lâmpada? Perguntei.
Essa é minha resposta haha
Residente é o que temos usado para prototipar produtos e casos de uso na Inanimate.
Acreditamos que um dia todos os produtos funcionarão desta forma.
Para mais informações, o GitHub, e para experimentar agora: Residente.
Para atualizações: assine Lab Notes.