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 ]
Durante as primeiras 24 horas da campanha Kickstarter, arrecadamos US $ 1 milhão. Francamente, nenhum membro da equipe chegou perto de esperar tamanha popularidade. No início, meu telefone foi arrancado de notificações, chamadas foram feitas da revista Forbes para o Channel One. Ainda não me recuperei totalmente do choque e não respondi totalmente a todas as cartas. Nunca experimentei nada assim na minha vida.
Muito obrigado a todos que nos apoiaram, acompanharam o projeto e participaram. Foi no Habré que publiquei o primeiro post com os conceitos do Flipper, recebi os primeiros feedbacks, críticas e elogios. Adicionamos algumas funções ao Flipper após o feedback sobre Habré. Tentaremos não atrapalhar a produção e atender às expectativas.
Agora estou totalmente convencido de que a máxima abertura e honestidade é a melhor estratégia. Toda a nossa equipe acredita no código aberto e acreditamos que os entusiastas podem criar projetos interessantes sem atrair investidores e supervisão corporativa. Portanto, convido todos os interessados no projeto a participarem do desenvolvimento.
Abaixo do recorte está uma descrição do programa para desenvolvedores de firmware, hardware, programas de desktop e módulos de hardware.
Quem está trabalhando no projeto?
O projeto consiste em várias peças de grande porte, cada uma delas com sua própria equipe. Às vezes, as equipes precisam coordenar seu trabalho, por exemplo, quando mecânicos e trabalhadores de hardware estão tentando chegar a um acordo sobre como mover um componente na placa de modo que não interfira no movimento do botão. Aqui estão os comandos básicos:
- Firmware - todo o desenvolvimento de software de firmware, incluindo módulos de software para cada componente: rádio, RFID, Bluetooth, infravermelho, U2F, pilha USB, etc.
- A Engenharia Eletrônica (EE) é uma equipe que desenvolve hardware, ou seja, toda a parte eletrônica: placas, antenas, alimentação.
- Mechanical Engineering (ME) — , . , , : , , , , ..
- Manufacturing — , , ME Hardware . , , . SMT-, , -, , . , .
No momento, temos um dispositivo ~ 80% completo em termos de ferro e mecânica. Mas a maior parte do desenvolvimento do Flipper é o firmware. Agora temos um protótipo funcional, arquitetura e componentes básicos de firmware para crescermos.
Neste estágio, é muito importante abordar corretamente a unificação de todos os componentes para manter a legibilidade do código e um estilo único e compreensível, de forma que seja fácil para desenvolvedores ao redor do mundo desenvolverem para nossa plataforma. Acreditamos que esta tarefa será de interesse da comunidade e convidamos você a contribuir com o processo de criação do Flipper, assim como era nos estágios iniciais.
Como participar do desenvolvimento do firmware?

Todo o firmware do Flipper Zero será totalmente open source e publicado no Github. Por enquanto, decidimos não abrir nossos repositórios de código para adiar um pouco o momento do aparecimento de falsificações no Aliexpress. Ao mesmo tempo, estamos bem cientes de que, após tal sucesso no kickstarter, certamente aparecerão falsificações e, em geral, não estamos particularmente preocupados com isso. Vamos apenas adiar um pouco este momento, talvez isso force os chineses a escrever algum código novo em vez de usar o nosso imediatamente. Portanto, agora todo o desenvolvimento é feito em um repositório fechado, onde adicionamos as pessoas após preencherem o formulário e assinarem o Contrato de Desenvolvedor (CLA). No contrato, pedimos que você não distribua o código sem nosso consentimento explícito, e também informamos que poderemos descartar seu código, mas certifique-se de manter sua autoria.
, . , .
Atualmente usado HAL / LL de STM e FreeRTOS. A maior parte do trabalho com periféricos foi gerado pelo CubeMX, mas em alguns lugares difíceis tive que descartar as funções padrão e trabalhar diretamente com os registradores.
Agora que estamos no estágio em que é fácil mudar a pilha de tecnologia, nosso programador-chefe está pensando há uma semana se deveria mudar para RIOT OS, ChibiOS, NuttX e Zephyr para acelerar e simplificar o desenvolvimento. Também estamos considerando reescrever tudo no Rust e usar o SO integrado e o Tock. Em geral, agora estamos prontos para grandes mudanças em prol de um futuro mais brilhante.
A montagem do código ocorre por meio de make e gcc, mas em breve precisaremos adicionar a capacidade de coletar nosso código no IDE do Arduino e no PlatformIO.
Arquitetura de firmware:

