Flipper Zero ist ein Taschen-Multi-Tool für Hacker im Tamagotchi-Formfaktor, den ich mit Freunden entwickle. Vorherige Beiträge [ 1 ], [ 2 ], [ 3 ], [ 4 ]
Während der ersten 24 Stunden der Kickstarter-Kampagne haben wir 1 Million US-Dollar gesammelt. Ehrlich gesagt hat keiner der Teams eine solche Popularität erwartet. In den frühen Tagen wurde mein Telefon von Benachrichtigungen gerissen, Anrufe wurden vom Forbes-Magazin an Channel One getätigt. Ich habe mich immer noch nicht vollständig von dem Schock erholt und nicht alle Briefe vollständig beantwortet. Ich habe so etwas noch nie in meinem Leben erlebt.
Vielen Dank an alle, die uns unterstützt, das Projekt verfolgt und teilgenommen haben. Auf Habré veröffentlichte ich den ersten Beitrag mit Flippers Konzepten, erhielt das erste Feedback, Kritik und Lob. Nach dem Feedback zu Habré haben wir Flipper einige Funktionen hinzugefügt. Wir werden versuchen, nicht mit der Produktion zu scheißen und die Erwartungen zu erfüllen.
Jetzt bin ich fest davon überzeugt, dass maximale Offenheit und Ehrlichkeit die beste Strategie sind. Unser gesamtes Team glaubt an Open Source und wir glauben, dass Enthusiasten coole Projekte erstellen können, ohne Investoren und Unternehmensaufsicht anzuziehen. Deshalb lade ich alle, die sich für das Projekt interessieren, ein, an der Entwicklung teilzunehmen.
Unter dem Schnitt befindet sich eine Beschreibung des Programms für Entwickler von Firmware, Hardware, Desktop-Programmen und Hardwaremodulen.
Wer arbeitet an dem Projekt?
Das Projekt besteht aus mehreren großen Teilen, von denen jedes ein eigenes Team hat. Manchmal müssen Teams ihre Arbeit koordinieren, beispielsweise wenn Mechaniker und Hardware-Mitarbeiter versuchen, sich darauf zu einigen, wie eine Komponente auf der Platine bewegt werden soll, damit sie die Bewegung der Taste nicht beeinträchtigt. Hier sind die grundlegenden Befehle:
- Firmware - die gesamte Softwareentwicklung von Firmware, einschließlich Softwaremodulen für jede Komponente: Radio, RFID, Bluetooth, Infrarot, U2F, USB-Stack usw.
- Electronics Engineering (EE) ist ein Team, das Hardware entwickelt, dh den gesamten elektronischen Teil: Platinen, Antennen, Strom.
- Mechanical Engineering (ME) — , . , , : , , , , ..
- Manufacturing — , , ME Hardware . , , . SMT-, , -, , . , .
Im Moment haben wir ein ~ 80% komplettes Gerät in Bezug auf Eisen und Mechanik. Der größte Teil der Entwicklung von Flipper ist jedoch die Firmware. Wir haben jetzt einen funktionierenden Prototyp, eine Architektur und grundlegende Firmware-Komponenten, auf denen das Fleisch wachsen kann.
In dieser Phase ist es sehr wichtig, die Vereinheitlichung aller Komponenten korrekt anzugehen, um die Lesbarkeit des Codes und einen einzigen verständlichen Stil zu gewährleisten, damit Entwickler auf der ganzen Welt problemlos für unsere Plattform entwickeln können. Wir glauben, dass diese Aufgabe für die Community von Interesse sein wird, und laden Sie ein, wie in den frühen Phasen zum Prozess der Erstellung von Flipper beizutragen.
Wie kann man an der Entwicklung der Firmware teilnehmen?

Alle Flipper Zero-Firmware wird vollständig Open Source sein und auf Github veröffentlicht. Im Moment haben wir beschlossen, unsere Code-Repositorys nicht zu öffnen, um den Moment des Auftretens von Fälschungen auf Aliexpress etwas zu verschieben. Gleichzeitig sind wir uns bewusst, dass nach einem solchen Erfolg bei Kickstarter sicherlich Fälschungen auftreten werden, und wir sind darüber im Allgemeinen nicht besonders besorgt. Lassen Sie uns diesen Moment nur ein wenig verschieben, vielleicht wird dies die Chinesen dazu bringen, neuen Code zu schreiben, anstatt unseren sofort zu verwenden. Die gesamte Entwicklung erfolgt nun in einem geschlossenen Repository, in dem wir Personen hinzufügen, nachdem sie das Formular ausgefüllt und die Entwicklervereinbarung (Developer Agreement, CLA) unterzeichnet haben. In der Vereinbarung bitten wir Sie, den Code nicht ohne unsere ausdrückliche Zustimmung zu verbreiten, und sagen auch, dass wir Ihren Code entsorgen können, aber Ihre Urheberschaft behalten müssen.
, . , .
Derzeit verwendetes HAL / LL von STM und FreeRTOS. Die meiste Arbeit mit Peripheriegeräten wurde von CubeMX generiert, aber an einigen Hardcore-Stellen musste ich die Standardfunktionen wegwerfen und direkt mit Registern arbeiten.
Jetzt sind wir in einem Stadium, in dem es einfach ist, den Technologie-Stack zu ändern. Unser Chefprogrammierer hat eine Woche lang darüber nachgedacht, auf RIOT OS, ChibiOS, NuttX und Zephyr umzusteigen, um die Entwicklung zu beschleunigen und zu vereinfachen. Außerdem erwägen wir eine Option, um alles in Rust neu zu schreiben und Embedded-Hal und Tock OS zu verwenden. Im Allgemeinen sind wir jetzt bereit für große Veränderungen im Interesse einer besseren Zukunft.
Die Zusammenstellung des Codes erfolgt über make und gcc, aber sehr bald müssen wir die Möglichkeit hinzufügen, unseren Code in der Arduino IDE und PlatformIO zu sammeln.
Firmware-Architektur:

