
我们终于准备好来讲述 Flipper One 了——这是一个我们已经努力多年,并且多次完全推倒重来的项目。从经济和技术角度来看,这是一个非常复杂的项目。因此,今天我们不是以胜利的公告形式出现,而是要如实讲述一切。老实说——我们简直害怕,并且我们需要你们的帮助.
TL;DRFlipper One — 这是我们的尝试,重新思考 Linux 机器人能做什么。这是一个庞大的项目,因此我们开放了开发过程,并请求社区的帮助.
在 Flipper One 中,我们为自己设定了雄心勃勃的目标:
创造世界上最开放、文档最完善的 ARM 电脑,并在主线 Linux 内核中提供全面支持 — 以便可以从 kernel.org 下载内核。 它在 Flipper One 上立即工作。
说服供应商开放他们现有的封闭代码,并完全消除二进制大块和临时解决方案。
用微控制器和 CPU 打造非标准硬件平台,并将大量代码移植到 MCU 层级。
重新思考人们如何使用 Linux,并开发自己的 GUI 框架,用包装现有的 CLI 工具。
这些任务中有很多不确定性,这让人感到害怕。但我们相信,只有这样,我们才能真正为社会和教育做出贡献,这比金钱更重要.
Flipper One是什么?

Flipper One 不是 Flipper Zero 的升级版,而是一个完全不同的项目,具有不同的任务。它主要是一个开放的 Linux 平台,可以从中构建任何东西:从带有 5G 调制解调器的 IP 网络扫描器到基于 SDR 的 AI 信号分析器。我们非常重视硬件扩展系统。Flipper One 内部可以安装高速 PCIe、USB 3.0、SATA 接口模块。可以添加 SDR、快速 SSD 硬盘、蜂窝 LTE/5G 或卫星调制解调器。
该设备内置了网络接口:2个千兆以太网,USB以太网(5 Gbps),Wi-Fi 6E(2.4/5/6 GHz)。可以通过M.2调制解调器添加5G支持。这使得Flipper One可以用作路由器、VPN网关或有线与无线网络之间的桥接器.
零与一
Flipper Zero和Flipper One是完全不同的项目,用于不同的任务。最简单的方式是将其视为网络层级:
层 0 — 离线直接访问协议:NFC、低频RFID、Sub-1 GHz无线电、红外协议、类似iButton的有线协议、UART、SPI、I²C。在微控制器上运行.
层 1 — 所有“网络”功能:Wi-Fi、Ethernet、5G、卫星通信。这是关于网络工作、数据传输和处理。它运行在强大的硬件和开放的Linux堆栈上——计算能力足以支持SDR和本地AI.

也就是说,这并非同一设备上的“新一代”与“旧一代”。Flipper One 并不取代 Flipper Zero — 这是不同类别的设备。
开放的Linux平台
我们想做一个真正地 开放的硬件 Linux 平台 — 最完善的 ARM 计算机,开箱即用最新版原版内核,永远不会过时,因为它将永远获得更新。我们的目标:
完全支持 Linux 主线内核
没有任何二进制blob、封闭驱动和固件
无厂商特定的 BSP(板级支持包)
只有在这种情况下才能做出一个便于社区自定义的平台.

究竟是什么意思 是一个开放的 Linux 平台,这究竟为什么很重要?问题在于当前 ARM 计算机的情况:每个供应商都设计自己的启动算法,在每个系统层级塞满一堆二进制大块,使用自己扭曲补丁过时的 Linux 内核,并附上所有这些扭曲过时的文档。结果,你无法再简单地研究计算机是如何工作的。你只能弄明白中国制造商的处理器这些破烂是如何构造的。
以前在x86时代,可以阅读规格说明书来理解计算机的工作原理:什么是BIOS、UEFI、MBR、GPT——最终成为能帮同学重装Windows的电脑高手。但如今对于ARM平台,已经不可能这样了。现在,要启动ARM处理器,需要制造商提供的那些神秘的闭源工具。
我们自己也厌烦了这种情况,不想再发布一个只会加剧这种混乱的产品.
🤝 Flipper + Collabora — 一起让技术更开放.
我们与 Collabora 团队建立了合作关系. 正在积极开发将 Rockchip RK3576 加入 Linux 主线内核的支持。也就是说 Flipper One 可以直接在无闭源代码和繁琐操作的情况下运行在主线内核上。 了解一下他们的帖子关于这个。
目前 SoC RK3576 在主线内核的支持已接近完全。Flipper One 已经在全新的主线内核上加载,而且没有任何一个供应商特定的补丁。但仍然有一个封闭的部分:DDR 训练器 — 一个二进制块,它在加载的早期阶段初始化 RAM。我们将尝试说服 Rockchip 开源这个代码,如果万不得已,我们会自己逆向它。
我们请求社区帮助打磨RK3576,以便我们共同打造一个真正开放的平台。我们欢迎任何形式的贡献,不仅仅是代码。例如,如果你能影响Rockchip并说服他们公开最新的blob。
也有尚未完全主流化的驱动程序和加速器:NPU、硬件视频解码器和其它加速器。Collabora 维护着一个公开列表,列出哪些功能已在主线上运行,哪些尚未,我们将乐于协助填补这些空白。