Quem estamos procurando?
Os componentes principais do Flipper são escritos em C, C ++ e Rust, portanto, o conhecimento dessas linguagens será útil para o desenvolvimento. Também será ótimo se você já trabalhou com microcontroladores e sabe como depurar eletrônicos, mas tentamos separar o hardware do código com uma camada de abstrações, de forma que muitos componentes, como a interface gráfica ou comportamento de golfinho, não precisem trabalhar com hardware. Também precisamos de designers de interface (colocar uma IU informativa em uma tela de 128 × 64 não é uma tarefa fácil), devops e testadores (se você estiver pronto para testar eletrônicos e lidar com a configuração de suportes para depuração e teste remotos).
Mais importante ainda, você deve estar disposto a contribuir para o desenvolvimento. Para participar do projeto, preencha o formulário... Trate o preenchimento do formulário com muito cuidado, esta é a única maneira conveniente de entendermos seu profissionalismo: escreva sobre sua experiência de desenvolvimento, indique apenas aqueles componentes do Flipper que você realmente tem interesse em desenvolver. Será ótimo se você já tiver ideias para implementar - certifique-se de escrever sobre elas no formulário.

Analisaremos cuidadosamente todas as inscrições e entraremos em contato com aqueles com experiência relevante. Em seguida, diremos como podemos trabalhar no projeto juntos, adicioná-lo ao Github, dar-lhe instruções, fornecer toda a documentação necessária e apresentá-lo ao projeto. Ao mesmo tempo, as condições de cooperação podem ser muito diferentes: desde o trabalho em tempo integral dentro da nossa equipe até o voluntariado como hobby.
Dev Kit para metalúrgicos
Para os desenvolvedores que se atrevem a participar do desenvolvimento do iron, ou seja, testar a parte física do módulo de rádio, depurar NFC / RFID, desenvolver antenas, etc. nós fornecemos um kit especial de desenvolvimento. Será uma versão do Flipper sem carcaça em um equipamento especial para fácil conexão com ferramentas de depuração.

Esse conjunto será difícil de usar para qualquer coisa que não seja o desenvolvimento na mesa e provavelmente conterá bugs. Portanto, você não precisa se bajular e pensar que assim conseguirá pegar seu Flipper antes dos demais.
Desenvolvedores de módulo
De acordo com a nossa ideia, as funções do Flipper podem ser estendidas usando módulos de hardware. Agora não temos recursos para desenvolver módulos, portanto, estamos prontos para delegar totalmente essa tarefa à comunidade. Pode ser absolutamente qualquer módulo, por exemplo CAN Bus, sensor Hall, analisador lógico, sensores ambientais, sensor de ruído, modem, LoraWAN, IMU, transmissor FM e um monte de opções possíveis para as quais há apenas imaginação suficiente.
Se você é uma grande empresa comercial ou um modesto entusiasta do DIY e tem uma ideia para um módulo de ferro para Flipper, estamos prontos para lhe fornecer todos os modelos 3D e documentação necessários para o desenvolvimento de módulos e ajudar ativamente de nossa parte. Apoiaremos os
primeiros 10 módulos prontos com nosso recurso de mídiaem nossos sites e em todos os materiais promocionais da Flipper. Portanto, todos que conhecem o Flipper também saberão sobre seus módulos. Para participar do desenvolvimento dos módulos, preencha este formulário.

A maior parte da nossa equipe fala russo, então será mais fácil para nós trabalharmos com pessoas que falam russo. No entanto, todas as questões, comentários e documentação deverão ser mantidos em inglês , uma vez que o projeto é internacional.
Prometo que descreverei em detalhes todos os estágios de desenvolvimento adicional aqui. Espero poder ir para a China e transmitir ao vivo da fábrica, mostrar como o Flipper será produzido por dentro. Separadamente, estamos preparando materiais de treinamento para o aprendizado de protocolos digitais, noções básicas de eletrônica e programação, para que os iniciantes possam usar o Flipper como uma plataforma de aprendizagem.
Acompanhe o projeto nas redes sociais