---
title: #5: Testing M.2 in R&D and production
slug: one/dev-log/5
docTags: 
createdAt: 2026-07-06T14:06:34.781Z
---

This is our Dev Log where we share how the development of Flipper One is going.

**In this Dev Log:** our custom M.2 port tester for R\&D and mass production, Flipper One's power-on and boot sequence, and three extended pixel fonts for FlipCTL and Flipper One UI.

***

## M.2 port tester for R\&D and mass production

As we design Flipper One, part of our job is designing the tools used to test it on the production line. In our R\&D lab, we have all the time and tools to check a single device, but mass production requires tests that are reliable, fast, and inexpensive. We built a prototype module to test the Flipper One M.2 port during mass production since there was no off-the-shelf solution that met our needs.

![Flipper One M.2 tester](https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/isBF5yyCxjukJkMRncuma_m2-tester.png "Flipper One M.2 tester")

The tester connects to an unpowered Main Board and checks the connections between the M.2 port pins and the components on the board by applying test voltages to each pin and verifying the electrical response. This way, we confirm there are no open circuits, shorts, or other assembly defects.

The video below shows the M.2 tester at the firmware debugging stage:

::embed[]{url="https://youtu.be/sB50s4eVoVM"}

Let's have a closer look at the test logs:

![Test log explained](https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/MH6JF4pmu-6BoKrxVFm3c_test-log.png "Test logs: Verifying Flipper One M.2 connector")

***

## Power and boot modes

In Dev Log #4, we talked about a [boot menu](docId\:OQi1-fa-WLwaXxkaapSG-) where you can choose between kernels and boot targets. But in fact, this menu is not the first thing that runs when you turn on a Flipper One.

This diagram shows the boot modes and transitions between them. The design isn't final, but it's complete enough to study and discuss. You're welcome to post your questions in the comment section.

![Diagram showing the current design of Flipper One's power-on and boot sequence](https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/Ppw0fVlX0HJsg9elQjecD_power-boot-actions.png "Current design of Flipper One's power-on and boot sequence (secretly borrowed from the dev team 🤫)")

***

## Pixel fonts for Flipper One UI

Flipper One UI uses three pixel fonts: [HaxrCorp 4090](https://github.com/flipperdevices/flipctl-fonts/tree/dev/HaxrCorp4090-FlipCTL), [Born2bSportyV2](https://github.com/flipperdevices/flipctl-fonts/tree/dev/Born2bSportyV2-FlipCTL), and [Busy9px](https://github.com/flipperdevices/flipctl-fonts/tree/dev/Busy9px-FlipCTL). We have extended base fonts with extra glyphs and made sure everything looks neat on the Flipper One screen.

::::Tabs
:::Tab{title="HaxrCorp 4090"}
![HaxrCorp 4090](https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/7E4W21QvqxH-xXgzPxarm_haxrcorp4090.png)
:::

:::Tab{title="Born2bSportyV2"}
![Born2bSportyV2](https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/BgXhjZ25ZR2Sy7Bp94Gxw_born2bsportyv2.png)
:::

:::Tab{title="Busy9px"}
![Busy9px](https://api.archbee.com/api/optimize/3StCFqarJkJQZV-7N79yY/evlZeS65eon1ODyZvJfoE_busy9px.png)
:::
::::

***

## Join Flipper One development and make your contribution

- We're looking for a FlipCTL architecture lead. Learn more in the [blog post about FlipCTL](https://blog.flipper.net/flipctl-our-gui-framework-for-embedded-linux-systems/).
- Building a project that helps test or improve Flipper One? Add it to the [community projects](docId\:Xqaz9ZzclnBl0Awu3zH6q) page.
- 3rd-party module contributions are welcome! Check out the [contribution guide](docId:0DDVbIoaWJaz2P653X569) and open a pull request in [flipperdevices/flipperone-mechanics](https://github.com/flipperdevices/flipperone-mechanics).
- We have many other tasks open to the community! See the full list on the [🚧 Open tasks](https://docs.flipper.net/one/open-tasks) page.

See you in the next Dev Log!