RK3576 的开源路线图 — 我们计划做什么以及你们如何可以提供帮助
开放任务 — 在这里你可以帮助我们
RK3576在主线中的状态 来自Collabora
开发者门户 — 让我们一起创造

我们始终支持开放性。有了 Flipper One,我们决定再进一步——我们不仅公开代码和电路图,还公开研发流程。那些公司通常隐藏或羞于展示的内容,我们都会公开:文档草稿、架构讨论、内部讨论和问题。
社区将提供任务跟踪器和内部讨论,以及如何贡献的说明。任何人都可以查看每个任务所处的阶段,并参与项目。
欢迎来到开发者门户 → docs.flipper.net/one
这样的开放性对我们来说足够亲密和尴尬。但我们相信这对开放文化和开源具有重要性,并且具有教育价值.
开发者门户是什么?

Flipper One开发者门户是一个公开的维基,包含Flipper One的开发文档,任何人都可以编辑。在门户上列出了项目的结构和参与开发的方式。
Flipper One的开发非常庞大,有多个团队参与其中,每个团队负责各自的部分。我们将这些部分称为子项目:
🔌 硬件 — 电子设备开发。这里负责开发印刷电路板(PCB)、天线以及与芯片、接口和处理器电气连接相关的一切。
⚙️ 机械 — 工程设计及工业设计。这里开发外壳、按钮、塑料和金属部件、安装元件。所有用户物理交互的部件。
🐧 Linux (CPU软件) — 开发RK3576处理器(CPU)的软件。Linux内核、模块、驱动程序、用户空间、引导加载程序、Rockchip工具等。这是最大且最复杂的子项目,涵盖多个代码仓库。
🕹️ MCU固件 — 开发RP235微控制器的固件,用于控制显示屏、电源系统以及CPU启动过程,同时处理按键和触摸板的输入事件。
🎨 用户界面 — UI/UX开发。这里开发用户界面、设备的视觉沟通、所有图形和视觉设计。
📚 文档 — 技术文档、指南和数据表。这里开发所有文档,包括开发者门户本身。涵盖产品文档和开发流程描述。
🧪 测试 — 设备子系统测试工具和硬件验证工具。包含用于测试电源、网络、CPU、音频、图形等的各种脚本和程序。还包括界面原型、演示和测试应用程序.
加入开发
我们将很高兴每一位想要帮助制作Flipper One的人——工程师、程序员、设计师、UI开发者。或者如果你有任何想法,请加入我们.
我们还在寻找 Developer Portal 的经理,他将在我们的团队和社区之间担任代理,发展门户并与贡献者交流. 请应聘 Developer Portal.& 社区经理.
协处理器架构
Flipper One 采用双处理器:高性能 CPU 和节能 MCU。这两款处理器协同工作,各自负责设备的不同部分:
高性能 CPU — 8 核片上系统 RK3576,运行 Linux。它配备了 GPU Mali-G52 和 NPU,用于本地运行 LLM 和其他模型。它连接了 8GB 内存。了解更多信息在CPU软件.
低功耗微控制器 — 2核微控制器Raspberry Pi RP2350,它控制显示屏、按钮、触摸板、LED灯和电源系统。它有自有的固件MCU固件.

Flipper One 仅能在微控制器上运行。即使 Linux 关闭,也可以通过按键和 LCD 屏幕控制设备,配置启动过程——所有这些都不需要主 CPU 运行。这对大多数单板计算机来说恰恰不足:当 Linux 关闭时,设备就死了。
微控制器 ↔ CPU 互连
两个处理器通过我们称为Interconnect:通过SPI向MCU传输帧缓冲区以在显示屏上输出,通过I²C向MCU发送命令,以及从按键和触摸板向CPU发送事件,UART和多个GPIO线路用于控制CPU的加载。这是一个非平凡的架构.
我们计划在Linux内核中添加显示屏和输入设备的驱动程序。我们希望以纯粹的方式实现这一点,不使用来自供应商的out-of-tree修补程序。如果内核社区能看看这个设计,批评它并帮助我们将其正确地推向主线
Flipper OS + FlipCTL
我们如何重新思考Linux-cyberdeck。

