Flipper Zero - progresso de setembro



Flipper Zero é um projeto de multitool de bolso com fator de forma tamagotchi para hackers que estou desenvolvendo com amigos. Postagens anteriores [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ]



Nesta versão: API do sistema, Kit do desenvolvedor, melhorias em mecânica e eletrônica, atualizações em GPIO, novo recurso em NFC, banco de teste remoto ...



Em setembro, não escrevemos quase nada sobre o projeto, e agora é hora de explicar o porquê. Suspendemos todas as atividades de marketing para focar no desenvolvimento e outras tarefas: contratos de fornecimento e produção, questões legais, contratações e muito mais. Tudo isso consumiu tanta energia que nem tivemos tempo de publicar a atualização. Agora estamos prontos para compartilhar as novidades com você.





API do sistema







Durante este mês, desenvolvemos arquitetura de firmware e APIs de sistema, abstrações para interação com hardware, gerenciamento de threads e multitarefa. Este é um trabalho subjacente que não estamos mostrando, mas é uma parte importante do desenvolvimento.



Nosso principal objetivo no desenvolvimento de firmware é torná-lo o mais amigável e compreensível possível para os desenvolvedores, para que eles possam escrever facilmente seus programas para o Flipper Zero. Então, depois que a campanha terminou, jogamos fora todo o código sujo e começamos a desenvolver a arquitetura do zero.







Durante esse tempo, estivemos trabalhando ativamente nos aspectos internos: escrever um bootloader, refatorar o código do sistema operacional, escrever drivers periféricos, projetar APIs para aplicativos personalizados. A refatoração também afetou o sistema de construção e as dependências, o código da interface do usuário foi redesenhado. As mudanças mais importantes ocorreram em nossa pilha de desenvolvimento: atualizamos o CMSIS RTOS usado para a segunda versão e trouxemos nosso código para usar uma única API. A nova API de aplicativo personalizado deu um grande passo em direção à versão beta e esperamos abri-la publicamente em um futuro próximo.



Melhorias na mecânica e eletrônica





Novos componentes e design do case



O case mudou muito desde o primeiro protótipo. Redesenhamos completamente o layout dos botões e componentes internos para que o Flipper não se desintegre, seja durável e possa suportar um uso pesado.



Mudamos os módulos RFID e NFC para uma placa separada sob a bateria. Ele é conectado à placa-mãe com cabos FPC.



Novo mecanismo de botão de pressão





Novos botões com



molas Adicionadas molas ao joystick para melhor resposta tátil.





Como os testes de mecânica dos botões passam



Bateria substituível







As baterias não removíveis são o flagelo dos dispositivos modernos. Decidimos não usar uma bateria selada e optamos por um conector de três pinos para que os próprios usuários possam substituí-lo. Para maior facilidade de manutenção, planejamos vender componentes individuais do Flipper, incluindo a bateria, diretamente no site.



InfraRed movido para um canto







Após alguns testes, descobrimos que a colocação anterior da porta infravermelha não era muito conveniente: ela estava bloqueada pelo dedo indicador e pelo módulo externo. No final, decidiu-se movê-lo para um canto.



Mais GPIO





Redesenhada a pinagem GPIO. Mais dois contatos GND foram adicionados - nunca há muitos deles.



Novo recurso: Leitor NFC USB







Tarefas que consomem muitos recursos, como ataques criptográficos, não podem ser realizadas diretamente no Flipper. Para alguns, mesmo um Raspberry Pi não é suficiente - você precisa de um poderoso processador de desktop completo. Por exemplo:



  • Ataques ao Mifare clássico: mfoc (aninhado), mfcuk (lado escuro)
  • Ataque em Mifare Plus: Hard Nested




Decidimos adicionar a capacidade de usar o Flipper como um adaptador NFC USB normal junto com a biblioteca LibNFC. Como resultado, todos os programas existentes que funcionam por meio da LibNFC funcionarão imediatamente, sem modificações. Nesse modo, todos os comandos do PC serão enviados por proxy diretamente para o chip ST25R3916 NFC por meio da interface USB.



