One step away from finishing hardware
Hardware and software development differ a lot. You can even make daily software updates, but when it comes to hardware, every change requires going through a full manufacturing cycle to produce test samples. An important stage in the production of electronics is BOM (bill of materials) locking, which means that the list of components and circuit diagram are no longer changed.
In the last two months, we have been actively working on hardware validation, covering all the use cases with tests, and now we are almost ready to lock the BOM and start Flipper's production in EVT (Engineering Validation Test) phase. Devices from the first batch will be sent to contributors who participated in the development.
Finished power circuit
The power subsystem is much more complex than it might seem at first glance. We use several independent power circuits: 3.3V for internal peripheral, 5V for external GPIO and NFC module.
Main parts of the power circuits
- BQ25896 — charge regulator
- BQ27220 fuel gauge — monitors battery status, measures input and output current, allows to calculate battery level precisely
- 2х TPS62743 and LM3281 — DC/DC converters and voltage regulators, the latter is used for external modules
We produced power circuits as connectable breakout boards while prototyping, which allowed us to experiment with the power subsystem and keep the same main board.
More energy to Infrared
Regular IR remotes contain large infrared LEDs that work on high power, but we can't use such LEDs in Flipper because of their dimensions. The only option left was to get enough power with SMD LEDs.
We decided to use three YSMY14940 LEDs. These LEDs have a narrow beam pattern and radiant intensity of 82 mW/sr per diode.
RFID Dual Band antenna
It was a challenging task to combine RFID 125 kHz and NFC 13,56 MHz on a single board. To do this, we had to take the antennas into a separate board and combine them on one PCB, placing one inside the other.
We tried multiple combinations and finally found the optimal one which gives good readings on different cards in both ranges. Now Flipper consists of as many as 4 boards.
MicroSD tests
Flipper's SD-card works in SPI mode that is slower than usual SDIO, but even this 'slow' mode allows us to read almost 400 KB per second which is more than enough for our tasks.
Answering the popular question regarding the maximum size of an SD card: we are now using 16, 32 and 64 GB cards without any problems. We use the FatFS library that theoretically supports cards of up to 2 TB. Flipper works on the exFAT filesystem by default and allows you to format the card right from the device.
Previous prototypes had a problem: sometimes the protrusion on the card would be stuck inside the case. Therefore, we added an edge to the case, so the card is always ejected without any problems.
External GPIO update
We had to use one GPIO for internal needs, so we decided to connect pin 9 to iButton contact, the 1-Wire bus. It allows connecting sensors and other peripherals using the internal 1-Wire library.
User Interface
This is the first version of the main menu. Take a look at icon animations! It's not the final version and the menu is subject to change, but you can already get a general concept.
Mechanics testing
Most of the work is spent on testing mechanical components. We always test different button constructions, change springs and pushing mechanisms. For such testing, we produce simplified boards with SMD buttons only.
Fun stuff
Our CTO Andrew Strokov aka @coreglitch sometimes writes crazy stuff like this floopper-bloopper game during the Ludum Dare 47 hackathon:
Another funny demo with buzzer testing from our developer @DrZlo13, an old-school music player performing Wintergatan — Marble Machine.