我是树莓派的粉丝,并在我的项目中使用它,包括带着它作为便携式战术Linux电脑。典型的树莓派操作系统(原Raspbian操作系统)使用方式:今天用作路由器,明天变成电视盒子,后天作为逻辑分析器用于调试会话。安装几十个软件包,从源代码编译一些东西,修改系统配置和设备树,打内核补丁——系统很快就会变成沼泽。这很难回滚。每个新项目都是从格式化SD卡开始的。
尽管我们会经常批评 Raspberry Pi 的产品,但我们非常喜爱并尊敬这家公司。在很大程度上,他们的产品给了我们很多灵感——他们做出了令人惊叹的产品,并在嵌入式产业中做出了巨大的全球贡献。正是因为我们非常喜爱他们,所以我们不断地将自己与他们进行比较.
Flipper OS 是什么?
我们希望解决这个问题,并重新思考人们如何在桌面之外使用Linux。我们正在制作Flipper OS——一个基于Debian系统的层,它引入了配置文件:带有不同预装软件包和设置的完整系统快照。可以下载配置文件,克隆它,破坏它,安装任何东西,然后回到一个干净的副本。或者切换到完全不同的配置文件以完成其他任务。再也不需要移动SD卡了。
坦白说,Flipper OS — 这是一个非常复杂的工程,我们目前还没有100%确定如何构建它的架构。我们现在正在原型化这些概念,并希望这些能对Flipper One之外的事物有所帮助:用于Raspberry Pi的cyberdeck组装,以及任何便携式Linux多工具。如果你已经思考过这个问题或做过类似的事情,我们非常想听听你的想法:关于Flipper OS概念的详细信息.
FlipCTL — 小屏幕的UI框架

与 Flipper OS 同时,我们也在开发 FlipCTL,旨在解决 Linux 上所有“cyberdeck”的问题——没有人创建适合小屏幕的界面。结果用户在 7" 屏幕上运行完整的桌面环境(KDE、GNOME 等),挤满了小屏幕触摸屏。这根本无法使用。Flipper Zero 的优势在于其菜单导向的界面,最初是为小尺寸 LCD 屏幕设计的。这在很大程度上促成了它的流行。我们希望将这种思路带到 Linux 多功能工具的世界。
FlipCTL — 是一个用于构建的框架菜单导向的 界面对于由方向键和几个按钮控制的小型LCD屏幕。想法是包装现有的Linux工具,比如ping,nmap,traceroute 在干净的导航界面,它在小屏幕上确实有意义。我们的长期目标:让在任意嵌入式 Linux 设备上添加 HMI(人机界面)成为一条命令的工作。apt install flipctl
路由器、NAS系统、服务器、无头主板——任何可以连接小屏幕的设备,都有潜力使用FlipCTL。想法很简单:你拿一个FlipCTL,编写配置,立刻就能得到一个无需Qt、GNOME或X11的界面。我们还计划发布独立的“FlipCTL控制板”设备。» — Flipper One的带显示屏和按键的USB模块,可以连接到任何Linux电脑,并立即获得我们的菜单界面。目前FlipCTL仅处于概念阶段和架构设计阶段,我们邀请所有人参与进来:关于FlipCTL概念.
M.2扩展模块
Flipper One被设计为一个可扩展的硬件平台。每个人都可以将其变成自己的专业多工工具。因此,我们增加了对高速M.2扩展模块的支持,这些模块安装在设备内部,位于后盖下方。
M.2 — 这是扩展模块的通用外形规格名称,但它并不定义实际的连接接口。M.2模块内部可能使用不同的接口,并且尺寸和接口类型可能有所不同。
我们尽量使M.2端口尽可能通用,以便可以连接几乎所有类型的模块:蜂窝和卫星调制解调器、SDR模块、AI加速器、SSD硬盘(NVMe或SATA)以及通过转接器连接的Wi-Fi卡。

M.2端口技术规格
我们在M.2端口中集成了最多的接口,并增加了对不同尺寸的支持:
M.2类型: Key-B
支持尺寸: 2242, 3042, 3052 (厚度达D3)
接口: PCI Express 2.1 x1 / USB 3.1 / USB 2.0 / SATA3 / 串行音频 / UART / I²C / SIM卡
M.2端口的完整规格和引脚排列请查看文档:M.2端口规格 我们预计社区和供应商将为其 Flipper One 制作 M.2 模块,因此任何意见和提议都受欢迎。
GPIO 模块
为了更简单的 DIY 模块,我们增加了 GPIO 插槽。即使在这种情况下,我们也尽量确保 Flipper One 可以带着连接的模块携带,并且模块不会脱落。