Wen suchen wir?
Die Hauptkomponenten von Flipper sind in C, C ++ und Rust geschrieben, sodass Kenntnisse dieser Sprachen für die Entwicklung hilfreich sind. Es ist auch großartig, wenn Sie mit Mikrocontrollern gearbeitet haben und wissen, wie man Elektronik debuggt. Wir versuchen jedoch, die Hardware durch eine Schicht von Abstraktionen vom Code zu trennen, damit viele Komponenten, wie die grafische Oberfläche oder das Verhalten von Delfinen, nicht mit Hardware arbeiten müssen. Wir brauchen auch Interface-Designer (das Platzieren einer informativen Benutzeroberfläche auf einem 128 × 64-Bildschirm ist keine leichte Aufgabe), Entwickler und Tester (wenn Sie bereit sind, Elektronik zu testen und Stände für Remote-Debugging und -Tests einzurichten).
Vor allem müssen Sie bereit sein, zur Entwicklung beizutragen. Um am Projekt teilzunehmen, füllen Sie das Formular aus... Behandeln Sie das Ausfüllen des Formulars sehr sorgfältig. Dies ist die einzige bequeme Möglichkeit für uns, Ihre Professionalität zu verstehen: Schreiben Sie über Ihre Entwicklungserfahrung und geben Sie nur die Flipper-Komponenten an, an deren Entwicklung Sie wirklich interessiert sind. Es ist großartig, wenn Sie bereits Ideen haben, die Sie umsetzen können - schreiben Sie diese unbedingt in das Formular.

Wir werden alle Bewerbungen sorgfältig prüfen und diejenigen mit einschlägiger Erfahrung kontaktieren. Dann werden wir Ihnen sagen, wie wir gemeinsam an dem Projekt arbeiten können, Sie zu Github hinzufügen, Ihnen Anweisungen geben, alle erforderlichen Unterlagen geben und Sie in das Projekt einführen. Gleichzeitig können die Bedingungen für die Zusammenarbeit sehr unterschiedlich sein: von der Vollzeitarbeit in unserem Team bis zur Freiwilligenarbeit als Hobby.
Entwicklungskit für Eisenarbeiter
Für Entwickler, die es wagen, an der Eisenentwicklung teilzunehmen, dh den physischen Teil des Funkmoduls zu testen, NFC / RFID zu debuggen, Antennen zu entwickeln usw. Wir haben ein spezielles Entwickler-Kit bereitgestellt. Es wird eine Version von Flipper ohne Gehäuse in einem speziellen Rig für den einfachen Anschluss an Debugging-Tools sein.

Ein solches Set wird für etwas anderes als die Entwicklung auf dem Tisch schwierig zu verwenden sein und wahrscheinlich Fehler enthalten. Daher müssen Sie sich nicht schmeicheln und denken, dass Sie auf diese Weise Ihren Flipper vor dem Rest bekommen können.
Modulentwickler
Nach unserer Vorstellung können die Funktionen von Flipper mithilfe von Hardwaremodulen erweitert werden. Jetzt haben wir nicht die Ressourcen, um Module zu entwickeln, und sind bereit, diese Aufgabe vollständig an die Community zu delegieren. Es kann absolut jedes Modul sein, zum Beispiel CAN-Bus, Hallsensor, Logikanalysator, Umgebungssensoren, Rauschsensor, Modem, LoraWAN, IMU, FM-Sender und eine ganze Reihe möglicher Optionen, für die nur genügend Vorstellungskraft vorhanden ist.
Wenn Sie ein großes Handelsunternehmen oder ein bescheidener Heimwerker sind und eine Idee für ein Eisenmodul für Flipper haben, stehen wir Ihnen mit allen erforderlichen 3D-Modellen und Dokumentationen für die Entwicklung von Modulen zur Verfügung und helfen Ihnen aktiv von unserer Seite. Wir werden die
ersten 10 vorgefertigten Module mit unserer Medienressource unterstützenauf unseren Websites und in allen Werbematerialien von Flipper. Daher kennt jeder, der sich mit Flipper auskennt, auch Ihre Module. Füllen Sie dieses Formular aus , um an der Entwicklung von Modulen teilzunehmen .

Der größte Teil unseres Teams spricht Russisch, daher fällt es uns leichter, mit russischsprachigen Menschen zu arbeiten. Alle Probleme, Kommentare und Dokumentationen müssen jedoch in englischer Sprache aufbewahrt werden , da das Projekt international ist.
Ich verspreche, hier alle Entwicklungsstadien detailliert zu beschreiben. Ich hoffe, ich kann nach China kommen und live aus der Fabrik übertragen, um zu zeigen, wie Flipper von innen hergestellt wird. Separat bereiten wir Schulungsmaterialien zum Erlernen digitaler Protokolle, der Grundlagen der Elektronik und der Programmierung vor, damit Anfänger Flipper als Lernplattform nutzen können.
Verfolgen Sie das Projekt in sozialen Netzwerken