O principal problema com esta tarefa é que a biblioteca LibNFC está rigidamente pregada aos chips NXP PN5xx, e o novo driver terá essencialmente que emular o comportamento do chip PN53xxx, mas isso não é tão assustador.



Flipper Zero Devkit







Para desenvolvedores que estão trabalhando em firmware e hardware, fizemos um devkit especial. Na verdade, este é um Flipper comum com placas desenroladas em acessórios de plástico, de modo que todos os componentes são facilmente acessíveis de baixo e de cima, e você pode facilmente rastejar com sondas para cada elemento.



Flipper Lab





Nos bastidores do Flipper Lab



Enquanto o código está sendo escrito, ele precisa ser testado constantemente. A tarefa é complicada pelo fato de que os testes devem ser realizados em hardware real e interagir com o mundo real. Para isso, foi feita uma bancada de testes remota, que se integra com scripts de CI através do Fluxo de Trabalho GitHub. A cada confirmação do firmware, ele é automaticamente coletado e despejado no dispositivo, após os quais os testes são realizados, os resultados dos quais são despejados no UART: desta forma você pode entender quais testes foram concluídos com sucesso. Até agora ele funciona de forma incorreta, mas no futuro, é assim que verificaremos todas as funções: receber / enviar rádio, ler / gravar cartões NFC, transmitir / receber sinal IR, etc.



Este é o mesmo kit de desenvolvimento para desenvolvedores. Os botões físicos são conectados por meio de relés, permitindo que sejam controlados remotamente. A imagem da tela é capturada por uma câmera e transmitida no site em tempo real. Pelo web face, você pode carregar manualmente o firmware e apertar os botões, mesmo se o desenvolvedor não tiver um dispositivo em mãos.





O mockup da interface de bancada de teste remoto Flipper Zero



Flipper Lab está atualmente em desenvolvimento alfa, mas mais tarde iremos abri-lo publicamente para que qualquer desenvolvedor possa:



  • Carregue seu próprio firmware ou plug-in para uma amostra ao vivo do Flipper Zero
  • Veja os registros em tempo real e até mesmo envie mensagens UART para o Flipper
  • Aperte todos os botões remotamente
  • Teste periféricos com, por exemplo, cartões RFID físicos e etiquetas iButton




Atualizações ao vivo no Discord







Em nosso servidor Discord, adicionamos um feed de atualizações ao vivo dentro do projeto. Você pode ver como os desenvolvedores estão fazendo em tempo real com o novo canal #updates, onde você pode ver os commits indo para o repositório.



Agora são mais de 6 mil participantes no servidor!



Junte-se ao nosso servidor Discord para:



  • Comunique-se com nossos engenheiros e apoiadores
  • Acompanhe o progresso do desenvolvimento em tempo real com o canal #updates
  • Discuta casos de uso para Flipper Zero
  • Conheça milhares de geeks
  • Obtenha acesso a um canal secreto apenas para apoiadores (entre em contato com @Backers Bot em mensagens privadas para obter a função)




- Olá, procuramos talentos!









Anteriormente, lançamos o Flipper Developer Program e recebemos mais de mil respostas. Convidamos vários desenvolvedores para um repositório semifechado com firmware.



Infelizmente, percebemos que o modelo de gerenciamento horizontal não era adequado para nós, porque a maioria dos desenvolvedores que não trabalham em tempo integral dedica tempo a um projeto apenas quando têm inspiração e desejo. Esse processo é difícil de gerenciar e prever o resultado ao longo do tempo. Portanto, agora só contratamos desenvolvedores em tempo integral. Talvez quando a maior parte do código de baixo nível estiver pronto e abrirmos o repositório, será mais fácil aceitar a entrada da comunidade.



Publicamos todas as vagas abertas aqui: flipperdevices.com/jobs




All Articles