GPIO模块也有自己的安装系统:
垫圈 — 在后盖和天线板上,有按2.54毫米间距排列的固定螺母,它们与标准原型板的孔位对齐。可以直接按尺寸切割原型板,在板上安装模块,然后将其固定到机壳上。
锁扣槽 — 机壳两侧都有用于固定模块盖的凹槽,该盖确保了整个结构的刚性。
技术规格、引脚排列和电路图请查看页面GPIO端口,以及在GPIO模块部分中的无线电和摄像头等模块示例。欢迎您的任何意见和评论.
开放式硬件模块系统
![[gif] Вы уже сейчас можете посмотреть и скачать 3D-модели [gif] Вы уже сейчас можете посмотреть и скачать 3D-модели](https://habrastorage.org/getpro/habr/upload_files/a30/d44/4ad/a30d444ad3c844fdd8e216fcecd810db.gif)
我们为Flipper One设计了自有的模块固定系统。我们完全拆开了该系统中涉及的机壳部件:
Body —设备主壳。M.2模块固定在散热器的金属板上,模块下方有用于42毫米和52毫米长度模块的两个安装螺母。
后盖 — M.2接口后盖。用螺丝固定在机箱上,可根据安装的模块更换。
天线导轨 — 用于安装SMA天线的独立部件。天线板有意与后盖分离,以便在安装后盖之前安装天线并铺设到无线模块的电缆。这排除了组装时天线电缆损坏的风险。
您现在就可以下载3D模型,以便为您的模块设计外壳,甚至可以制作自己的后盖和天线板。我们欢迎您对模块结构的意见和建议。详情请见Mechanics部分。
网络多功能工具
Flipper One 专为网络工作而设计——它是适用于 OSI 模型所有层级的 IP 网络瑞士军刀。我们添加了所有主要的物理连接接口,总共有五个独立的网络连接端口,可以组合成网桥、设置自定义路由或穿透 VPN 隧道:

2× 千兆以太网 — 两个独立的WAN/LAN端口,每个端口速度为1 Gbps。可以用作透明桥接器、MitM嗅探器等。
Wi-Fi 6E (802.11ax)采用MT7921AUN芯片,支持监控模式。覆盖2.4/5/6 GHz频段,可以作为Wi-Fi客户端(STA)使用,也可以作为接入点(AP)。
蜂窝通信调制解调器 — M.2扩展模块的5G或LTE调制解调器,支持外置天线。支持物理Nano SIM(4FF)和eSIM.
USB以太网 — 通过USB-C模拟,速度最高达5 Gbps。用USB线连接笔记本电脑或智能手机,即可获得额外的网络接口。通过USB-CDC NCM工作,无需驱动程序。
出厂即支持Flipper One可作任何网络的路由器、多个接入点间的网桥、以太网内联嗅探器或PC和智能手机的USB Wi-Fi/Ethernet适配器。所有这些功能可相互组合,支持动态路由、负载均衡和故障转移。我们更详细地描述这些场景在功能部分.
内置Wi-Fi

我们希望在 Flipper One 中集成最通用的 Wi-Fi,支持所有 Wi-Fi 网络分析所需的功能,包括 monitor mode 和 packet injection。目前我们选定的是流行的芯片 MediaTek MT7921AUN。它足够现代,支持三个频段,几乎能满足所有需求。此外,它在主线 Linux 内核中有开源驱动支持。我们目前正在积极测试这款芯片,如果你有兴趣加入,我们将很高兴。
Alfa AWUS036AXML 的芯片

Alfa AWUS036AXML — 这是一款基于联发科 MT7921AUN 芯片的知名 USB Wi-Fi 调制解调器,因其良好的驱动程序支持和与无线网络渗透工具的兼容性而受到推崇。围绕这款调制解调器有一个庞大的用户社区,但我们希望确保芯片确实能按照用户的需求运行.
如果你从事无线网络相关工作(如审计、监控、注入、网状网络等),诚邀您与我们一同测试:请访问开发者门户上的Wi-Fi Testing页面,并帮助我们判断这是否是正确的选择,或者是否应该寻找替代方案,直到我们最终确定设计。
卫星NTN调制解调器
存在一种卫星通信技术NTN (Non-Terrestrial Networks) — 这是一种低速率连接,用于物联网设备,由3GPP作为5G和LTE规范的一部分进行标准化。它使用标准的蜂窝网络栈:通过SIM/eSIM进行身份验证、漫游和普通IP流量。

这正是新手机中用于在没有蜂窝网络时发送紧急SOS消息的技术。目前,这项技术主要处于实验阶段。

我们希望为Flipper One增加NTN卫星通信支持,以推广这项技术,并为工程师和爱好者提供与真实卫星基础设施合作的机会。为此,我们正在寻找像Skylo这样的合作伙伴,准备在咱们的eSIM模块中增加对自个卫星网络的支持,并协助选定具体的M.2 NTN模块,咱们能够正式支持。详细内容请查看Satellite modem页面。
离线LLM在Flipper One上
现在没有AI怎么行?当然,Flipper One 会通过集成支持外部 AI 代理。但如果没有网络,而需要的帮助正是为了获取网络时,该怎么办?
得益于内置的 AI 加速器,Flipper One 可以在本地运行 LLM,无需网络,并帮助用户操作设备、生成配置并提供有用的提示。

我们希望训练一个专门的人工智能模型,使其完美掌握 Flipper One 的内部结构和应用程序,因此通用模型不适合我们。我们邀请社区参与其中。
目前我们的NPU模块尚未在主线内核中支持,还需要添加这项支持。关于RK3576 NPU在主线Linux和Mesa的支持详情.
Survival Desktop

Flipper One 可以用作生存桌面或便携客户端,随时携带。通过一根 USB-C 线连接到显示器——你就能获得一台完整的电脑。借助 USB-C DisplayPort Alt Mode,Flipper One 通过一根线同时充电、在显示器上输出图像并连接 USB 外设。RK3576 处理器的性能与 Raspberry Pi 5 相当——这足以进行网页浏览和编写代码。
我们目前在做什么:
USB-C DisplayPort Alt Mode——这是一个挑剔的协议组合。我们在信号完整性问题上缠斗,而不同显示器表现各异,实现稳定连接非常困难。此外,DP Alt Mode的支持在主线内核中尚未完全实现。
视频硬件解码 目前未在主线内核中支持。为了使视频播放不卡顿,我们需要添加硬件解码H.264/HEVC的支持。
选择哪种桌面环境? KDE Plasma — 其中一个候选者,但也许有更轻量级的窗口管理器更适合 Flipper One?我们想要一个纯净、快速的桌面,没有预装软件,开箱即用。尤其是这种 Linux 桌面与硬件一同提供的情况很少见,每一处细节都可以打磨到完美。如果你对此有明确看法,现在是表达意见的时候了.
黑客电视盒
我厌倦了所有电视娱乐系统都落后,所以我带着自己的电视机顶盒,在每家酒店和出租屋里都连接它。但我至今还没有找到一款没有限制和妥协的理想机顶盒,所以不得不自己动手做.

我们特意安排全尺寸HDMI接口在Flipper One上,因为所有这些Mini和Micro HDMI都是持续的痛苦(抱歉,Raspberry Pi),而且始终没有所需的线缆在手边。尽管HDMI接口是专有的,并且需要许可证费用,我们还是决定这样做,以避免让人们使用转接头.

全尺寸HDMI 2.1 —无需转接头,只有标准的全尺寸接口。
4K @ 120Hz — 高分辨率和120Hz刷新率,可以使用HDMI输出连接显示器在桌面模式下使用.
支持CEC — CEC(消费电子控制)技术允许将命令从原装电视遥控器传输到媒体接收器。也就是说,可以直接用电视遥控器控制界面,无需单独的鼠标和键盘。
后记

我们的 Flipper Zero 经验表明,对所做之事的真诚热情和热爱能够带来惊人的成果。目前已有约 100 万台 Flipper Zero 流入用户手中,这令人难以置信!我们围绕它建立了一个庞大的社区,并激励人们学习新技术,同时促使厂商生产更安全、更易于理解的产品。
Flipper One 是一个非常私人的项目。过去十年我一直思考便携式 Linux 多功能工具的概念,但一直认为现有的技术和组件基础都不合适,对我来说重要的是推出一款没有妥协、真正有价值的 产品。现在,似乎正是合适的时机。
在这个项目中有很多不确定性、技术难题和经济风险(例如,当前的内存芯片危机)。我不知道我们是否能完成我们想做的所有事情,但我们会全力以赴。感谢大家,欢迎来到新的冒险.
— Павел Жовнер和团队Flipper Devices
链接
Flipper设备团队很小。项目很大。没有你们我们无法完成。以下是如何加入:
Flipper One开发者门户 —所有子项目的入口。学习子项目,搜索带有
help wanted标签的任务,阅读贡献者指南,订阅我们的开发者每周简报.X.com/Flipper_RND —项目更新和公告。
























