<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Flipper Blog]]></title><description><![CDATA[Flipper Blog]]></description><link>https://blog.flipper.net/</link><image><url>https://blog.flipper.net/favicon.png</url><title>Flipper Blog</title><link>https://blog.flipper.net/</link></image><generator>Ghost 5.71</generator><lastBuildDate>Mon, 13 Apr 2026 02:56:14 GMT</lastBuildDate><atom:link href="https://blog.flipper.net/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Can Flipper Zero really steal your car? (Spoiler: NO)]]></title><description><![CDATA[<p>You may have seen news reports about the &#x201C;secret&#x201D; Flipper Zero firmware that allegedly hacks any car, as covered by <a href="https://www.theverge.com/cars/763446/flipper-zero-car-theft-firmware-hack-key-fob" rel="noreferrer">The Verge</a>, <a href="https://gizmodo.com/flipper-zero-cars-hacking-2000646318" rel="noreferrer">Gizmodo</a>, <a href="https://www.404media.co/inside-the-underground-trade-of-flipper-zero-tech-to-break-into-cars/" rel="noreferrer">404 Media</a>, and <a href="https://www.thedrive.com/news/this-199-hacking-device-will-probably-let-thieves-steal-your-car" rel="noreferrer">The Drive</a> have all written about it. &#xA0;Let&#x2019;s dive in to see whether this claim holds up (major spoiler:</p>]]></description><link>https://blog.flipper.net/can-flipper-zero-steal-your-car/</link><guid isPermaLink="false">68a86ef5b214df0001366f66</guid><category><![CDATA[Flipper Zero]]></category><dc:creator><![CDATA[Pavel Zhovner]]></dc:creator><pubDate>Fri, 22 Aug 2025 18:03:55 GMT</pubDate><media:content url="https://blog.flipper.net/content/images/2025/08/scam_cars.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.flipper.net/content/images/2025/08/scam_cars.jpg" alt="Can Flipper Zero really steal your car? (Spoiler: NO)"><p>You may have seen news reports about the &#x201C;secret&#x201D; Flipper Zero firmware that allegedly hacks any car, as covered by <a href="https://www.theverge.com/cars/763446/flipper-zero-car-theft-firmware-hack-key-fob" rel="noreferrer">The Verge</a>, <a href="https://gizmodo.com/flipper-zero-cars-hacking-2000646318" rel="noreferrer">Gizmodo</a>, <a href="https://www.404media.co/inside-the-underground-trade-of-flipper-zero-tech-to-break-into-cars/" rel="noreferrer">404 Media</a>, and <a href="https://www.thedrive.com/news/this-199-hacking-device-will-probably-let-thieves-steal-your-car" rel="noreferrer">The Drive</a> have all written about it. &#xA0;Let&#x2019;s dive in to see whether this claim holds up (major spoiler: it doesn&#x2019;t).</p><h2 id="what-happened">What happened</h2><p>Some darknet online stores have started selling so-called <em>&#x201C;</em>private<em>&#x201D;</em> firmware for Flipper Zero, claiming it can hack countless cars. They say new vulnerabilities have &#x201C;leaked&#x201D; online that make it possible to break dynamic protocols like KeeLoq.</p><p>In reality, all of these methods were published more than 10 years ago &#x2014; nothing new at all. The authors of such firmware are simply recycling well-known vulnerabilities and presenting them as &#x201C;new hacks.&#x201D; And importantly, these vulnerabilities have nothing to do with real car theft, since they do not allow you to start the engine.</p><h2 id="how-the-keeloq-protocol-works">How the KeeLoq protocol works</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2025/08/keeloq_old.jpg" class="kg-image" alt="Can Flipper Zero really steal your car? (Spoiler: NO)" loading="lazy" width="2000" height="1172" srcset="https://blog.flipper.net/content/images/size/w600/2025/08/keeloq_old.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2025/08/keeloq_old.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2025/08/keeloq_old.jpg 1600w, https://blog.flipper.net/content/images/2025/08/keeloq_old.jpg 2366w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">KeeLoq protocol vulnerabilities have been known since 2006</span></figcaption></figure><p><a href="https://en.m.wikipedia.org/wiki/KeeLoq" rel="noopener">KeeLoq</a> was developed in the 1980s and used in older access systems like garage doors and early car alarms. It&#x2019;s what&#x2019;s called a <em>rolling code</em> or <em>hopping code</em> system. The idea is that every transmission uses a new unique signal, encrypted with a 64-bit manufacturer key. This manufacturer key is the weak spot of KeeLoq. The problem was that carmakers often used the <strong>same key across an entire model line</strong>. If that key leaked, an attacker could intercept signals from any remote of that brand.</p><p>The authors of these &#x201C;hacker&#x201D; firmwares are just redistributing old leaked manufacturer keys from various automakers.  None of this is new &#x2014; these vulnerabilities were thoroughly documented back in <strong>2006</strong>: <a href="https://web.archive.org/web/20221206050746/https://www.cosic.esat.kuleuven.be/keeloq/" rel="noopener">https://web.archive.org/web/20221206050746/https://www.cosic.esat.kuleuven.be/keeloq/</a></p><p>Since then, car manufacturers have moved on to more modern radio protocols with two-way authentication, where the car and the key exchange messages to verify authenticity.</p><h2 id="you-can-%E2%80%9Chack%E2%80%9D-it-with-just-a-piece-of-cable">You can &#x201C;hack&#x201D; it with just a piece of cable</h2><p>Because analyzing the encrypted protocol is passive, all you need for an &#x201C;attack&#x201D; is to record the remote&#x2019;s radio signal. You don&#x2019;t need Flipper Zero &#x2014; even a piece of wire connected to an audio jack would do.</p><figure class="kg-card kg-video-card kg-width-regular kg-card-hascaption" data-kg-thumbnail="https://blog.flipper.net/content/media/2025/08/how_to_receive_radio_signal_with_a_piece_of_wire--1-_thumb.jpg" data-kg-custom-thumbnail>
            <div class="kg-video-container">
                <video src="https://blog.flipper.net/content/media/2025/08/how_to_receive_radio_signal_with_a_piece_of_wire--1-.mp4" poster="https://img.spacergif.org/v1/1280x720/0a/spacer.png" width="1280" height="720" playsinline preload="metadata" style="background: transparent url(&apos;https://blog.flipper.net/content/media/2025/08/how_to_receive_radio_signal_with_a_piece_of_wire--1-_thumb.jpg&apos;) 50% 50% / cover no-repeat;"></video>
                <div class="kg-video-overlay">
                    <button class="kg-video-large-play-icon">
                        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                            <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
                        </svg>
                    </button>
                </div>
                <div class="kg-video-player-container">
                    <div class="kg-video-player">
                        <button class="kg-video-play-icon">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
                            </svg>
                        </button>
                        <button class="kg-video-pause-icon kg-video-hide">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
                                <rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
                            </svg>
                        </button>
                        <span class="kg-video-current-time">0:00</span>
                        <div class="kg-video-time">
                            /<span class="kg-video-duration">1:58</span>
                        </div>
                        <input type="range" class="kg-video-seek-slider" max="100" value="0">
                        <button class="kg-video-playback-rate">1&#xD7;</button>
                        <button class="kg-video-unmute-icon">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/>
                            </svg>
                        </button>
                        <button class="kg-video-mute-icon kg-video-hide">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/>
                            </svg>
                        </button>
                        <input type="range" class="kg-video-volume-slider" max="100" value="100">
                    </div>
                </div>
            </div>
            <figcaption><p><span style="white-space: pre-wrap;">[video] Demonstration on how to receive a signal from a radio remote using a piece of wire</span></p></figcaption>
        </figure><h1 id="how-car-theft-actually-works">How car theft actually works</h1><p>Intercepting a remote signal is not enough to start a car. That&#x2019;s why these KeeLoq attacks have nothing to do with real-world car theft.</p><p>Today, real thieves target <strong>keyless entry/start systems</strong> by attacking the key fob directly. They use a combination of relays and transmitters that <strong>proxy the signal</strong> from the real car key, tricking the car into thinking the key is nearby.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/03/car_keyless_repeater_system--1-.jpg" class="kg-image" alt="Can Flipper Zero really steal your car? (Spoiler: NO)" loading="lazy"><figcaption><span style="white-space: pre-wrap;">Thieves trick the car into thinking the key fob is near</span></figcaption></figure><p>We covered this technique in detail in our article: <a href="https://blog.flipper.net/response-to-canadian-government/" rel="noreferrer">Response to Canadian Government </a></p><p><strong>TL;DR</strong>: Real car thieves don&#x2019;t use Flipper Zero &#x2014; they have purpose-built relay tools. Here&#x2019;s a video showing how cars are actually stolen with these devices:</p><figure class="kg-card kg-video-card kg-width-regular kg-card-hascaption" data-kg-thumbnail="https://blog.flipper.net/content/media/2025/08/car_thieves_use_keyless_repeaters_to_steal_cars_compressed_thumb.jpg" data-kg-custom-thumbnail>
            <div class="kg-video-container">
                <video src="https://blog.flipper.net/content/media/2025/08/car_thieves_use_keyless_repeaters_to_steal_cars_compressed.mp4" poster="https://img.spacergif.org/v1/1920x1080/0a/spacer.png" width="1920" height="1080" playsinline preload="metadata" style="background: transparent url(&apos;https://blog.flipper.net/content/media/2025/08/car_thieves_use_keyless_repeaters_to_steal_cars_compressed_thumb.jpg&apos;) 50% 50% / cover no-repeat;"></video>
                <div class="kg-video-overlay">
                    <button class="kg-video-large-play-icon">
                        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                            <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
                        </svg>
                    </button>
                </div>
                <div class="kg-video-player-container">
                    <div class="kg-video-player">
                        <button class="kg-video-play-icon">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
                            </svg>
                        </button>
                        <button class="kg-video-pause-icon kg-video-hide">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
                                <rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
                            </svg>
                        </button>
                        <span class="kg-video-current-time">0:00</span>
                        <div class="kg-video-time">
                            /<span class="kg-video-duration">0:34</span>
                        </div>
                        <input type="range" class="kg-video-seek-slider" max="100" value="0">
                        <button class="kg-video-playback-rate">1&#xD7;</button>
                        <button class="kg-video-unmute-icon">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/>
                            </svg>
                        </button>
                        <button class="kg-video-mute-icon kg-video-hide">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/>
                            </svg>
                        </button>
                        <input type="range" class="kg-video-volume-slider" max="100" value="100">
                    </div>
                </div>
            </div>
            <figcaption><p><span style="white-space: pre-wrap;">[video] CCTV footage showing how thieves steal cars with keyless entry systems</span></p></figcaption>
        </figure><h2 id="conclusions">Conclusions</h2><ul><li>The so-called hacker firmwares for Flipper Zero don&#x2019;t add anything new &#x2014; they just reuse techniques documented since 2006.</li><li>Real car thieves use completely different, specialized tools.</li><li>If your car could be attacked with Flipper Zero, it could just as easily be hacked with a piece of wire.</li></ul>]]></content:encoded></item><item><title><![CDATA[Firmware 1.0 Released]]></title><description><![CDATA[<p>Meet the first major release of Flipper Zero firmware &#x2014; version 1.0. In this release, we have completed work on many features that have been in development for 3 years and are now stable. In this post, we&#x2019;ll show you what&#x2019;s new in Firmware 1.</p>]]></description><link>https://blog.flipper.net/released-firmware-1/</link><guid isPermaLink="false">66d8a9920414fe0001b9717a</guid><dc:creator><![CDATA[Ruslan Nadyrshin]]></dc:creator><pubDate>Tue, 10 Sep 2024 12:34:32 GMT</pubDate><media:content url="https://blog.flipper.net/content/images/2024/09/Flipper_Zero_Firmware_1.0_main_illustration_compressed-1.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.flipper.net/content/images/2024/09/Flipper_Zero_Firmware_1.0_main_illustration_compressed-1.jpg" alt="Firmware 1.0 Released"><p>Meet the first major release of Flipper Zero firmware &#x2014; version 1.0. In this release, we have completed work on many features that have been in development for 3 years and are now stable. In this post, we&#x2019;ll show you what&#x2019;s new in Firmware 1.0 and the challenges we faced during development.</p><h2 id="what%E2%80%99s-new-in-firmware-10">What&#x2019;s new in Firmware 1.0</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/09/Flipper_Zero_Firmware_1.0_whats_new_02--1-.png" class="kg-image" alt="Firmware 1.0 Released" loading="lazy" width="2000" height="1178" srcset="https://blog.flipper.net/content/images/size/w600/2024/09/Flipper_Zero_Firmware_1.0_whats_new_02--1-.png 600w, https://blog.flipper.net/content/images/size/w1000/2024/09/Flipper_Zero_Firmware_1.0_whats_new_02--1-.png 1000w, https://blog.flipper.net/content/images/size/w1600/2024/09/Flipper_Zero_Firmware_1.0_whats_new_02--1-.png 1600w, https://blog.flipper.net/content/images/2024/09/Flipper_Zero_Firmware_1.0_whats_new_02--1-.png 2000w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">&#x2014; Mom, look! We can draw just like Apple&#xAE;!</span></figcaption></figure><ul><li><strong>3rd-party apps:</strong> We&#x2019;ve introduced dynamic app loading support. Now you can install hundreds of community-developed apps from the Apps Catalog, and the number of apps continues to grow.</li><li><strong>New NFC subsystem:</strong> Completely rewritten from scratch, resulting in a significant increase in card reading speed. New NFC card types support and a new plugin system for user card parsers.</li><li><strong>JavaScript support:</strong> You can now develop apps for Flipper Zero using JavaScript.</li><li><strong>General system improvements:</strong> Battery life reaches 1 month in standby. Bluetooth data transfer speed with Android devices increased by up to 2x. Firmware updates now upload via Bluetooth 40% faster.</li></ul><h1 id="apps-on-flipper-zero">Apps on Flipper Zero</h1><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2024/07/Flipper_Zero_apps_installation.jpg" class="kg-image" alt="Firmware 1.0 Released" loading="lazy"></figure><p>Initially, all features in Flipper Zero were implemented as part of the firmware. Every new feature or fix required a full firmware update. It was a pain on both ends: we had to compile and make a new release, and users then had to install it. One more problem was the system flash memory limit, which we had reached a long time ago. At some point, we could no longer add new features to our Flipper Zero firmware.</p><h2 id="dynamic-app-loading-subsystem">Dynamic app loading subsystem</h2><p>To continue adding new features, we developed something unusual for embedded hardware: <strong>dynamic application loading</strong>. Thanks to it, Flipper Zero is now able to run applications right from FAP files on the microSD card (FAP stands for Flipper Application Package, our special format of compiled application files). A new firmware component named <strong>app loader</strong> handles loading and launching FAPs. This way, we could finally continue adding new features and store them outside the firmware, saving space on system flash memory.</p><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2024/08/Flipper_Zero_dynamic_app_loading_from_microSD_card.jpg" class="kg-image" alt="Firmware 1.0 Released" loading="lazy" width="1900" height="1080" srcset="https://blog.flipper.net/content/images/size/w600/2024/08/Flipper_Zero_dynamic_app_loading_from_microSD_card.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2024/08/Flipper_Zero_dynamic_app_loading_from_microSD_card.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2024/08/Flipper_Zero_dynamic_app_loading_from_microSD_card.jpg 1600w, https://blog.flipper.net/content/images/2024/08/Flipper_Zero_dynamic_app_loading_from_microSD_card.jpg 1900w" sizes="(min-width: 720px) 720px"></figure><p>Developers loved this idea and have created hundreds of applications! However, these were scattered across different communities and forums, making it difficult for users to find them. That&#x2019;s why we created the Apps Catalog, where apps made by the community are available in one place. We are especially proud that all apps in our catalog are&#xA0;<strong>open source</strong>, and we&#x2019;re grateful to our community&#x2019;s enthusiasts for developing and maintaining them. <a href="https://github.com/flipperdevices/flipper-application-catalog/blob/main/documentation/Contributing.md">Learn how to submit your app to the Apps Catalog.</a></p><h2 id="how-to-install-apps-on-flipper-zero">How to install Apps on Flipper Zero</h2><p>You can install apps on your Flipper Zero&#xA0;from&#xA0;the Apps Catalog, which is available&#xA0;via&#xA0;<a href="https://flpr.app/?ref=blog.flipper.net">Flipper Mobile App</a> and <a href="https://lab.flipper.net/apps">Flipper Lab</a>. Installing apps on Flipper Zero is now as easy as on your phone:</p><figure class="kg-card kg-video-card kg-width-regular kg-card-hascaption" data-kg-thumbnail="https://blog.flipper.net/content/media/2024/08/flipperzero-app-install-4_thumb.jpg" data-kg-custom-thumbnail>
            <div class="kg-video-container">
                <video src="https://blog.flipper.net/content/media/2024/08/flipperzero-app-install-4.mp4" poster="https://img.spacergif.org/v1/1920x1080/0a/spacer.png" width="1920" height="1080" playsinline preload="metadata" style="background: transparent url(&apos;https://blog.flipper.net/content/media/2024/08/flipperzero-app-install-4_thumb.jpg&apos;) 50% 50% / cover no-repeat;"></video>
                <div class="kg-video-overlay">
                    <button class="kg-video-large-play-icon">
                        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                            <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
                        </svg>
                    </button>
                </div>
                <div class="kg-video-player-container">
                    <div class="kg-video-player">
                        <button class="kg-video-play-icon">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
                            </svg>
                        </button>
                        <button class="kg-video-pause-icon kg-video-hide">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
                                <rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
                            </svg>
                        </button>
                        <span class="kg-video-current-time">0:00</span>
                        <div class="kg-video-time">
                            /<span class="kg-video-duration">0:21</span>
                        </div>
                        <input type="range" class="kg-video-seek-slider" max="100" value="0">
                        <button class="kg-video-playback-rate">1&#xD7;</button>
                        <button class="kg-video-unmute-icon">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/>
                            </svg>
                        </button>
                        <button class="kg-video-mute-icon kg-video-hide">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/>
                            </svg>
                        </button>
                        <input type="range" class="kg-video-volume-slider" max="100" value="100">
                    </div>
                </div>
            </div>
            <figcaption><p><span style="white-space: pre-wrap;">[Video] Community apps can be installed on Flipper Zero from the Apps Catalog</span></p></figcaption>
        </figure><p>For convenience, apps in the Apps Catalog are grouped into categories based on their features: Sub-GHz, NFC, RFID, Games, Media, Tools, and others.</p><h1 id="javascript-on-flipper-zero">JavaScript on Flipper Zero</h1><p>We&#x2019;ve added a scripting engine to the firmware, allowing&#xA0;you to run apps written in JavaScript, one of the most common programming languages. This also <strong>makes development much easier</strong> compared to using C/C++, as you don&#x2019;t need to set up a development environment on your computer and learn the Flipper Zero firmware SDK.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/09/Flipper_Zero_JavaScript_support_new.png" class="kg-image" alt="Firmware 1.0 Released" loading="lazy" width="1798" height="720" srcset="https://blog.flipper.net/content/images/size/w600/2024/09/Flipper_Zero_JavaScript_support_new.png 600w, https://blog.flipper.net/content/images/size/w1000/2024/09/Flipper_Zero_JavaScript_support_new.png 1000w, https://blog.flipper.net/content/images/size/w1600/2024/09/Flipper_Zero_JavaScript_support_new.png 1600w, https://blog.flipper.net/content/images/2024/09/Flipper_Zero_JavaScript_support_new.png 1798w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Add JS files to Flipper Zero via qFlipper or Flipper Lab</span></figcaption></figure><p>To run a script on your Flipper Zero, add the JS file to the <code>SD Card/apps/Scripts</code> folder (via qFlipper or Flipper Lab) and run it from the <code>Apps&#xA0;&#x2192; Scripts</code> menu. There is no need to compile JS scripts on a PC.</p>
<!--kg-card-begin: html-->
<div style="position: relative">
  <div class="info flipper-callout">
    <div class="callout-header">
      <div class="callout-icon"><!-- Leave empty --></div>
    </div>
    We included example scripts in the firmware for you to start learning JavaScript on Flipper Zero. These examples are located at <code>SD Card/apps/Scripts</code>. They will help you learn the language syntax and understand how to use JavaScript modules. For more information on the scripting engine&#x2019;s capabilities and limitations, please refer to <a href="https://developer.flipper.net/flipperzero/doxygen/js.html"><u>our&#xA0;documentation</u></a>.
  </div>
</div>
<!--kg-card-end: html-->
<p>JavaScript support is based on the <a href="https://github.com/cesanta/mjs">mJS scripting engine</a>. Originally designed for microcontrollers, mJS utilizes system resources efficiently and operates relatively quickly. It requires less than <strong>50k of flash space</strong> and <strong>2k of RAM</strong>.</p><h1 id="new-nfc-subsystem">New NFC subsystem</h1><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2024/08/Flipper_Zero_new_NFC_subsystem.png" class="kg-image" alt="Firmware 1.0 Released" loading="lazy" width="1860" height="964" srcset="https://blog.flipper.net/content/images/size/w600/2024/08/Flipper_Zero_new_NFC_subsystem.png 600w, https://blog.flipper.net/content/images/size/w1000/2024/08/Flipper_Zero_new_NFC_subsystem.png 1000w, https://blog.flipper.net/content/images/size/w1600/2024/08/Flipper_Zero_new_NFC_subsystem.png 1600w, https://blog.flipper.net/content/images/2024/08/Flipper_Zero_new_NFC_subsystem.png 1860w" sizes="(min-width: 720px) 720px"></figure><p>NFC is one of the largest subsystems in Flipper Zero&#x2019;s firmware and hardware. Previously, to work with NFC, we used the <a href="https://www.st.com/en/embedded-software/stsw-st25rfal002.html">RFAL library</a> by STMicroelectronics, the manufacturer of the NFC chip inside Flipper Zero. However, this library was poorly optimized for RTOS, consumed a lot of memory, and slowed down our NFC subsystem. </p><p>To address this, we&#x2019;ve <strong>completely redesigned </strong>our NFC subsystem from scratch, significantly improving its speed and making it easier to support new NFC card protocols.</p><h2 id="what%E2%80%99s-new-in-the-nfc-subsystem">What&#x2019;s new in the NFC subsystem</h2><ul><li><strong>FreeRTOS friendly: </strong>The old RFAL library required polling to get events from the NFC subsystem. The new library uses an event-driven approach, which is efficient when using RTOS. This simplified the code and eliminated unnecessary delays in the NFC subsystem. <a href="https://github.com/flipperdevices/flipperzero-firmware/blob/7c88a4a8f1062063b74277c03617fb9e083e538b/targets/f7/furi_hal/furi_hal_nfc_event.c#L47">See the code on GitHub.</a></li><li><strong>Improved architecture: </strong>In the RFAL library, several protocols can be implemented within one huge file of thousands of lines, and a single protocol can be scattered throughout the library. This made it difficult to add and support NFC protocols. To address this issue, we restructured the library and strictly divided the protocols based on stack layers. <a href="https://github.com/flipperdevices/flipperzero-firmware/tree/dev/lib/nfc/protocols">See the protocols on GitHub.</a></li><li><strong>Parsers are now dynamic: </strong>Initially, card data parsers were integrated into the NFC app and loaded into RAM along with it, which occasionally caused a lack of RAM. Now, parsers are FALs (Flipper App Library) that can be loaded one by one. Community members can add support for their card types by creating parsers by implementing a simple interface. <a href="https://github.com/flipperdevices/flipperzero-firmware/blob/7c88a4a8f1062063b74277c03617fb9e083e538b/applications/main/nfc/plugins/supported_cards/nfc_supported_card_plugin.h#L94">See the code on GitHub.</a></li><li><strong>New NFC card protocols:</strong> We added support for ICODE&#xAE; SLIX and FeliCa&#x2122; Lite-S cards. Read more: <a href="https://docs.flipper.net/nfc/read#fPu9D">docs.flipper.net/nfc/read</a></li></ul><h2 id="nfc-speed-up">NFC speed up</h2><p>By completely reworking the NFC library, we managed to speed up its performance in Flipper Zero. For example, the dictionary key matching function is now <strong>2.7&#xA0;times faster!</strong></p><figure class="kg-card kg-video-card kg-width-regular kg-card-hascaption" data-kg-thumbnail="https://blog.flipper.net/content/media/2024/08/flipperzero-nfc-speed-test_thumb.jpg" data-kg-custom-thumbnail>
            <div class="kg-video-container">
                <video src="https://blog.flipper.net/content/media/2024/08/flipperzero-nfc-speed-test.mp4" poster="https://img.spacergif.org/v1/1920x1080/0a/spacer.png" width="1920" height="1080" playsinline preload="metadata" style="background: transparent url(&apos;https://blog.flipper.net/content/media/2024/08/flipperzero-nfc-speed-test_thumb.jpg&apos;) 50% 50% / cover no-repeat;"></video>
                <div class="kg-video-overlay">
                    <button class="kg-video-large-play-icon">
                        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                            <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
                        </svg>
                    </button>
                </div>
                <div class="kg-video-player-container">
                    <div class="kg-video-player">
                        <button class="kg-video-play-icon">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
                            </svg>
                        </button>
                        <button class="kg-video-pause-icon kg-video-hide">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
                                <rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
                            </svg>
                        </button>
                        <span class="kg-video-current-time">0:00</span>
                        <div class="kg-video-time">
                            /<span class="kg-video-duration">0:18</span>
                        </div>
                        <input type="range" class="kg-video-seek-slider" max="100" value="0">
                        <button class="kg-video-playback-rate">1&#xD7;</button>
                        <button class="kg-video-unmute-icon">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/>
                            </svg>
                        </button>
                        <button class="kg-video-mute-icon kg-video-hide">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/>
                            </svg>
                        </button>
                        <input type="range" class="kg-video-volume-slider" max="100" value="100">
                    </div>
                </div>
            </div>
            <figcaption><p><span style="white-space: pre-wrap;">[Video] The new NFC subsystem speeds up card reading</span></p></figcaption>
        </figure><h2 id="editing-nfc-dumps-in-flipper-mobile-app">Editing NFC dumps in Flipper Mobile App</h2><p>When a Flipper Zero reads NFC cards, it saves their data (dumps) to the microSD card. Previously, you had to use an external program to edit contents of the dumps. Now, dumps from MIFARE Classic&#xAE; cards can be viewed and edited in <a href="https://flpr.app/?ref=blog.flipper.net">Flipper Mobile App</a>. You can edit data of sectors, keys, and access bits.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/08/Flipper_Mobile_App_MIFARE_Classic_edit_dump_compressed.jpg" class="kg-image" alt="Firmware 1.0 Released" loading="lazy" width="1800" height="1200" srcset="https://blog.flipper.net/content/images/size/w600/2024/08/Flipper_Mobile_App_MIFARE_Classic_edit_dump_compressed.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2024/08/Flipper_Mobile_App_MIFARE_Classic_edit_dump_compressed.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2024/08/Flipper_Mobile_App_MIFARE_Classic_edit_dump_compressed.jpg 1600w, https://blog.flipper.net/content/images/2024/08/Flipper_Mobile_App_MIFARE_Classic_edit_dump_compressed.jpg 1800w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">View and edit MIFARE Classic dumps right on your phone</span></figcaption></figure><h1 id="general-system-improvements">General system improvements</h1><ul><li><strong>The new low-power mode</strong> increased Flipper Zero&#x2019;s battery life from 1&#xA0;week to 1&#xA0;month in standby. Check out&#xA0;<a href="https://blog.flipper.net/1-month-battery-life-with-firmware-update/" rel="noopener noreferrer">this blog post</a>&#xA0;for more info.</li><li><strong>Faster Bluetooth connection with Android devices:</strong> We optimized the BLE (Bluetooth Low Energy) connection settings. Now users have an average of a 2x speed increase. However, results may vary between Android-based operating systems. We are also exploring ways to enhance the BLE connection speed for iOS devices.</li><li><strong>Firmware update package uploads 40% faster:</strong> Previously, we were unable to properly compress update packages, but now the Flipper Zero updater supports the <a href="https://github.com/atomicobject/heatshrink">heatshrink compression algorithm</a>. Now, the firmware update package is transferred to Flipper Zero in a compressed form, speeding up the update&#x2019;s longest stage by 40%.</li></ul><h1 id="sub-ghz-improvements">Sub-GHz improvements</h1><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2024/09/Flipper_Zero_Firmware_1.0_sub-ghz.png" class="kg-image" alt="Firmware 1.0 Released" loading="lazy" width="1894" height="982" srcset="https://blog.flipper.net/content/images/size/w600/2024/09/Flipper_Zero_Firmware_1.0_sub-ghz.png 600w, https://blog.flipper.net/content/images/size/w1000/2024/09/Flipper_Zero_Firmware_1.0_sub-ghz.png 1000w, https://blog.flipper.net/content/images/size/w1600/2024/09/Flipper_Zero_Firmware_1.0_sub-ghz.png 1600w, https://blog.flipper.net/content/images/2024/09/Flipper_Zero_Firmware_1.0_sub-ghz.png 1894w" sizes="(min-width: 720px) 720px"></figure><ul><li><strong>89 radio protocols</strong> are supported by the Sub-GHz app and can be decoded by Flipper Zero. <a href="https://docs.flipper.net/sub-ghz/supported-vendors">Find the full list in Flipper Docs</a>.</li><li><strong>External Sub-GHz hardware module support:</strong> You now have the option to connect an external module with the CC1101 chip to use a more sensitive external antenna instead of the built-in one. In the Flipper Sub-GHz app, you can switch between the built-in and external radio modules.</li><li><strong>Listen to analog walkie-talkie:</strong> Now you can use your Flipper Zero to listen to voice communications through analog walkie-talkies. The sound quality isn&#x2019;t perfect, but if speaking loudly enough into the walkie-talkie, you can hear the voice through the Flipper Zero piezo speaker.</li><li><strong>The new BinRAW file format</strong> allows you to store more signals and share them faster. BinRAW is a format for recording repetitive signals, and it is more compact than the RAW format. BinRAW contains only useful signal data without noise.</li></ul><h1 id="infrared-improvements">Infrared improvements</h1><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2024/08/Flipper_Zero_universal_remotes_UI.png" class="kg-image" alt="Firmware 1.0 Released" loading="lazy" width="1894" height="982" srcset="https://blog.flipper.net/content/images/size/w600/2024/08/Flipper_Zero_universal_remotes_UI.png 600w, https://blog.flipper.net/content/images/size/w1000/2024/08/Flipper_Zero_universal_remotes_UI.png 1000w, https://blog.flipper.net/content/images/size/w1600/2024/08/Flipper_Zero_universal_remotes_UI.png 1600w, https://blog.flipper.net/content/images/2024/08/Flipper_Zero_universal_remotes_UI.png 1894w" sizes="(min-width: 720px) 720px"></figure><ul><li><strong>Universal IR remotes:</strong> We added new universal IR remotes to control TVs, ACs, audio systems, and projectors and made simple and intuitive UIs for them.</li><li><strong>External Infrared hardware module support:</strong> The Flipper Infrared app now supports connecting an external Infrared module with more powerful LEDs to increase the range of the IR transmitter.</li></ul><h1 id="how-to-update-firmware">How to update firmware</h1><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2024/09/Flipper_Zero_firmware_1.0_update_mobile.png" class="kg-image" alt="Firmware 1.0 Released" loading="lazy" width="1894" height="982" srcset="https://blog.flipper.net/content/images/size/w600/2024/09/Flipper_Zero_firmware_1.0_update_mobile.png 600w, https://blog.flipper.net/content/images/size/w1000/2024/09/Flipper_Zero_firmware_1.0_update_mobile.png 1000w, https://blog.flipper.net/content/images/size/w1600/2024/09/Flipper_Zero_firmware_1.0_update_mobile.png 1600w, https://blog.flipper.net/content/images/2024/09/Flipper_Zero_firmware_1.0_update_mobile.png 1894w" sizes="(min-width: 720px) 720px"></figure><p>To access all of the newest features, update firmware on your Flipper Zero. You can do so via Bluetooth using <strong>Flipper Mobile App</strong> or via USB using the <strong>qFlipper</strong> app on your PC. Download the apps: <a href="https://flipperzero.one/downloads">flipperzero.one/downloads</a></p><figure class="kg-card kg-image-card"><a href="https://flipperzero.one/downloads"><img src="https://blog.flipper.net/content/images/2024/09/Flipper_Zero_update_now_button.png" class="kg-image" alt="Firmware 1.0 Released" loading="lazy" width="1796" height="238" srcset="https://blog.flipper.net/content/images/size/w600/2024/09/Flipper_Zero_update_now_button.png 600w, https://blog.flipper.net/content/images/size/w1000/2024/09/Flipper_Zero_update_now_button.png 1000w, https://blog.flipper.net/content/images/size/w1600/2024/09/Flipper_Zero_update_now_button.png 1600w, https://blog.flipper.net/content/images/2024/09/Flipper_Zero_update_now_button.png 1796w" sizes="(min-width: 720px) 720px"></a></figure><p>If you&#x2019;re updating from a <strong>firmware version 0.63 or earlier</strong>, you&#x2019;ll need to switch your Flipper Zero to DFU mode and then update the device via qFlipper as described in <a href="https://docs.flipper.net/basics/firmware-update/firmware-recovery#Wldo5">Flipper Docs</a>.</p><p></p><blockquote><em>MIFARE, MIFARE Classic, and ICODE are registered trademarks of NXP B.V.<br>FeliCa is a trademark of Sony Corporation.</em></blockquote>]]></content:encoded></item><item><title><![CDATA[Our Response to the Canadian Government]]></title><description><![CDATA[<p>In just a few years, Flipper Zero has become so popular that it&#x2019;s now surrounded by many myths. It&#x2019;s no wonder that people in power are trying to make Flipper Zero illegal. As you might have seen in the news, the Canadian government plans to ban</p>]]></description><link>https://blog.flipper.net/response-to-canadian-government/</link><guid isPermaLink="false">65ddf03189e6870001d7c93f</guid><category><![CDATA[Flipper Zero]]></category><dc:creator><![CDATA[Pavel Zhovner]]></dc:creator><pubDate>Tue, 19 Mar 2024 18:13:04 GMT</pubDate><media:content url="https://blog.flipper.net/content/images/2024/03/flipper_zero_against_ban_in_canada.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.flipper.net/content/images/2024/03/flipper_zero_against_ban_in_canada.jpg" alt="Our Response to the Canadian Government"><p>In just a few years, Flipper Zero has become so popular that it&#x2019;s now surrounded by many myths. It&#x2019;s no wonder that people in power are trying to make Flipper Zero illegal. As you might have seen in the news, the Canadian government plans to ban Flipper Zero as part of their efforts to combat auto theft.</p>
<!--kg-card-begin: html-->
<div style="position: relative">
  <div class="warning flipper-callout">
    <div class="callout-header">
      <div class="callout-icon"><!-- Leave empty --></div>
    </div>
    <b>TLDR:</b> The Canadian government has proposed a ban on Flipper Zero because it claims the device is being used to steal cars. This is not true. <a href="https://www.change.org/p/stop-the-absurd-ban-of-flipper-zero-in-canada"><u>Sign the petition</u></a>&#xA0;before the proposal is passed.
  </div>
</div>
<!--kg-card-end: html-->
<p>We believe that proposals like this are harmful to security and slow down technological progress. They are usually made by those who do not really understand how security works and will do nothing to solve the car theft problem. In this post, we&#x2019;ll explain why banning Flipper Zero instead of fixing security threats is not the solution.</p><h1 id="what-happened">What happened?</h1><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/03/Philippe_Champagne_canada-quote_ban_flippers_.jpg" class="kg-image" alt="Our Response to the Canadian Government" loading="lazy" width="2000" height="983" srcset="https://blog.flipper.net/content/images/size/w600/2024/03/Philippe_Champagne_canada-quote_ban_flippers_.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2024/03/Philippe_Champagne_canada-quote_ban_flippers_.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2024/03/Philippe_Champagne_canada-quote_ban_flippers_.jpg 1600w, https://blog.flipper.net/content/images/2024/03/Philippe_Champagne_canada-quote_ban_flippers_.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">The Minister of Innovation, Science and Industry announced a ban on Flipper Zero in Canada</span></figcaption></figure><p>At the National Summit on Combatting Auto Theft held on February 8, Fran&#xE7;ois-Philippe Champagne, the Canadian Minister of Innovation, Science and Industry, <a href="https://www.canada.ca/en/public-safety-canada/news/2024/02/government-of-canada-hosts-national-summit-on-combatting-auto-theft.html" rel="noreferrer">announced</a> measures to combat the rise in car theft in Canada. As one of the measures to address this issue, he proposed to ban Flipper Zero because he claims the device is being used to steal cars with <strong>keyless entry systems</strong>&#x1F92F;. (<em>Spoiler: this is not true</em>)</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/03/canadian_government_plans_to_ban_flipper_zero_-1.png" class="kg-image" alt="Our Response to the Canadian Government" loading="lazy" width="1800" height="1681" srcset="https://blog.flipper.net/content/images/size/w600/2024/03/canadian_government_plans_to_ban_flipper_zero_-1.png 600w, https://blog.flipper.net/content/images/size/w1000/2024/03/canadian_government_plans_to_ban_flipper_zero_-1.png 1000w, https://blog.flipper.net/content/images/size/w1600/2024/03/canadian_government_plans_to_ban_flipper_zero_-1.png 1600w, https://blog.flipper.net/content/images/2024/03/canadian_government_plans_to_ban_flipper_zero_-1.png 1800w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">The announcement of plans to ban Flipper Zero in Canada</span></figcaption></figure><h2 id="community-response">Community response</h2><p>Francois-Philippe Champagne also <a href="https://twitter.com/FP_Champagne/status/1755691837531078820" rel="noreferrer">tweeted</a> about the announcement, which received close to 900K views and 800 replies, becoming one of the most criticized tweets in his career. Here are some replies:</p>
<!--kg-card-begin: html-->
<blockquote class="twitter-tweet tw-align-center" data-conversation="none"><p lang="en" dir="ltr">By the way, at my CanSecWest conference some researchers recently showed how to use a Raspberry Pi to relay bluetooth to unlock poorly secured Bluetooth car locks. Does this mean you are going to try to outlaw computers too?</p>&#x2014; dragosr (@dragosr) <a href="https://twitter.com/dragosr/status/1755991048982290912?ref_src=twsrc%5Etfw">February 9, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<!--kg-card-end: html-->

<!--kg-card-begin: html-->
<blockquote class="twitter-tweet tw-align-center" data-conversation="none"><p lang="en" dir="ltr">If you knew anything about technology you would know the flipper and others are just simple ARM processors with basic sensors attached. Nothing ground breaking this will not stop a thing but makes it look like your doing something. The trick of politicians everywhere and it is&#x2026;</p>&#x2014; Adam Taylor (@ATaylorFPGA) <a href="https://twitter.com/ATaylorFPGA/status/1755977389308366852?ref_src=twsrc%5Etfw">February 9, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<!--kg-card-end: html-->
<p>The announced plans to ban Flipper Zero also caused a discussion on Hacker News (see <a href="https://news.ycombinator.com/item?id=39308731" rel="noreferrer">here</a> and <a href="https://news.ycombinator.com/item?id=39452494" rel="noreferrer">here</a>). Many users have said this ban won&apos;t fix the issue of insecure cars:</p>
<!--kg-card-begin: html-->
<table border="0" bgcolor="#f6f6ef"><tr>
  
<td><div style="margin-left:10px; margin-top:2px; margin-bottom:-10px;">
 
<span stype="font-family:Verdana, Geneva, sans-serif; font-size:  9pt; color:#828282;">
<a style="font-size: 9pt; color:#828282; text-decoration:none;" href="https://news.ycombinator.com/user?id=neilv">neilv</a>
<span title="2024-02-09T01:00:12">
<a style="font-size: 9pt; color:#828282; text-decoration:none;" href="https://news.ycombinator.com/item?id=39310046">09.02.2024 1:00</a></span>

<span style="font-size: 9pt; color:#828282;"> | 
<a style="font-size: 9pt; color:#828282; text-decoration: none;" href="https://news.ycombinator.com/item?id=39308731#39330297" aria-hidden="true">prev</a> | 
<a style="font-size: 9pt; color:#828282; text-decoration:none;" href="https://news.ycombinator.com/item?id=39308731#39309938" aria-hidden="true">next</a>
<a style="font-size: 9pt; color:#828282; text-decoration:none;">[&#x2013;]</a>
</span>
</span>
</div>
  
<div style="margin-left:10px; margin-bottom:10px;">

<p style="font-family:Verdana, Geneva, sans-serif; font-size: 10pt; margin-top: 8px; margin-bottom: 0px;&gt;

&lt;span style=" font-family:verdana, geneva, sans-serif; font-size: 10pt;">The Flipper Zero is a general-purpose tool and STEM educational device.   By banning the device, a country would be setting back their workforce of engineers and scientists a bit.

</p><p style="font-family:Verdana, Geneva, sans-serif; font-size: 10pt; margin-top: 8px; margin-bottom: 0px;&gt;

&lt;span style=" font-family:verdana, geneva, sans-serif; font-size: 10pt;">How can you use a Flipper Zero to steal a car?  Flipper Zero can&apos;t crack hard encryption.

</p><p style="font-family:Verdana, Geneva, sans-serif; font-size: 10pt; margin-top: 8px; margin-bottom: 0px;&gt;

&lt;span style=" font-family:verdana, geneva, sans-serif; font-size: 10pt;">Is the real problem that cars were made with security that they already knew was negligently weak at the time?  If so, is a recall of those cars more appropriate?

</p></div>
</td></tr></table>
<!--kg-card-end: html-->

<!--kg-card-begin: html-->
<table border="0" bgcolor="#f6f6ef"><tr>
  
<td><div style="margin-left:10px; margin-top:2px; margin-bottom:-10px;">
 
<span stype="font-family:Verdana, Geneva, sans-serif; font-size:  9pt; color:#828282;">
<a style="font-size: 9pt; color:#828282; text-decoration:none;" href="https://news.ycombinator.com/user?id=advael">advael</a>
<span title="2024-02-09T02:50:30">
<a style="font-size: 9pt; color:#828282; text-decoration:none;" href="https://news.ycombinator.com/item?id=39310825">09.02.2024 2:50</a></span>

<span style="font-size: 9pt; color:#828282;"> | 
<a style="font-size: 9pt; color:#828282; text-decoration: none;" href="https://news.ycombinator.com/item?id=39308731#39310376" aria-hidden="true">prev</a> | 
<a style="font-size: 9pt; color:#828282; text-decoration:none;" href="https://news.ycombinator.com/item?id=39308731#39310005" aria-hidden="true">next</a>
<a style="font-size: 9pt; color:#828282; text-decoration:none;">[&#x2013;]</a>
</span>
</span>
</div>
  
<div style="margin-left:10px; margin-bottom:10px;">

<p style="font-family:Verdana, Geneva, sans-serif; font-size: 10pt; margin-top: 8px;&gt;

&lt;span style=" font-family:verdana, geneva, sans-serif; font-size: 10pt;">So if I&apos;m reading this right, they&apos;re banning something that is too underpowered to run the exploits people are using to steal cars (which are only possible in the first place because car companies&apos; threat model is mostly about their customers rather than thieves) in order to pretend to do something about car theft

</p></div>
</td></tr></table>
<!--kg-card-end: html-->
<p>The <a href="https://www.canrepair.ca/about-us" rel="noreferrer">Canadian Repair Coalition</a> has issued <a href="https://cdn.flipper.net/canada_repair_statement.pdf" rel="noreferrer">a statement</a> regarding our situation.</p><blockquote>Simplistic solutions, such as banning a device without a thorough understanding of its functions and benefits, are counterproductive, and we encourage the government to do better.<br><br><em>[Canadian Repair Coalition] Jasvinder Mann, Alana Baker &amp; Dr. Alissa Centivany</em></blockquote><p></p><h1 id="how-car-theft-actually-works">How car theft actually works</h1><p>The Canadian government news release mentions that the announced ban on Flipper Zero is one of the measures to combat the theft of cars with keyless entry systems. To find out if Flipper Zero can be used to steal such cars, it&apos;s important to understand how keyless entry systems work and what car thieves do to hack them.</p><h3 id="what-is-a-keyless-entry-system">What is a keyless entry system?</h3><p>Cars with keyless entry systems are designed to unlock when the key fob is in close proximity without requiring the owner to press a button on the key fob. Simply touching the door handle is enough to trigger the car&apos;s sensors and unlock the doors. The engine then starts with a press of a button on the dashboard when the key is nearby. After that, the key fob won&apos;t be necessary until the next stop.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/03/key_autodetect--1-.png" class="kg-image" alt="Our Response to the Canadian Government" loading="lazy" width="2000" height="1037" srcset="https://blog.flipper.net/content/images/size/w600/2024/03/key_autodetect--1-.png 600w, https://blog.flipper.net/content/images/size/w1000/2024/03/key_autodetect--1-.png 1000w, https://blog.flipper.net/content/images/size/w1600/2024/03/key_autodetect--1-.png 1600w, https://blog.flipper.net/content/images/size/w2400/2024/03/key_autodetect--1-.png 2400w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">The car will unlock when it detects the key fob nearby</span></figcaption></figure><p>Once again, the engine will remain running and the doors unlocked &#x2014; even if the original key fob is not in proximity of the car, which is exactly what car thieves exploit.</p><h3 id="how-thieves-hack-keyless-entry-systems">How thieves hack keyless entry systems</h3><p>To steal a car with a keyless entry system, thieves work in pairs and use radio repeaters to trick the car into believing the key fob is nearby when it&apos;s actually inside the victim&apos;s house.</p><p>To do this, thieves establish a connection between the car and the key fob using two repeaters. They hold one repeater near the car and another as close as possible to the house to reach the key fob inside. The thief next to the house uses a repeater with a large antenna that can pick up signals even through a wall. Since key fobs are usually left near the front door, a thief with such a repeater can easily locate them. Once connected, the car and the key fob assume they are near each other, which allows the thieves to unlock the car door and start the engine.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/03/car_keyless_repeater_system--1-.jpg" class="kg-image" alt="Our Response to the Canadian Government" loading="lazy" width="1500" height="777" srcset="https://blog.flipper.net/content/images/size/w600/2024/03/car_keyless_repeater_system--1-.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2024/03/car_keyless_repeater_system--1-.jpg 1000w, https://blog.flipper.net/content/images/2024/03/car_keyless_repeater_system--1-.jpg 1500w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Thieves trick the car into thinking the key fob is near</span></figcaption></figure>
<!--kg-card-begin: html-->
<div style="position: relative">
  <div class="info flipper-callout">
    <div class="callout-header">
      <div class="callout-icon"><!-- Leave empty --></div>
    </div>
    The communication protocol between a key fob and a car is bidirectional. Many keyless repeaters can relay signals in both directions with an attack range of up to 1 kilometer. Others relay signals only from the car to the key fob &#x2014; their attack range is limited by the key fob signal range.
  </div>
</div>
<!--kg-card-end: html-->
<figure class="kg-card kg-video-card kg-width-regular kg-card-hascaption" data-kg-thumbnail="https://blog.flipper.net/content/media/2024/03/car_thieves_use_keyless_repeaters_to_steal_cars_compressed_thumb.jpg" data-kg-custom-thumbnail>
            <div class="kg-video-container">
                <video src="https://blog.flipper.net/content/media/2024/03/car_thieves_use_keyless_repeaters_to_steal_cars_compressed.mp4" poster="https://img.spacergif.org/v1/1920x1080/0a/spacer.png" width="1920" height="1080" playsinline preload="metadata" style="background: transparent url(&apos;https://blog.flipper.net/content/media/2024/03/car_thieves_use_keyless_repeaters_to_steal_cars_compressed_thumb.jpg&apos;) 50% 50% / cover no-repeat;"></video>
                <div class="kg-video-overlay">
                    <button class="kg-video-large-play-icon">
                        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                            <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
                        </svg>
                    </button>
                </div>
                <div class="kg-video-player-container">
                    <div class="kg-video-player">
                        <button class="kg-video-play-icon">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
                            </svg>
                        </button>
                        <button class="kg-video-pause-icon kg-video-hide">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
                                <rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
                            </svg>
                        </button>
                        <span class="kg-video-current-time">0:00</span>
                        <div class="kg-video-time">
                            /<span class="kg-video-duration">0:34</span>
                        </div>
                        <input type="range" class="kg-video-seek-slider" max="100" value="0">
                        <button class="kg-video-playback-rate">1&#xD7;</button>
                        <button class="kg-video-unmute-icon">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/>
                            </svg>
                        </button>
                        <button class="kg-video-mute-icon kg-video-hide">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/>
                            </svg>
                        </button>
                        <input type="range" class="kg-video-volume-slider" max="100" value="100">
                    </div>
                </div>
            </div>
            <figcaption><p><span style="white-space: pre-wrap;">[video] CCTV footage showing how thieves steal cars with keyless entry systems</span></p></figcaption>
        </figure><p>To transmit signals to key fobs through walls, thieves need huge antennas and powerful repeaters. All video-documented cases of car theft show that theft equipment takes up a lot of space in thieves&apos; backpacks.</p><h2 id="what-hardware-thieves-actually-use">What hardware thieves actually use</h2><p>Car theft equipment for every car brand can be found on special websites for car thieves. Just google &quot;<code>keyless repeater</code>&quot; to get a long list of websites that offer car theft tools with worldwide shipping, with prices ranging from <code>&#x20AC;5,000</code> to <code>&#x20AC;14,000</code>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/03/Keyless_repeaters_are_freely_available_online-1.jpg" class="kg-image" alt="Our Response to the Canadian Government" loading="lazy" width="1800" height="1153" srcset="https://blog.flipper.net/content/images/size/w600/2024/03/Keyless_repeaters_are_freely_available_online-1.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2024/03/Keyless_repeaters_are_freely_available_online-1.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2024/03/Keyless_repeaters_are_freely_available_online-1.jpg 1600w, https://blog.flipper.net/content/images/2024/03/Keyless_repeaters_are_freely_available_online-1.jpg 1800w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Keyless repeaters are freely available on the internet</span></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/03/keyless_repeaters_support_multiple_car_brands_and_models-1.jpg" class="kg-image" alt="Our Response to the Canadian Government" loading="lazy" width="1800" height="1153" srcset="https://blog.flipper.net/content/images/size/w600/2024/03/keyless_repeaters_support_multiple_car_brands_and_models-1.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2024/03/keyless_repeaters_support_multiple_car_brands_and_models-1.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2024/03/keyless_repeaters_support_multiple_car_brands_and_models-1.jpg 1600w, https://blog.flipper.net/content/images/2024/03/keyless_repeaters_support_multiple_car_brands_and_models-1.jpg 1800w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">The list of supported car brands and models found on a keyless repeater online store</span></figcaption></figure><p>After learning about the sophisticated tools thieves use, let&#x2019;s have a look at the Flipper Zero&#x2019;s capabilities. Can it actually be used to steal cars?</p><h1 id="can-flipper-zero-hack-a-car">Can Flipper Zero hack a car?</h1><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2024/03/Pentagon_003_3--1-.jpg" class="kg-image" alt="Our Response to the Canadian Government" loading="lazy" width="1900" height="985" srcset="https://blog.flipper.net/content/images/size/w600/2024/03/Pentagon_003_3--1-.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2024/03/Pentagon_003_3--1-.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2024/03/Pentagon_003_3--1-.jpg 1600w, https://blog.flipper.net/content/images/2024/03/Pentagon_003_3--1-.jpg 1900w" sizes="(min-width: 720px) 720px"></figure><p>There are many videos on social media where kids promise to &#x201C;hack the Pentagon&#x201D; using a Flipper Zero to gain more views. Such content has created lots of myths and is used by journalists who don&apos;t bother with fact-checking. It&apos;s not surprising that some politicians have started to propose bans based on false information. To fix this, we&apos;ll try to bust some popular myths surrounding the Flipper Zero by answering the questions below:</p><h2 id="%E2%80%94-can-you-steal-a-car-with-flipper-zero">&#x2014; Can you steal a car with Flipper Zero? </h2><p>We are not aware of any officially confirmed cases of theft using a Flipper Zero. This is because the device has limited functionality and can&apos;t be used as a repeater to attack keyless entry systems. Flipper Zero is equipped with only one sub-1 GHz radio module, while keyless repeaters have 4 radio modules: one for communication with the car, another one for communication with the key fob, and two for communication between the repeaters.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/03/flipper_zero_vs_car_thieves_hardware.jpg" class="kg-image" alt="Our Response to the Canadian Government" loading="lazy" width="1500" height="777" srcset="https://blog.flipper.net/content/images/size/w600/2024/03/flipper_zero_vs_car_thieves_hardware.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2024/03/flipper_zero_vs_car_thieves_hardware.jpg 1000w, https://blog.flipper.net/content/images/2024/03/flipper_zero_vs_car_thieves_hardware.jpg 1500w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Flipper Zero vs real Keyless Repeaters</span></figcaption></figure><h2 id="%E2%80%94-but-flipper-zero-operates-at-the-same-frequencies-as-remote-controls">&#x2014;&#xA0;But Flipper Zero operates at the same frequencies as remote controls</h2><p>Yes, Flipper Zero can indeed receive and decode radio signals. However, intercepting the radio signal from the remote control won&#x2019;t be enough to unlock a modern car because they use encryption to securely provide access. The most popular encryption system used in car keys is rolling code, where every press of the key fob button generates a different encrypted radio signal. This security feature helps prevent basic attacks that only require a $2 radio module.</p><h2 id="%E2%80%94-what-is-the-difference-between-static-and-rolling-code">&#x2014; What is the difference between static and rolling code?</h2><p>A static code is a fixed set of numbers access control systems use to grant access. Every time the user presses a button on a remote, the same set of numbers is sent. It is enough to capture such a signal once, which can then be endlessly replayed to grant access.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/03/static_code_vs_rolling_code_radio.jpg" class="kg-image" alt="Our Response to the Canadian Government" loading="lazy" width="1900" height="1092" srcset="https://blog.flipper.net/content/images/size/w600/2024/03/static_code_vs_rolling_code_radio.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2024/03/static_code_vs_rolling_code_radio.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2024/03/static_code_vs_rolling_code_radio.jpg 1600w, https://blog.flipper.net/content/images/2024/03/static_code_vs_rolling_code_radio.jpg 1900w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Static code always sends the same sequence. Rolling code encrypts every signal differently</span></figcaption></figure><p>A rolling code is a changing set of numbers. This means that whenever the user presses a button on a remote, it generates a unique code based on a sequence known only by the access control system. Simply capturing a signal and replaying it wouldn&apos;t provide access since this set of numbers has already been used.</p><h1 id="how-to-hack-a-radio-signal-with-a-piece-of-wire">How to &quot;hack&quot; a radio signal with a piece of wire </h1><p>Although cars using static codes were discontinued around 20 years ago, they are still in use.&#xA0;The main vulnerability of such cars is that their radio signals can be easily captured and replayed without sophisticated tools. In fact, static codes are so insecure that they can be &quot;hacked&quot; with a piece of wire connected to a PC&apos;s microphone input:</p><figure class="kg-card kg-video-card kg-width-regular kg-card-hascaption" data-kg-thumbnail="https://blog.flipper.net/content/media/2024/03/how_to_receive_radio_signal_with_a_piece_of_wire_thumb.jpg" data-kg-custom-thumbnail>
            <div class="kg-video-container">
                <video src="https://blog.flipper.net/content/media/2024/03/how_to_receive_radio_signal_with_a_piece_of_wire.mp4" poster="https://img.spacergif.org/v1/1280x720/0a/spacer.png" width="1280" height="720" playsinline preload="metadata" style="background: transparent url(&apos;https://blog.flipper.net/content/media/2024/03/how_to_receive_radio_signal_with_a_piece_of_wire_thumb.jpg&apos;) 50% 50% / cover no-repeat;"></video>
                <div class="kg-video-overlay">
                    <button class="kg-video-large-play-icon">
                        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                            <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
                        </svg>
                    </button>
                </div>
                <div class="kg-video-player-container">
                    <div class="kg-video-player">
                        <button class="kg-video-play-icon">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
                            </svg>
                        </button>
                        <button class="kg-video-pause-icon kg-video-hide">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
                                <rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
                            </svg>
                        </button>
                        <span class="kg-video-current-time">0:00</span>
                        <div class="kg-video-time">
                            /<span class="kg-video-duration">1:58</span>
                        </div>
                        <input type="range" class="kg-video-seek-slider" max="100" value="0">
                        <button class="kg-video-playback-rate">1&#xD7;</button>
                        <button class="kg-video-unmute-icon">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/>
                            </svg>
                        </button>
                        <button class="kg-video-mute-icon kg-video-hide">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/>
                            </svg>
                        </button>
                        <input type="range" class="kg-video-volume-slider" max="100" value="100">
                    </div>
                </div>
            </div>
            <figcaption><p><span style="white-space: pre-wrap;">[video] Demonstration on how to receive a signal from a radio remote using a piece of wire</span></p></figcaption>
        </figure><div class="kg-card kg-toggle-card" data-kg-toggle-state="close">
            <div class="kg-toggle-heading">
                <h4 class="kg-toggle-heading-text"><span style="white-space: pre-wrap;">Technical details </span><code spellcheck="false" style="white-space: pre-wrap;"><span>(click to expand)</span></code></h4>
                <button class="kg-toggle-card-icon">
                    <svg id="Regular" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                        <path class="cls-1" d="M23.25,7.311,12.53,18.03a.749.749,0,0,1-1.06,0L.75,7.311"/>
                    </svg>
                </button>
            </div>
            <div class="kg-toggle-content"><ul><li value="1"><span style="white-space: pre-wrap;">Key fob radio waves at a frequency of </span><code spellcheck="false" style="white-space: pre-wrap;"><span>433 MHz</span></code><span style="white-space: pre-wrap;"> are picked up by the antenna and passed into the microphone input that captures them as an audio signal when recording sound.</span></li><li value="2"><span style="white-space: pre-wrap;">The key fob uses </span><code spellcheck="false" style="white-space: pre-wrap;"><span>OOK</span></code><span style="white-space: pre-wrap;"> modulation, where data is encoded through periods of presence and absence of a carrier frequency </span><code spellcheck="false" style="white-space: pre-wrap;"><span>433 MHz</span></code><span style="white-space: pre-wrap;">. The resulting signal has such a low switching frequency that we can see it in the captured audio signal, even though the sound card can&#x2019;t capture a signal of a frequency as high as </span><code spellcheck="false" style="white-space: pre-wrap;"><span>433 MHz</span></code><span style="white-space: pre-wrap;">.</span></li><li value="3"><code spellcheck="false" style="white-space: pre-wrap;"><span>The diode</span></code><span style="white-space: pre-wrap;"> is needed to allow only the positive half-wave of oscillations to pass into the microphone input. Since the amplitude of oscillations in the resonant circuit is symmetrical, if they are fed directly into the microphone input without a diode, the digitized signal will be nullified.</span></li><li value="4"><code spellcheck="false" style="white-space: pre-wrap;"><span>The capacitor</span></code><span style="white-space: pre-wrap;"> is required to block direct current (DC) from the microphone port from reaching the resonant circuit. Sound cards always supply a slight direct current to the microphone port, because it is needed for a microphone to work.</span></li><li value="5"><span style="white-space: pre-wrap;">In the video above, the audio is recorded using </span><a href="https://www.audacityteam.org/" rel="noreferrer"><span style="white-space: pre-wrap;">Audacity</span></a><span style="white-space: pre-wrap;">. The resulting .WAV file is processed in </span><a href="https://github.com/jopohl/urh" rel="noreferrer"><span style="white-space: pre-wrap;">Universal Radio Hacker (URH)</span></a><span style="white-space: pre-wrap;"> to decode the signal using the Princeton preset.</span></li></ul></div>
        </div><p>This example shows the absurdity of all attempts to ban devices like Flipper Zero. To protect against the interception of radio signals, it would be necessary to ban all electronics, including headphones, which is unrealistic.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/02/CC1101_transceiver_in_flipper_zero.jpg" class="kg-image" alt="Our Response to the Canadian Government" loading="lazy" width="1600" height="680" srcset="https://blog.flipper.net/content/images/size/w600/2024/02/CC1101_transceiver_in_flipper_zero.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2024/02/CC1101_transceiver_in_flipper_zero.jpg 1000w, https://blog.flipper.net/content/images/2024/02/CC1101_transceiver_in_flipper_zero.jpg 1600w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Flipper Zero&apos;s sub-1 GHz module is built with freely available components</span></figcaption></figure><p>The Flipper Zero is built with hardware components used in thousands of devices ranging from radio toys to educational DIY kits. For example, the <a href="https://www.ti.com/lit/ds/symlink/cc1101.pdf?ts=1709010822287&amp;ref_url=https%253A%252F%252Fwww.google.com%252F" rel="noreferrer">CC1101 radio transceiver</a> inside the Flipper Zero has been widely used since its release in 2007. The problem is not in the available radio hardware, but rather in the insecurity of outdated access control systems.</p><h1 id="security-through-obscurity-doesnt-work">Security through obscurity doesn&apos;t work</h1><p><a href="https://en.wikipedia.org/wiki/Security_through_obscurity" rel="noreferrer">Security through obscurity</a> is a cybersecurity concept where a system&apos;s design is kept hidden from attackers to prevent them from exploiting its vulnerabilities.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/03/security_through_obscurity_doesnt_work.jpg" class="kg-image" alt="Our Response to the Canadian Government" loading="lazy" width="1500" height="872" srcset="https://blog.flipper.net/content/images/size/w600/2024/03/security_through_obscurity_doesnt_work.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2024/03/security_through_obscurity_doesnt_work.jpg 1000w, https://blog.flipper.net/content/images/2024/03/security_through_obscurity_doesnt_work.jpg 1500w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Some systems only stay secure as long as their inner workings remain a secret</span></figcaption></figure><p>However, once the inner workings of a system are exposed (which is only a matter of time), its vulnerabilities become evident, leaving it open to exploitation.</p><ul><li>In 2012, a <a href="https://www.forbes.com/sites/andygreenberg/2012/07/23/hacker-will-expose-potential-security-flaw-in-more-than-four-million-hotel-room-keycard-locks" rel="noreferrer">vulnerability</a> was discovered in hotel room locks manufactured by Onity. These locks were widely used in millions of hotel rooms across the globe. The discovery revealed that with a simple device that could be plugged into the DC port found on these locks, a person could bypass the card reader and open the lock within seconds.</li><li>In the GSM mobile communication standard, the A5/1 encryption algorithm has been used for data encryption since 1987, with its security relying on the secrecy of the algorithm. The standard became widely adopted, but in 1994, the algorithms were disclosed, and millions of mobile phones became vulnerable to wiretapping. <a href="https://en.wikipedia.org/wiki/A5/1">en.wikipedia.org/wiki/A5/1</a></li></ul><h1 id="bans-cant-protect-insecure-systems">Bans can&apos;t protect insecure systems</h1><p>Instead of banning cybersecurity tools capable of finding vulnerabilities in security systems, these vulnerabilities must be fixed. The cybersecurity industry has long recognized that bans do not fix insecure systems, but instead only cause more problems by creating a false impression that proper measures have been taken. Let&#x2019;s have a look at real-life examples.</p><h2 id="http-vs-https">HTTP vs HTTPS</h2><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2024/03/36916928237.png" class="kg-image" alt="Our Response to the Canadian Government" loading="lazy" width="1016" height="553" srcset="https://blog.flipper.net/content/images/size/w600/2024/03/36916928237.png 600w, https://blog.flipper.net/content/images/size/w1000/2024/03/36916928237.png 1000w, https://blog.flipper.net/content/images/2024/03/36916928237.png 1016w" sizes="(min-width: 720px) 720px"></figure><p>The current state of access control systems can be compared to the evolution of the World Wide Web (WWW) protocol . In the past, websites used the insecure HTTP protocol, which lacked encryption. This made it vulnerable to data interception by anyone along the way or via Wi-Fi. Since internet traffic was routed through the equipment of many companies, there was a high risk of data interception.<br><br>The HTTP protocol was replaced by HTTP<strong>S </strong>(&quot;s&quot; meaning secure), which fixed security vulnerabilities by providing data encryption. HTTPS has become the standard for secure communication on the web.</p><h2 id="credit-cards-magnetic-stripe-vs-chip">Credit Cards: magnetic stripe vs chip</h2><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2024/03/credict_card_magnetic_stripe_vs_pin.jpg" class="kg-image" alt="Our Response to the Canadian Government" loading="lazy" width="1698" height="640" srcset="https://blog.flipper.net/content/images/size/w600/2024/03/credict_card_magnetic_stripe_vs_pin.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2024/03/credict_card_magnetic_stripe_vs_pin.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2024/03/credict_card_magnetic_stripe_vs_pin.jpg 1600w, https://blog.flipper.net/content/images/2024/03/credict_card_magnetic_stripe_vs_pin.jpg 1698w" sizes="(min-width: 720px) 720px"></figure><p>In the past, bank cards used magnetic stripe technology to store and transmit cardholder data. These magnetic stripes were easy to clone or skim. Criminals used skimming devices to steal card information, which allowed them to clone cards for unauthorized transactions.<br><br>To fight credit card fraud, chip cards were introduced. These cards use advanced technology with embedded microchips that generate unique transaction data for each transaction, making it extremely difficult for criminals to clone these cards.</p><h1 id="sign-our-petition-to-save-flipper-zero">Sign our petition to save Flipper Zero</h1><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2024/03/sign_the_petition.jpeg" class="kg-image" alt="Our Response to the Canadian Government" loading="lazy" width="1500" height="1124" srcset="https://blog.flipper.net/content/images/size/w600/2024/03/sign_the_petition.jpeg 600w, https://blog.flipper.net/content/images/size/w1000/2024/03/sign_the_petition.jpeg 1000w, https://blog.flipper.net/content/images/2024/03/sign_the_petition.jpeg 1500w" sizes="(min-width: 720px) 720px"></figure><p>We hope we&apos;ve properly explained why banning Flipper Zero makes no sense. Such measures do nothing but harm innovation and security.<strong> Now, it is our objective to convey this information to the government of Canada</strong>.<strong> Please,</strong>&#xA0;<a href="https://www.change.org/p/stop-the-absurd-blocking-of-flipper-zero-in-canada" rel="noreferrer"><a href="https://www.change.org/p/stop-the-absurd-ban-of-flipper-zero-in-canada" rel="noreferrer">sign the petition</a></a>.</p><figure class="kg-card kg-image-card"><a href="https://www.change.org/p/stop-the-absurd-ban-of-flipper-zero-in-canada"><img src="https://blog.flipper.net/content/images/2024/03/sign_a_petition.png" class="kg-image" alt="Our Response to the Canadian Government" loading="lazy" width="1600" height="245" srcset="https://blog.flipper.net/content/images/size/w600/2024/03/sign_a_petition.png 600w, https://blog.flipper.net/content/images/size/w1000/2024/03/sign_a_petition.png 1000w, https://blog.flipper.net/content/images/2024/03/sign_a_petition.png 1600w" sizes="(min-width: 720px) 720px"></a></figure><h2 id="what-else-can-i-do">What else can I do? </h2><ul><li>If you are in Canada, contact your <a href="https://www.ourcommons.ca/Members/en/search" rel="noreferrer">Member of Parliament</a> and share this information with them. If you are a member of a political party in Canada, please pass this information on to its representatives.</li><li>Get in touch with us if you believe you can help <code>pr@flipperdevices.com</code></li><li>We express our gratitude to the Canadian members of our community who have created a public initiative to save Flipper Zero: <a href="https://saveflipper.ca/">saveflipper.ca</a></li></ul>]]></content:encoded></item><item><title><![CDATA[Introducing Video Game Module Powered by Raspberry Pi]]></title><description><![CDATA[<p>We&apos;re excited to announce the Video Game Module, our new product developed in collaboration with Raspberry Pi! The module is powered by the first chip designed by Raspberry Pi&#x2014;the RP2040 microcontroller, the same as in the Raspberry Pi Pico board.</p><p>We slightly overclocked the microcontroller so</p>]]></description><link>https://blog.flipper.net/introducing-video-game-module-powered-by-raspberry-pi/</link><guid isPermaLink="false">65c243df7186180001498f31</guid><category><![CDATA[Flipper Zero]]></category><dc:creator><![CDATA[Pavel Zhovner]]></dc:creator><pubDate>Tue, 13 Feb 2024 14:01:20 GMT</pubDate><media:content url="https://blog.flipper.net/content/images/2024/02/Video_Game_Module_powered_by_Raspberry_Pi-1.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.flipper.net/content/images/2024/02/Video_Game_Module_powered_by_Raspberry_Pi-1.jpg" alt="Introducing Video Game Module Powered by Raspberry Pi"><p>We&apos;re excited to announce the Video Game Module, our new product developed in collaboration with Raspberry Pi! The module is powered by the first chip designed by Raspberry Pi&#x2014;the RP2040 microcontroller, the same as in the Raspberry Pi Pico board.</p><p>We slightly overclocked the microcontroller so it could generate a video signal. This allowed us to add the Video Out port for connecting to a TV and mirroring the Flipper Zero screen. The module also has a motion-tracking sensor that can be used in games and apps. As always, the firmware and schematics are completely open-source, so we&#x2019;re excited to see the ideas our community will come up with.</p><h1 id="technical-specs">Technical Specs</h1><p>We decided to encase the module instead of leaving it as a bare PCB so that it could fit tightly on Flipper Zero and support the weight of a heavy video cable. The body of the module is made of the same plastic as Flipper Zero, so the devices look like a single unit when connected.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/02/flipper_zero_and_video_game_module_powered_by_raspberry_pi.jpg" class="kg-image" alt="Introducing Video Game Module Powered by Raspberry Pi" loading="lazy" width="2000" height="1413" srcset="https://blog.flipper.net/content/images/size/w600/2024/02/flipper_zero_and_video_game_module_powered_by_raspberry_pi.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2024/02/flipper_zero_and_video_game_module_powered_by_raspberry_pi.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2024/02/flipper_zero_and_video_game_module_powered_by_raspberry_pi.jpg 1600w, https://blog.flipper.net/content/images/size/w2400/2024/02/flipper_zero_and_video_game_module_powered_by_raspberry_pi.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">The module is powered by the Raspberry Pi RP2040 microcontroller</span></figcaption></figure><ul><li><strong>Microcontroller</strong>: Raspberry Pi RP2040. Dual-core ARM Cortex-M0+ processor, clock running up to 133 MHz.</li><li><strong>SRAM</strong>: 264 kB on-chip.</li><li><strong>Gyroscope &amp; Accelerometer sensor:</strong>&#xA0;TDK ICM-42688-P is a 6-axis MEMS motion-tracking sensor (IMU).</li><li><strong>USB Type-C</strong>&#xA0;<strong>port</strong> connected to the microcontroller. Acts as a USB device or host (with the limitation that USB power delivery is not supported).</li><li><strong>Video Out port:&#xA0;</strong>DVI-D signal in 640&#x445;480 px, 60 Hz. The port supports a well-known video standard that we can&apos;t name due to copyright limitations &#x1F92B; The first letter is H, and the last one is I.</li><li><strong>GPIO breakout:&#xA0;</strong>11 GPIO pins connected to the RP2040 microcontroller, two ground pins, and one 3.3 V power pin.</li><li><strong>Boot button:&#xA0;</strong>activates bootloader mode (for developers).</li><li><strong>Reset button:&#xA0;</strong>reboots the module hardware.</li></ul><h3 id="video-out-port">Video Out port</h3><p>Playing games and using apps developed for Flipper Zero is much more fun on a bigger screen. The Video Out port can also be useful for practical purposes like displaying intercepted data on a larger screen while monitoring the broadcast on your Flipper Zero.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/02/flipper_zero_video_game_module_connected_to_tv_compressed.jpg" class="kg-image" alt="Introducing Video Game Module Powered by Raspberry Pi" loading="lazy" width="1900" height="1425" srcset="https://blog.flipper.net/content/images/size/w600/2024/02/flipper_zero_video_game_module_connected_to_tv_compressed.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2024/02/flipper_zero_video_game_module_connected_to_tv_compressed.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2024/02/flipper_zero_video_game_module_connected_to_tv_compressed.jpg 1600w, https://blog.flipper.net/content/images/2024/02/flipper_zero_video_game_module_connected_to_tv_compressed.jpg 1900w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">The Video Game Module allows mirroring the Flipper Zero screen to a TV</span></figcaption></figure><p>For the video out, we chose the most popular video port found in most modern TVs and monitors.</p>
<!--kg-card-begin: html-->
<div style="position: relative">
  <div class="info flipper-callout">
    <div class="callout-header">
      <div class="callout-icon"><!-- Leave empty --></div>
    </div>
    We can&#x2019;t name the port&#x2019;s standard due to strict copyright limitations. Getting certified to use the name seemed like too much work. We were too lazy to do it :)
  </div>
</div>
<!--kg-card-end: html-->
<p>The module transmits the DVI-D video signal with a resolution of 640&#x445;480 px and a refresh rate of 60 Hz. The image resolution may seem low, but it&#x2019;s important to remember that Flipper Zero&#x2019;s screen resolution is 128&#x445;64 px, and such pixelated image looks very nice and sharp on a TV screen.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/02/video_game_module_video_port_signed_compressed-1.jpg" class="kg-image" alt="Introducing Video Game Module Powered by Raspberry Pi" loading="lazy" width="1200" height="796" srcset="https://blog.flipper.net/content/images/size/w600/2024/02/video_game_module_video_port_signed_compressed-1.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2024/02/video_game_module_video_port_signed_compressed-1.jpg 1000w, https://blog.flipper.net/content/images/2024/02/video_game_module_video_port_signed_compressed-1.jpg 1200w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">The top side of the Video Game Module with the Video Out port and status LED</span></figcaption></figure><p>Video cables and their connectors are usually heavy, so we designed the module to fit Flipper Zero very tightly, making it hard to pull the module out of Flipper Zero when connected to a TV.</p><h1 id="gyroscope-accelerometer-sensor">Gyroscope &amp; Accelerometer Sensor</h1><p>To add another input method, we installed a 6-axis MEMS motion-tracking sensor into the Video Game Module. This TDK ICM-42688-P sensor has a gyroscope and accelerometer. It can be used to control games and for more practical purposes like controlling a computer with an air mouse.</p><figure class="kg-card kg-video-card kg-width-regular kg-card-hascaption" data-kg-thumbnail="https://blog.flipper.net/content/media/2024/02/video_game_module_gyroscope_demo-1_thumb.jpg" data-kg-custom-thumbnail>
            <div class="kg-video-container">
                <video src="https://blog.flipper.net/content/media/2024/02/video_game_module_gyroscope_demo-1.mp4" poster="https://img.spacergif.org/v1/1920x1080/0a/spacer.png" width="1920" height="1080" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://blog.flipper.net/content/media/2024/02/video_game_module_gyroscope_demo-1_thumb.jpg&apos;) 50% 50% / cover no-repeat;"></video>
                <div class="kg-video-overlay">
                    <button class="kg-video-large-play-icon">
                        <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                            <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
                        </svg>
                    </button>
                </div>
                <div class="kg-video-player-container kg-video-hide">
                    <div class="kg-video-player">
                        <button class="kg-video-play-icon">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/>
                            </svg>
                        </button>
                        <button class="kg-video-pause-icon kg-video-hide">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
                                <rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/>
                            </svg>
                        </button>
                        <span class="kg-video-current-time">0:00</span>
                        <div class="kg-video-time">
                            /<span class="kg-video-duration">0:04</span>
                        </div>
                        <input type="range" class="kg-video-seek-slider" max="100" value="0">
                        <button class="kg-video-playback-rate">1&#xD7;</button>
                        <button class="kg-video-unmute-icon">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/>
                            </svg>
                        </button>
                        <button class="kg-video-mute-icon kg-video-hide">
                            <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                                <path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/>
                            </svg>
                        </button>
                        <input type="range" class="kg-video-volume-slider" max="100" value="100">
                    </div>
                </div>
            </div>
            <figcaption><p><span style="white-space: pre-wrap;">The motion-tracking sensor can be used in apps and games</span></p></figcaption>
        </figure><h3 id="independent-access-to-the-sensor-from-flipper-zero"><strong>Independent access to the sensor from Flipper Zero</strong></h3><p>To make the motion-tracking sensor accessible not only for the Video Game Module microcontroller, we exposed the sensor&apos;s SPI pins at the Flipper Zero connector. This means that the motion-tracking sensor can be used directly by apps running on Flipper Zero, for example, Air Mouse.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/02/motion_tracking_sensor_connected_to_video_game_module_and_flipper_zero.jpg" class="kg-image" alt="Introducing Video Game Module Powered by Raspberry Pi" loading="lazy" width="1700" height="1114" srcset="https://blog.flipper.net/content/images/size/w600/2024/02/motion_tracking_sensor_connected_to_video_game_module_and_flipper_zero.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2024/02/motion_tracking_sensor_connected_to_video_game_module_and_flipper_zero.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2024/02/motion_tracking_sensor_connected_to_video_game_module_and_flipper_zero.jpg 1600w, https://blog.flipper.net/content/images/2024/02/motion_tracking_sensor_connected_to_video_game_module_and_flipper_zero.jpg 1700w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">The motion-tracking sensor is connected to the Raspberry Pi chip and Flipper Zero</span></figcaption></figure><p>The motion-tracking sensor is also connected to the Raspberry Pi RP2040 microcontroller inside the Video Game Module. This means that Video Game Module firmware and apps running on Flipper Zero have access to the sensor. Unfortunately, the sensor can&#x2019;t be used by the module and Flipper Zero at the same time because of the SPI interface connection limitations.</p><h1 id="quick-start-guide">Quick Start Guide</h1><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2024/02/4w2O7APBWL8pu8oR-tgVs_vgmquickstartguide03-1.png" class="kg-image" alt="Introducing Video Game Module Powered by Raspberry Pi" loading="lazy"></figure><p>Make sure to read the <a href="http://docs.flipper.net/video-game-module/quick-start">Quick start guide</a> carefully before starting the Video Game Module for the first time because these steps may not be immediately obvious:</p><ol><li><strong>Update firmware on your Flipper Zero.</strong> You&#x2019;ll need firmware version 0.98.3 or later.</li><li>If you keep your Flipper Zero in a case, <strong>remove the silicone bumper before installing the module</strong>:</li></ol><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/02/video_game_module_how_to_remove_silicone_bumper_compressed-1.jpg" class="kg-image" alt="Introducing Video Game Module Powered by Raspberry Pi" loading="lazy"><figcaption><span style="white-space: pre-wrap;">Remove the silicone bumper if your Flipper Zero is in a case</span></figcaption></figure><h1 id="demo-apps">Demo Apps</h1><p>The Raspberry Pi RP2040 microcontroller inside the Video Game Module makes it compatible with many open-source Raspberry Pi Pico projects. This means that the module can be used as a standalone device without connecting to Flipper Zero.</p><p>Here are several apps we prepared for Flipper Zero that work with the Video Game Module. We hope that trying them out will help you appreciate the sensitivity of the motion-tracking sensor and video out refresh rate. We&#x2019;ll be happy if these apps inspire you with ideas for your own projects!</p><h2 id="oscilloscope-scoppy-project">Oscilloscope (Scoppy project)</h2><p>Scoppy is an open-source project that turns Raspberry Pi Pico into a simple <strong>200 kHz Digital Oscilloscope</strong>. The Scoppy code can also run on the Video Game Module&#x2014;just flash the module with Scoppy firmware and connect it to an Android smartphone via USB.</p><p><strong>Scoppy Sources &amp; Documentation:</strong>&#xA0;<a href="https://github.com/fhdm-dev/scoppy">github.com/fhdm-dev/scoppy</a></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/02/video_game_module_oscilloscope_project_compressed.jpg" class="kg-image" alt="Introducing Video Game Module Powered by Raspberry Pi" loading="lazy"><figcaption><span style="white-space: pre-wrap;">The Video Game Module can be turned into a simple digital oscilloscope</span></figcaption></figure><h2 id="air-arkanoid-game">Air Arkanoid game</h2><p>Arkanoid is one of the most famous arcades in the world. Our version of the game is designed for Flipper Zero and supports the Video Game Module. Control the paddle in the game by tilting your Flipper Zero left or right and using the central button on the device&#x2019;s directional pad.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/02/arcanoid_game_for_video_game_module_on_flipper_zero_compressed.jpg" class="kg-image" alt="Introducing Video Game Module Powered by Raspberry Pi" loading="lazy"><figcaption><span style="white-space: pre-wrap;">The Air Arkanoid game can be controlled via the motion-tracking sensor in the Video Game Module</span></figcaption></figure><p>To download Air Arkanoid, go to the Apps tab in the <a href="https://flpr.app/" rel="noreferrer">Flipper Mobile App</a>.</p><h2 id="air-mouse-app">Air Mouse app</h2><p>The Air Mouse app turns Flipper Zero with the module into a computer mouse. Control the pointer on your computer by tilting and rotating your Flipper Zero with the help of the motion-tracking sensor inside the module. Simply connect your Flipper Zero to a computer or smartphone via Bluetooth or USB.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/02/Airmouse_02--1-.png" class="kg-image" alt="Introducing Video Game Module Powered by Raspberry Pi" loading="lazy" width="2000" height="1045" srcset="https://blog.flipper.net/content/images/size/w600/2024/02/Airmouse_02--1-.png 600w, https://blog.flipper.net/content/images/size/w1000/2024/02/Airmouse_02--1-.png 1000w, https://blog.flipper.net/content/images/size/w1600/2024/02/Airmouse_02--1-.png 1600w, https://blog.flipper.net/content/images/2024/02/Airmouse_02--1-.png 2280w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Control your computer with your Flipper Zero and the Video Game Module via Bluetooth</span></figcaption></figure><p>To download Air Mouse, go to the Apps tab in the <a href="https://flpr.app/" rel="noreferrer">Flipper Mobile App</a>.</p><h2 id="flipper-zero-game-engine">Flipper Zero Game Engine</h2><p>To make it easier to develop games for Flipper Zero, we&#x2019;re sharing our Flipper Zero Game Engine. The game engine helps game developers to do routine work faster, such as vector math, sprite caching, rendering, event and object behavior processing, etc. The Flipper Zero Game Engine also includes a motion-tracking sensor driver (ICM-42688-P), that can be used in games that support the Video Game Module. We&#x2019;re also sharing an example of a simple demo game that uses the Flipper Zero Game Engine.</p><ul><li><strong>Flipper Zero Game Engine:</strong> <a href="https://github.com/flipperdevices/flipperzero-game-engine">github.com/flipperdevices/flipperzero-game-engine</a></li><li><strong>Demo Game:</strong> <a href="https://github.com/flipperdevices/flipperzero-game-engine-example">github.com/flipperdevices/flipperzero-game-engine-example</a></li></ul><h1 id="open-source-firmware-and-schematics">Open-source Firmware and Schematics</h1><p>As always, the firmware and schematics are fully open-source. We can&#x2019;t wait to see the amazing use cases for the module the community will come up with. We also welcome commits to our official firmware repository.</p><ul><li><strong>Firmware Sources:</strong>&#xA0;<a href="https://github.com/flipperdevices/video-game-module">github.com/flipperdevices/video-game-module</a></li><li><strong>Schematics &amp; Pinouts:</strong>&#xA0;<a href="https://docs.flipper.net/video-game-module/gpio">docs.flipper.net/video-game-module/gpio</a></li></ul><h2 id="compatibility-with-raspberry-pi-pico">Compatibility with Raspberry Pi Pico</h2><p>We exposed all unused RP2040 pins at the 14-pin GPIO breakout and Flipper Zero connector for you to use in your projects. You can compare the Video Game Module pinout and Raspberry Pi Pico board pinout below:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2024/02/video_game_module_compatibility_with_raspberry_pi_pico.png" class="kg-image" alt="Introducing Video Game Module Powered by Raspberry Pi" loading="lazy" width="2000" height="1738" srcset="https://blog.flipper.net/content/images/size/w600/2024/02/video_game_module_compatibility_with_raspberry_pi_pico.png 600w, https://blog.flipper.net/content/images/size/w1000/2024/02/video_game_module_compatibility_with_raspberry_pi_pico.png 1000w, https://blog.flipper.net/content/images/size/w1600/2024/02/video_game_module_compatibility_with_raspberry_pi_pico.png 1600w, https://blog.flipper.net/content/images/size/w2400/2024/02/video_game_module_compatibility_with_raspberry_pi_pico.png 2400w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">The Video Game Module pinout and Raspberry Pi Pico board pinout</span></figcaption></figure>
<!--kg-card-begin: html-->
<div style="position: relative">
  <div class="info flipper-callout">
    <div class="callout-header">
      <div class="callout-icon"><!-- Leave empty --></div>
    </div>
    Please note that although the Video Game Module is compatible with the Raspberry Pi Pico, because the module is built on the same microcontroller, the GPIO pinouts are slightly different.
  </div>
</div>
<!--kg-card-end: html-->
<ul><li>GPIO pins <strong>8-15</strong> and <strong>18-20</strong> are used inside the Video Game Module for video out. These pins aren&#x2019;t accessible via Video Game Module connectors.</li><li>GPIO pins&#xA0;<strong>0-7, 16, 17, 21, 22, 26-28</strong>&#xA0;are exposed at the connectors in both the Video Game Module and the Raspberry Pi Pico board. Note that pins&#xA0;<strong>2-7</strong>&#xA0;are also connected to the motion-tracking sensor.</li><li>GPIO pins&#xA0;<strong>23-25 and 29</strong>&#xA0;are used inside the Raspberry Pi Pico board and aren&#x2019;t accessible via the connectors. In the Video Game Module, these pins are unused and are exposed at the 14-pin GPIO breakout.</li></ul><h1 id="how-to-buy">How to Buy</h1><p>The Video Game Module is now available for customers in the EU and US through our <a href="https://shop.flipperzero.one/" rel="noreferrer">official shop</a> and our official distributor,&#xA0;<a href="https://lab401.com/" rel="noreferrer">Lab401</a>. Shipping to other regions through partner distributors will be available soon.</p><figure class="kg-card kg-image-card"><a href="https://shop.flipperzero.one/products/video-game-module-for-flipper-zero"><img src="https://blog.flipper.net/content/images/2024/02/buy-now-1.jpg" class="kg-image" alt="Introducing Video Game Module Powered by Raspberry Pi" loading="lazy" width="1920" height="947" srcset="https://blog.flipper.net/content/images/size/w600/2024/02/buy-now-1.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2024/02/buy-now-1.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2024/02/buy-now-1.jpg 1600w, https://blog.flipper.net/content/images/2024/02/buy-now-1.jpg 1920w" sizes="(min-width: 720px) 720px"></a></figure>]]></content:encoded></item><item><title><![CDATA[1 Month Battery Life with Firmware Update]]></title><description><![CDATA[<p>We are proud to announce that starting the firmware version <strong>0.82</strong>, your Flipper Zero&apos;s battery life will last up to 1 month! It took us 2 years to resolve all firmware issues that prevented Flipper Zero from switching to power-saving mode, resulting in the same power consumption</p>]]></description><link>https://blog.flipper.net/1-month-battery-life-with-firmware-update/</link><guid isPermaLink="false">6565b30c62a2b30001e3e760</guid><category><![CDATA[Flipper Zero]]></category><category><![CDATA[Developer Blog]]></category><dc:creator><![CDATA[Anna Oake]]></dc:creator><pubDate>Thu, 27 Apr 2023 21:57:19 GMT</pubDate><media:content url="https://blog.flipper.net/content/images/2023/04/flipper_zero_1month_batter_life_firmware_update.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.flipper.net/content/images/2023/04/flipper_zero_1month_batter_life_firmware_update.jpg" alt="1 Month Battery Life with Firmware Update"><p>We are proud to announce that starting the firmware version <strong>0.82</strong>, your Flipper Zero&apos;s battery life will last up to 1 month! It took us 2 years to resolve all firmware issues that prevented Flipper Zero from switching to power-saving mode, resulting in the same power consumption baseline in both idle and active states. As a result, Flipper Zero&apos;s battery life was approximately 1 week instead of the intended 1 month.</p><p>In this post, we will tell you about the new power saving mode and the challenges with the STM32 microcontroller we had to overcome to make the new mode a reality. We will also share updates about worldwide sales.</p><h1 id="new-power-saving-mode">New Power-Saving Mode</h1><p>The firmware version <strong>0.82</strong> is available &#x2014; <a href="https://update.flipperzero.one/" rel="noopener noreferrer">Update now</a>! This version brings a new deep sleep feature that extends your device&apos;s battery life up to 1 month by dramatically decreasing power consumption when there are no running applications or connections on your Flipper Zero.</p><p>When Flipper Zero is not running any user applications, the device enters an idle state (sleep mode). Once an application starts, the device switches to an active state: the backlight activates, data exchange with the microSD card begins, and so on. In the active state, power consumption can reach up to 30 mA with a backlight, up to 400 mA with an active transceiver, and even up to 2 A with an active transceiver and connected external module.</p><p>The microcontroller used in Flipper Zero supports different sleep modes that have different levels of energy efficiency:</p><ul><li><strong>Before</strong>, we used a mode that wasn&apos;t a true sleep mode. This mode was easier to implement but less energy efficient. In this Legacy sleep mode, <strong>Flipper Zero consumed 9 mA of power in the idle state</strong>.</li><li><strong>After</strong> resolving firmware issues, we enabled a new energy-efficient sleep mode, in which various microcontroller blocks are turned off, and the core clock is switched to a more energy-efficient clock generator. In this deep sleep mode, <strong>the power consumption baseline in the idle state is only 1.5 mA!</strong></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2023/04/flipper_zero_new_saving_mode_power_consumption--1--1.png" class="kg-image" alt="1 Month Battery Life with Firmware Update" loading="lazy" width="2000" height="1037" srcset="https://blog.flipper.net/content/images/size/w600/2023/04/flipper_zero_new_saving_mode_power_consumption--1--1.png 600w, https://blog.flipper.net/content/images/size/w1000/2023/04/flipper_zero_new_saving_mode_power_consumption--1--1.png 1000w, https://blog.flipper.net/content/images/size/w1600/2023/04/flipper_zero_new_saving_mode_power_consumption--1--1.png 1600w, https://blog.flipper.net/content/images/size/w2400/2023/04/flipper_zero_new_saving_mode_power_consumption--1--1.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>The new firmware results in power consumption of approximately 1.5 mA in the new deep sleep mode, compared to about 9 mA in the old sleep mode</figcaption></figure><h3 id="how-to-check-new-deep-sleep-mode">How to check new deep sleep mode</h3><p>The implementation of the deep sleep feature was complex. There are several scenarios where this mode may not be activated, such as when a background application is running, second processing core tasks are active, or a Remote Procedure Call (RPC) session is ongoing over Bluetooth LE.</p><p>To verify if your Flipper Zero is properly entering deep sleep mode, go to <code>Settings &#x2192;<strong> &#xA0;</strong>Power<strong> </strong>&#x2192; Battery Info</code> and wait for the LCD backlight to turn off. A <code>Napping...</code> message should appear in the battery status.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2023/04/flipper_zero_batter_status_napping-1.png" class="kg-image" alt="1 Month Battery Life with Firmware Update" loading="lazy" width="1600" height="563" srcset="https://blog.flipper.net/content/images/size/w600/2023/04/flipper_zero_batter_status_napping-1.png 600w, https://blog.flipper.net/content/images/size/w1000/2023/04/flipper_zero_batter_status_napping-1.png 1000w, https://blog.flipper.net/content/images/2023/04/flipper_zero_batter_status_napping-1.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Battery info widget shows if deep sleep mode is on</figcaption></figure><h3 id="how-to-turn-off-deep-sleep-mode">How to turn off deep sleep mode</h3><p>This deep sleep mode is enabled by default. You don&apos;t need to disable it unless you have problems with your Flipper Zero. Mind that this deep sleep mode is still in its experimental phase. It may lead to unpredictable bugs and side effects. Our testing team has discovered and resolved most of the bugs, but there may still be some that we still need to identify. If you think the mode causes the bug, you can disable the mode for testing purposes and share the issue <a href="https://forum.flipperzero.one/t/flipper-zero-low-power-mode/15494">on the forum</a>.</p><p>To disable the deep sleep mode on your device, go to <code>Settings &#x2192; System</code> and set <code>Sleep Method</code> to <code>Legacy</code>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2023/04/Monosnap-Miro-2023-04-27-13-28-57.png" class="kg-image" alt="1 Month Battery Life with Firmware Update" loading="lazy" width="2000" height="661" srcset="https://blog.flipper.net/content/images/size/w600/2023/04/Monosnap-Miro-2023-04-27-13-28-57.png 600w, https://blog.flipper.net/content/images/size/w1000/2023/04/Monosnap-Miro-2023-04-27-13-28-57.png 1000w, https://blog.flipper.net/content/images/size/w1600/2023/04/Monosnap-Miro-2023-04-27-13-28-57.png 1600w, https://blog.flipper.net/content/images/size/w2400/2023/04/Monosnap-Miro-2023-04-27-13-28-57.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Disable the new deep sleep mode in Settings</figcaption></figure><!--kg-card-begin: markdown--><h1 id="why-was-the-deep-sleep-feature-so-challenging">Why was the deep sleep feature so challenging?</h1>
<!--kg-card-end: markdown--><p>We tried to implement deep sleep mode for a long time, but we could not understand why the system crashed after exiting deep sleep mode.</p><p>Flipper Zero is based on an <a href="https://www.st.com/en/microcontrollers-microprocessors/stm32wb-series.html">STM32WB</a> series microcontroller. Firmware development with this microcontroller is highly challenging due to its dual-core architecture, shared peripherals, and closed-source firmware for the Core 2<strong> </strong>without the ability to debug it&#x1F92F;</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2023/04/image-3.png" class="kg-image" alt="1 Month Battery Life with Firmware Update" loading="lazy" width="2000" height="1567" srcset="https://blog.flipper.net/content/images/size/w600/2023/04/image-3.png 600w, https://blog.flipper.net/content/images/size/w1000/2023/04/image-3.png 1000w, https://blog.flipper.net/content/images/size/w1600/2023/04/image-3.png 1600w, https://blog.flipper.net/content/images/2023/04/image-3.png 2259w" sizes="(min-width: 720px) 720px"><figcaption>The second core runs proprietary binary blob firmware with no way to debug it</figcaption></figure><p>Another problem was poor documentation and incomplete Real-Time Operating System (RTOS) support in the Software Development Kit (SDK). We had to add support for deep sleep inside the operating system ourselves. The <a href="https://github.com/flipperdevices/flipperzero-firmware/blob/0.82.3/firmware/targets/f7/furi_hal/furi_hal_os.c#L132">furi_hal_os_sleep()</a> function performs tick suppression inside the OS domain.</p><p>Although the ARM architecture was initially designed for mobile usage and low power consumption in mind, the implementation of power-saving functions is actually carried out by chip vendors. Vendors use various approaches to implement power-saving functions and provide examples and SDKs to simplify developers&apos; lives. But that doesn&#x2019;t guarantee success, especially on multicore, shared periphery chips.</p><h3 id="challenges-with-core-2">Challenges with Core 2</h3><p>A set of hardware semaphores and Inter-processor communication controller are used to control subsystem ownership and signaling between Core 1 and Core 2. Core 1 firmware must explicitly take some of them to control the clock, flash, and other critical stages. Combining work with a flash controller and active BLE connection is an exceptionally complex task: using a flash controller stalls instruction/data fetch from memory, which causes Core 2 to miss transmission deadlines. The whole system is quite sophisticated and we&apos;ll cover it in a separate post.</p><!--kg-card-begin: markdown--><h1 id="challenges-with-clock-power">Challenges with Clock &amp; Power</h1>
<!--kg-card-end: markdown--><p>Almost every electronic device has oscillators inside. Flipper Zero MCU has 7 oscillators. An oscillator is a circuit consisting of a small crystal of quartz and an amplifier that generates even pulses, which provide precise timing for the MCU core and subsystems! These pulses are crucial for the microcontroller&apos;s internal operations.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2023/04/02_02.png" class="kg-image" alt="1 Month Battery Life with Firmware Update" loading="lazy" width="2000" height="1037" srcset="https://blog.flipper.net/content/images/size/w600/2023/04/02_02.png 600w, https://blog.flipper.net/content/images/size/w1000/2023/04/02_02.png 1000w, https://blog.flipper.net/content/images/size/w1600/2023/04/02_02.png 1600w, https://blog.flipper.net/content/images/size/w2400/2023/04/02_02.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Oscillators play a crucial role in the functionality of Flipper Zero firmware</figcaption></figure><p>Three of these oscillators are especially important:</p><ul><li><strong>High-Speed External (HSE)</strong> and <strong>Low-Speed External (LSE)</strong> oscillators provide reference clocks, which are precise, but not energy efficient.</li><li><strong>High-Speed Internal (HSI)</strong> oscillator provides an internal clock, which is energy efficient, but not precise.</li></ul><p>The LSE oscillator is continuously active, the HSE oscillator is activated when an application is running, and the HSI oscillator is activated when the device enters deep sleep mode. However, using the HSE oscillator during deep sleep is impossible, requiring all clock domains to be switched to HSI before entering deep sleep mode. Overcoming this challenge, we have developed the <a href="https://github.com/flipperdevices/flipperzero-firmware/blob/0.82.3/firmware/targets/f7/furi_hal/furi_hal_clock.c#L205">furi_hal_clock_switch_to_hsi()</a> function that facilitates a smooth and efficient transition to the energy-efficient HSI oscillator, enabling deep sleep functionality.</p><p>Since going into sleep mode physically turns off peripheral subsystems, they must be in a disabled state. That brings API design to a new level of complexity, especially in multitask OS. It took us some time to design APIs to be compatible with deep sleep mode. The <a href="https://github.com/flipperdevices/flipperzero-firmware/blob/0.82.3/firmware/targets/f7/furi_hal/furi_hal_power.c#L175">furi_hal_power_deep_sleep()</a> function is responsible for the transition into deep sleep mode at the power domain level.</p><!--kg-card-begin: markdown--><h1 id="challenges-with-debugging">Challenges with Debugging</h1>
<!--kg-card-end: markdown--><p>Another problem is debugging Core 1 firmware when in deep sleep mode: MCU Debug subsystem must be specially configured to wake the system up from sleep. Debugging is also impossible if the system is misconfigured, exiting, or entering deep sleep mode and something goes wrong. Also, halting MCU while in sleep will wake it up on the HSI clock, which is much slower than HSE and requires a special debug adapter configuration.</p><p>As you can see, developing and debugging with the STM32WB series microcontroller is a challenging task. That is why it took us so long to identify and resolve all the issues related to our firmware. But thanks to our team of developers, the battery life of your Flipper Zero will last up to 1 month, starting the firmware version 0.82.</p><!--kg-card-begin: markdown--><h1 id="how-to-buy-flipper-zero-worldwide">How to buy Flipper Zero worldwide</h1>
<!--kg-card-end: markdown--><p>Sales of Flipper Zero are gaining momentum around the world. More than 200 thousand devices have already reached their owners! At the same time, worldwide delivery is a big challenge for us. We engage reseller partners to sell Flipper Zero worldwide.</p><p>For your convenience, we have created a <a href="https://flipperzero.one/how-to-buy">How<strong> </strong>To Buy</a> page where you can select your country and view live information about all official partners. The page is currently in beta mode but will soon update data about partners in real time.</p><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2023/04/Screenshot-2023-04-27-at-20.46.42.png" class="kg-image" alt="1 Month Battery Life with Firmware Update" loading="lazy" width="924" height="1196" srcset="https://blog.flipper.net/content/images/size/w600/2023/04/Screenshot-2023-04-27-at-20.46.42.png 600w, https://blog.flipper.net/content/images/2023/04/Screenshot-2023-04-27-at-20.46.42.png 924w" sizes="(min-width: 720px) 720px"></figure><p>Due to the incredible popularity of Flipper Zero, many fraudulent accounts have appeared on the Internet. Only the websites listed here are trusted. We do not sell our products on social networks like Instagram, Telegram, or TikTok.</p><p>&#x26A0;&#xFE0F; If you are offered to buy Flipper Zero anywhere else, it is most likely a fraudulent seller. Don&apos;t send them money, you will most probably be scammed. Please report all scammers to us via the <a href="https://flipperzero.one/abuse-report">Abuse Report Form</a>.</p>]]></content:encoded></item><item><title><![CDATA[Shop is Now Open]]></title><description><![CDATA[<p>Good news, everyone! We&apos;ve already <a href="https://blog.flipper.net/most-kickstarter-orders-shipped/">shipped 90% of Kickstarter</a> orders and are ready to start producing a new Flipper Zero batch that will be ready to ship in <strong>August 2022</strong>, only <strong>after</strong> the remaining 10% of the orders have been shipped.</p><p>We don&apos;t have devices in</p>]]></description><link>https://blog.flipper.net/shop-is-open/</link><guid isPermaLink="false">6565b30c62a2b30001e3e75a</guid><dc:creator><![CDATA[Pavel Zhovner]]></dc:creator><pubDate>Thu, 07 Jul 2022 16:30:00 GMT</pubDate><media:content url="https://blog.flipper.net/content/images/2022/07/Image-from-iOS.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.flipper.net/content/images/2022/07/Image-from-iOS.jpg" alt="Shop is Now Open"><p>Good news, everyone! We&apos;ve already <a href="https://blog.flipper.net/most-kickstarter-orders-shipped/">shipped 90% of Kickstarter</a> orders and are ready to start producing a new Flipper Zero batch that will be ready to ship in <strong>August 2022</strong>, only <strong>after</strong> the remaining 10% of the orders have been shipped.</p><p>We don&apos;t have devices in stock, and we need to estimate the demand, so we are opening pre-orders right now.</p><ul><li>Shipping in <strong>August 2022</strong></li><li>Only for &#x1F1FA;&#x1F1F8; the USA, &#x1F1E8;&#x1F1E6; Canada, &#x1F1E6;&#x1F1FA; Australia, &#x1F1EA;&#x1F1FA; European Union, and &#x1F1EC;&#x1F1E7; the United Kingdom.</li></ul><div class="kg-card kg-button-card kg-align-center"><a href="https://shop.flipperzero.one/?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=july_2022_preorders" class="kg-btn kg-btn-accent">PRE-ORDER NOW</a></div><h3 id="one-more-thing">One more thing</h3><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2022/07/fpr_protection--1-.jpg" class="kg-image" alt="Shop is Now Open" loading="lazy" width="1500" height="1223" srcset="https://blog.flipper.net/content/images/size/w600/2022/07/fpr_protection--1-.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/07/fpr_protection--1-.jpg 1000w, https://blog.flipper.net/content/images/2022/07/fpr_protection--1-.jpg 1500w" sizes="(min-width: 720px) 720px"></figure><p>You can now order some <b>Screen Protectors</b> to keep your Dolphin safe! Bundle up with a <b>Silicone Case</b> for the best protection. All the usual <a href="https://shop.flipperzero.one/collections/flipper-zero-accessories/?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=july_2022_preorders">accessories</a> are also in stock.</p>]]></content:encoded></item><item><title><![CDATA[90% of Kickstarter Orders Shipped]]></title><description><![CDATA[<p>At the moment, nearly 90% of all Flippers ordered on Kickstarter have been sent to backers. Most of these parcels are already delivered, and some are still on the way &#x2014; either in transit warehouses, at the packing stage, or under customs clearance. But they will be delivered to the</p>]]></description><link>https://blog.flipper.net/most-kickstarter-orders-shipped/</link><guid isPermaLink="false">6565b30c62a2b30001e3e758</guid><category><![CDATA[Flipper Zero]]></category><dc:creator><![CDATA[Pavel Zhovner]]></dc:creator><pubDate>Mon, 04 Jul 2022 20:04:56 GMT</pubDate><media:content url="https://blog.flipper.net/content/images/2022/07/worldmap_shiped-1.png" medium="image"/><content:encoded><![CDATA[<img src="https://blog.flipper.net/content/images/2022/07/worldmap_shiped-1.png" alt="90% of Kickstarter Orders Shipped"><p>At the moment, nearly 90% of all Flippers ordered on Kickstarter have been sent to backers. Most of these parcels are already delivered, and some are still on the way &#x2014; either in transit warehouses, at the packing stage, or under customs clearance. But they will be delivered to the backers in the nearest future! These backers have already received the tracking numbers of their parcels.</p><h4 id="map-legend">Map legend</h4><p><strong>Shipped (orange) &#x2014; </strong>countries for which parcels have been handed over to a logistics company. Those are either being packed, on their way, under customs clearance or have already been delivered.<br><br><strong>Preparing (dark grey) &#x2014; </strong>countries for which devices are still being prepared. The devices are produced and under processing for further dispatch to the logistics partner. Those will be shipped in July.</p><p>We have shipped 100% of orders to all the countries on the map above marked in orange. At the time of writing, some of the parcels to these countries are still on the way but already processed, have a tracking number, and will be delivered very soon.</p><p>At the same time, there remains a large number of backers who have not yet received the device and we still have a lot of work to do. In this update, we will talk about the process of delivery and production, as well as our plans for the future.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/07/image-2.png" class="kg-image" alt="90% of Kickstarter Orders Shipped" loading="lazy" width="1108" height="620" srcset="https://blog.flipper.net/content/images/size/w600/2022/07/image-2.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/07/image-2.png 1000w, https://blog.flipper.net/content/images/2022/07/image-2.png 1108w" sizes="(min-width: 720px) 720px"><figcaption>ship.flipp.dev Website with live shipping updates</figcaption></figure><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">&#x1F4E6;</div><div class="kg-callout-text">You can read live updates about Flipper Zero shipping status on this page: <a href="https://ship.flipp.dev/">ship.flipp.dev</a></div></div><h4></h4><h1 id="shipping-methods">Shipping Methods</h1><p>We are often asked why is delivery divided by country. Many backers feel it&apos;s unfair that we don&apos;t send parcels in order of backer number, they say &quot;My backer number is 457, so I have to be under the same number in the shipping queue.&quot; We understand these feelings.</p><p>Unfortunately, logistics is much more complicated than it seems. Since we only operate legally, we need to prepare import documents for each individual country to make sure parcels get released by customs. At the same time, there are several different methods of shipping, and, depending on the chosen process, cargo clearance procedures are different.</p><div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">&#x1F3DB;&#xFE0F;</div><div class="kg-callout-text">All compliance documents and certificates for Flipper Zero are published on this page <a href="https://flipperzero.one/compliance">flipperzero.one/compliance</a></div></div><p>Basically, shipping methods are divided into two types: bulk cargo shipping and individual parcel shipping.</p><h1 id="bulk-delivery">Bulk delivery</h1><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/07/IMG_0352.jpeg" class="kg-image" alt="90% of Kickstarter Orders Shipped" loading="lazy" width="2000" height="683" srcset="https://blog.flipper.net/content/images/size/w600/2022/07/IMG_0352.jpeg 600w, https://blog.flipper.net/content/images/size/w1000/2022/07/IMG_0352.jpeg 1000w, https://blog.flipper.net/content/images/size/w1600/2022/07/IMG_0352.jpeg 1600w, https://blog.flipper.net/content/images/size/w2400/2022/07/IMG_0352.jpeg 2400w" sizes="(min-width: 1200px) 1200px"><figcaption>Bulk delivery is fast and reliable</figcaption></figure><p>In the terminology of logistics companies, bulk cargo shipping is called Direct Injection. This is when all parcels are packed into one large container that then goes to the country of destination. Upon arrival to the destination country, all orders in the shipment pass the customs clearance simultaneously &#x2014; this significantly simplifies the clearance process.</p><p>Once customs releases the cargo, the container is opened and individual parcels are handed over to local couriers for the last mile delivery, without crossing borders and being delayed due to customs clearance. However, this type of shipping can only be used when there are enough orders for one country to meet the logistics company&apos;s requirements. That&apos;s why it was important for us to accumulate orders into one large shipment.</p><p>Bulk cargo shipping is the most efficient and safest delivery method, as it allows to move orders cheaper and faster, as well as using priority delivery channels that include insurance and support along the way. We used this method for all countries with enough order quantities: US/CA/AU/UK/EU/RU, which is basically 90% of all orders.</p><h1 id="individual-parcels">Individual parcels</h1><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/07/IMG_0354.jpeg" class="kg-image" alt="90% of Kickstarter Orders Shipped" loading="lazy" width="2000" height="683" srcset="https://blog.flipper.net/content/images/size/w600/2022/07/IMG_0354.jpeg 600w, https://blog.flipper.net/content/images/size/w1000/2022/07/IMG_0354.jpeg 1000w, https://blog.flipper.net/content/images/size/w1600/2022/07/IMG_0354.jpeg 1600w, https://blog.flipper.net/content/images/size/w2400/2022/07/IMG_0354.jpeg 2400w" sizes="(min-width: 1200px) 1200px"><figcaption>Individual parcels delivery is more chaotic and unpredictable</figcaption></figure><p>Individual parcel shipping, or Direct to Customer in logistics language, is when the orders are packed in Hong Kong, address labels are placed on them, and sent directly to the recipient. In this case, each individual parcel crosses the border and goes through customs clearance, so much more paperwork is involved. </p><p>This method takes more time, is less reliable, and is more expensive. It takes more time for customs clearance and for delivery in general. That is why we&apos;ve put it at the back of the queue.</p><p>We understand how frustrating it is to be at the very end of the line. But delivering so many parcels is a challenging task and this way we tried to minimize risks and work out reliable delivery channels.</p><h2 id="shipping-to-rest-of-the-world-countries">Shipping to Rest of the World countries </h2><p>Shipments to RoW countries are scheduled for this month. By the end of July, we hope to ship all 100% of Kickstarter orders. Very soon you will receive a tracking number on the e-mail you placed your order with.</p><p>Soon the shipping addresses will be locked, so please check your shipping address here and let us know if it needs to be changed as soon as possible: <a href="https://flipperzero.backerkit.com/admin/dashboards">https://flipperzero.backerkit.com/</a></p><h2 id="thank-you">Thank you!</h2><p>Thank you all for your trust and your patience. The Flipper Zero project was made possible thanks to you and your support! And this is just the beginning &#x2014; soon we will share with you our new products and development plans. This is gonna be huge.</p><!--kg-card-begin: html--><style>
    .social-btns {
        display: flex;
        justify-content: space-between;
    }
    .social-btn {
        margin: 0 10px;
        text-align: center;
    }
    .social-btn img {
        width: 128px;
        margin-bottom: 10px;
    }
    .social-btn a {
        text-decoration: none;
    }
@media (max-width: 425px) {
  .social-btn strong {
    font-size: 13px;
  }
}
</style>
<div class="social-btns">
	<div class="social-btn">
        <a href="https://twitter.com/flipper_zero">
			<img src="https://cdn.flipperzero.one/icon-twitter-512-normal.png" alt="90% of Kickstarter Orders Shipped">
        	<strong>@flipper_zero</strong>
        </a>
    </div>
    <div class="social-btn">
        <a href="https://instagram.com/flipper_zero">
			<img src="https://cdn.flipperzero.one/icon-instagram-512-normal.png" alt="90% of Kickstarter Orders Shipped">
        	<strong>@flipper_zero</strong>
        </a>
    </div>
    <div class="social-btn">
        <a href="https://facebook.com/flipperzero">
			<img src="https://cdn.flipperzero.one/icon-facebook-512-normal.png" alt="90% of Kickstarter Orders Shipped">
        	<strong>@flipperzero</strong>
        </a>
    </div>
</div><!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[New Firmware Update System]]></title><description><![CDATA[<p>Great news everyone. We were working on this for several months and are finally ready to announce a new firmware update subsystem. You can now update firmware and databases on the SD card via Bluetooth using our mobile app! <a href="https://flpr.app/">Download</a> the mobile app for Android and iOS. The new firmware</p>]]></description><link>https://blog.flipper.net/new-firmware-update-system/</link><guid isPermaLink="false">6565b30c62a2b30001e3e756</guid><category><![CDATA[Flipper Zero]]></category><dc:creator><![CDATA[Pavel Zhovner]]></dc:creator><pubDate>Thu, 26 May 2022 16:53:06 GMT</pubDate><media:content url="https://blog.flipper.net/content/images/2022/05/Flipper_Zero_New_Update_System_OTA-1.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.flipper.net/content/images/2022/05/Flipper_Zero_New_Update_System_OTA-1.jpg" alt="New Firmware Update System"><p>Great news everyone. We were working on this for several months and are finally ready to announce a new firmware update subsystem. You can now update firmware and databases on the SD card via Bluetooth using our mobile app! <a href="https://flpr.app/">Download</a> the mobile app for Android and iOS. The new firmware update subsystem will be added to the <a href="https://flipperzero.one/update">qFlipper</a> desktop application as well. </p><p>In this post we will talk about why the Over-the-Air update was so hard to implement on Flipper Zero, how memory is arranged inside our STM32WB55 microcontroller, and will look at the firmware update process before and after.</p><h3 id="download-the-flipper-mobile-app">Download the Flipper Mobile App</h3><figure class="kg-card kg-image-card"><a href="https://apps.apple.com/app/flipper-mobile-app/id1534655259"><img src="https://blog.flipper.net/content/images/2022/05/App_Store_Badge_whit.svg" class="kg-image" alt="New Firmware Update System" loading="lazy" width="179" height="60"></a></figure><figure class="kg-card kg-image-card"><a href="https://play.google.com/store/apps/details?id=com.flipperdevices.app"><img src="https://blog.flipper.net/content/images/2022/05/Google_Play_Badge_wh.svg" class="kg-image" alt="New Firmware Update System" loading="lazy" width="179" height="60"></a></figure><h1 id="the-problem-of-classic-ota-update">The Problem of Classic OTA Update</h1><p>All modern devices provide Over-the-Air (<a href="https://en.wikipedia.org/wiki/Over-the-air_programming">OTA</a>) firmware updates. You don&apos;t need to connect your phone to a PC to update the firmware, it updates over the internet. We&apos;ve all gotten used to it and it seems totally normal now, but that wasn&apos;t always the case. Updating firmware over the air is in no way a trivial process. It took Apple 4 years to develop OTA since the release of the iPhone. The first iPhone was released in 2007, but you could only update it over the air in 2011 with the release of iOS version 5.0 for iPhone 3Gs.</p><p>The hard part of OTA is that at any given time the device has to run some kind of firmware to supervise the update process. In theory, our microcontroller supports OTA updates. It needs the old firmware running during the update process to control data transfer over Bluetooth while the new firmware is being uploaded next to the old one.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://blog.flipper.net/content/images/2022/05/example_of_classic_ota_update_process.png" class="kg-image" alt="New Firmware Update System" loading="lazy" width="2000" height="628" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/example_of_classic_ota_update_process.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/example_of_classic_ota_update_process.png 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/example_of_classic_ota_update_process.png 1600w, https://blog.flipper.net/content/images/size/w2400/2022/05/example_of_classic_ota_update_process.png 2400w" sizes="(min-width: 1200px) 1200px"></figure><p><strong>According to the manufacturer, it should work like this:</strong></p><ol><li>The old firmware is running and manages data transfer over Bluetooth</li><li>The new firmware is transferred to the available space on MCU&apos;s Flash</li><li>When rebooting the old firmware is replaced by the new one</li></ol><!--kg-card-begin: html--><div style="position: relative">
  <div class="warning flipper-callout">
    <div class="callout-header">
<div class="callout-icon"><!-- Оставить пустым --></div>
      <!-- Заголовок баббла (опционально) -->
A classic OTA Update is impossible for Flipper Zero
    </div>
    <!-- Текст баббла -->
Flipper Zero&apos;s firmware is about 700KB in size and together with the Radio Stack the memory is completely exhausted. Since we don&apos;t have free space to work with, the classic OTA update won&apos;t work in our case.   </div>
</div><!--kg-card-end: html--><h2 id="whats-inside-the-flipper-zero-processor">What&apos;s inside the Flipper Zero processor</h2><p>Flipper Zero&apos;s firmware is stored in Flash memory on the <a href="https://www.st.com/en/microcontrollers-microprocessors/stm32wb55rg.html"><a href="https://www.st.com/en/microcontrollers-microprocessors/stm32wb55rg.html"><a href="https://www.st.com/en/microcontrollers-microprocessors/stm32wb55rg.html"><a href="https://www.st.com/en/microcontrollers-microprocessors/stm32wb55rg.html">STM32WB55</a>RG</a></a></a> microcontroller, the heart of the whole device. There are several hardware modules placed inside one chip: </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/05/flipper_zero_stm32_chip_modules--1-.jpg" class="kg-image" alt="New Firmware Update System" loading="lazy" width="2000" height="1567" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/flipper_zero_stm32_chip_modules--1-.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/flipper_zero_stm32_chip_modules--1-.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/flipper_zero_stm32_chip_modules--1-.jpg 1600w, https://blog.flipper.net/content/images/2022/05/flipper_zero_stm32_chip_modules--1-.jpg 2259w" sizes="(min-width: 720px) 720px"><figcaption>Flipper Zero&apos;s microcontroller has two compute cores, a radio module, RAM and Flash memory which stores the firmware</figcaption></figure><ol><li><strong>The main compute core,</strong> 64 MHz ARM Cortex-M4 &#x2014; this core runs our main firmware, the source code is available in the <a href="https://github.com/flipperdevices/flipperzero-firmware">Flipper Zero Firmware Sources</a> repository.</li><li><strong>The secondary core, </strong>32 MHz Cortex-m0 + radio modem &#x2014; this core runs the proprietary firmware provided by <a href="https://www.st.com/content/st_com/en.html">ST</a> which implements the Bluetooth LE or Zigbee radio stack. This core&apos;s firmware is completely closed-source and we have no control over it. ST provides pre-compiled binaries in their &#xA0;<a href="https://github.com/STMicroelectronics/STM32CubeWB/tree/master/Projects/STM32WB_Copro_Wireless_Binaries">STM32WB Co-Processor Wireless Binaries</a> repository. The radio stack firmware plus proprietary Firmware Upgrade Services (FUS) takes about 300Kb of space on Flash in summary.</li><li><strong>256Kb of RAM</strong> &#x2014; shared among the main and the secondary core.</li><li><strong>Flash memory</strong> sized at 1MB &#x2014; this is the non-volatile random-access memory which stores both our firmware and the co-processor binaries.</li></ol><h2 id="data-layout-in-flipper-zeros-flash-memory">Data layout in Flipper Zero&apos;s Flash memory </h2><p>The microcontroller&apos;s Flash memory is where the code is stored. Our <a href="https://www.st.com/en/microcontrollers-microprocessors/stm32wb55rg.html">STM32WB55RG</a> processor has <strong>1MB of Flash memory</strong>. This may seem like a very small amount and that&apos;s certainly true, that is why all user data, libraries, dolphin&apos;s graphics, dictionaries and keys are stored separately on the SD card. &#xA0;</p><p>Flipper Zero MCU&apos;s Flash is separated into several sections:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/05/flipper-zero-stm32wb55rg-flash-memory-layout-1.png" class="kg-image" alt="New Firmware Update System" loading="lazy" width="1790" height="1246" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/flipper-zero-stm32wb55rg-flash-memory-layout-1.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/flipper-zero-stm32wb55rg-flash-memory-layout-1.png 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/flipper-zero-stm32wb55rg-flash-memory-layout-1.png 1600w, https://blog.flipper.net/content/images/2022/05/flipper-zero-stm32wb55rg-flash-memory-layout-1.png 1790w" sizes="(min-width: 720px) 720px"><figcaption>Flipper Zero&apos;s Flash memory layout</figcaption></figure><ul><li><strong>The main firmware &#x2014; </strong> about 670-700KB in size. All the device&apos;s functions are here along with the UI menu, protocols, various drivers, the <a href="https://www.freertos.org/">FreeRTOS</a> operating system etc. We&apos;re approaching the limit of our available Flash memory, so we&apos;re fighting tooth and nail for each kilobyte of compiled binary firmware. </li><li><strong>Little File System</strong> &#x2014; this memory area is used for the LittleFS embedded filesystem. Every time the firmware is updated everything between the main firmware and the radio stack is given (allocated) to <a href="https://github.com/littlefs-project/littlefs">LittleFS</a>. All system files, user settings and bluetooth pairing keys are stored here. When using Flipper Zero without an SD card, user keys will also be saved here. However we don&apos;t recommend this since without an SD card half of Flipper Zero&apos;s functions won&apos;t work. You can view the contents of the filesystem using <a href="https://flipperzero.one/update">qFlipper</a>&apos;s file manager.</li><li><strong>Radio Stack</strong> &#x2014; the propriatery close-sourced firmware from ST, available from the <a href="https://github.com/STMicroelectronics/STM32CubeWB/tree/master/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x">Co-Processor Wireless Binaries</a> repository. This firmware works with the radio modem and implements the radio protocol in software on the 2.4GHz frequency. You can choose firmware that implements Bluetooth LE, ZigBee or 802.15.4 protocols. We&apos;re using <a href="https://github.com/STMicroelectronics/STM32CubeWB/blob/master/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_Stack_light_fw.bin">stm32wb5x_BLE_Stack_light_fw.bin</a>. Only one protocol works at any given time, so if you want to use ZigBee on Flipper Zero you will need to re-flash the radio stack losing the Bluetooth LE in the process. ST doesn&apos;t allow installing arbitrary firmware for the Radio Stack, all firmware files are signed with a digital signature which is checked during the installation by FUS. </li><li><strong>FUS </strong>(<a href="https://www.compel.ru/wordpress/wp-content/uploads/2020/03/st-firmware-upgrade-services-for-stm32wb-series.-application-note-an5185.pdf">Firmware Upgrade Services</a>) &#x2014; a little programm that checks the radio stack&apos;s digital signature and controls it&apos;s update process. Cryptographic protection of the second core is done through FUS.</li></ul><p>As you can see, one third of Flipper Zero&apos;s Flash memory is occupied by additional entities which are necessary for the device to work. <strong>We only have about 860KB of memory to work with.</strong> It&apos;s hard to believe that all Flipper Zero&apos;s funcions fit in such a tiny amount of storage space. Therefore, we simply don&apos;t have the space that can be used for the classic OTA update, which is why we had to invent our own Over-the-Air firmware update subsystem. </p><h1 id="the-update-server">The Update Server </h1><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/05/update_flipper_zero_one_server.jpg" class="kg-image" alt="New Firmware Update System" loading="lazy" width="2000" height="1165" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/update_flipper_zero_one_server.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/update_flipper_zero_one_server.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/update_flipper_zero_one_server.jpg 1600w, https://blog.flipper.net/content/images/size/w2400/2022/05/update_flipper_zero_one_server.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>The update server stores binaries of firmware projects</figcaption></figure><p>Flipper Zero firmware automatically compiles from source by <a href="https://github.com/flipperdevices/flipperzero-firmware/blob/dev/.github/workflows/build.yml">Github CI scripts</a> and the binaries are uploaded to the update server <code>update.flipperzero.one</code>. All compiled firmware versions are listed in the <a href="https://update.flipperzero.one/firmware/directory.json">directory.json</a> file, this file is used to get information about available updates. You can download all binary files of the available firmwares here <a href="https://update.flipperzero.one/builds/firmware/">update.flipperzero.one/builds/firmware/</a>.</p><p>Similarly, all branches inside firmware repo get compiled and uploaded to the update server after every commit. You can find different folders with separate branch names there. It&apos;s convenient when the developer is working on a feature and asks users to test their code. </p><p>The update package consists of several different files:</p><figure class="kg-card kg-code-card"><pre><code># Flipper Zero Firmware Update files

flipper-z-any-core2_firmware-0.58.1.tgz # Radio firmware bundle from ST
flipper-z-any-resources-0.58.1.tgz      # Applications resources installed on SD card
flipper-z-any-scripts-0.58.1.tgz        # Supplementary scripts

# Main Firmware
flipper-z-f7-full-0.58.1.bin            # Image in binary format
flipper-z-f7-full-0.58.1.dfu            # Image in dfu format
flipper-z-f7-firmware-0.58.1.elf        # Image in elf format (can be used for debug)
flipper-z-f7-full-0.58.1.json           # Metadata manifest in json format

# Updater tiny firmware
flipper-z-f7-updater-0.58.1.bin         # Image in binary format
flipper-z-f7-updater-0.58.1.dfu         # Image in dfu format
flipper-z-f7-updater-0.58.1.elf         # Image in elf format (can be used for debug)
flipper-z-f7-updater-0.58.1.json        # Metadata manifest in json 

flipper-z-f7-update-0.58.1.tgz          # Full OTA package: contains updater image, main firmware, radio firmware, resources and update manifest (the only thing you need to update your flipper)</code></pre><figcaption>Example of files in firmware release ver. 0.58.1</figcaption></figure><p>In addition to the firmware itself, the update package contains the radio stack with which this firmware version is compatible, databases for the SD card, tiny updater firmware, the current version of build and debug scripts, as well as metadata for the update programs.</p><h1 id="firmware-release-cycle">Firmware Release Cycle</h1><p>Flipper Zero firmware can be updated through the <a href="https://flpr.app/">Flipper Mobile App</a> and <a href="https://flipperzero.one/update">qFlipper</a> desktop app. You can select one of the three firmware update channels in the settings: <code>Dev</code>, <code>RC</code> (Release Candidate) and <code>Release</code>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/05/image-20.png" class="kg-image" alt="New Firmware Update System" loading="lazy" width="1706" height="974" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/image-20.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/image-20.png 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/image-20.png 1600w, https://blog.flipper.net/content/images/2022/05/image-20.png 1706w" sizes="(min-width: 720px) 720px"><figcaption>3 stages of Flipper Zero&apos;s firmware releases</figcaption></figure><p>The difference between firmware releases:</p><ul><li><strong>Dev &#x2014; </strong>the current development ongoing build. All the features from other branches are merged into <code>dev</code> when work on them is finished. &#xA0;This version of firmware is compiled for every new commit, sometimes several times per day. Dev contains all the latest features, it&apos;s bleeding edge. But be aware that it may be unstable, freeze, corrupt your data, or not work at all.</li><li><strong>RC </strong>(Release Candidate) &#x2014; the release version that is submitted for validation testing to the QA department. If bugs are found during the testing phase, the version is amended and a new RC is released. If the release candidate successfully passes all the tests, it becomes the release version without further changes.</li><li><strong>Release </strong>&#x2014; the final and stable version of the firmware, which has gone through testing and is recommended for general use.</li></ul><p>You can select the update channel in the updater settings:</p><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2022/05/flipper_mobile_app_qflipper_update_channel_selection.png" class="kg-image" alt="New Firmware Update System" loading="lazy" width="2000" height="1246" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/flipper_mobile_app_qflipper_update_channel_selection.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/flipper_mobile_app_qflipper_update_channel_selection.png 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/flipper_mobile_app_qflipper_update_channel_selection.png 1600w, https://blog.flipper.net/content/images/size/w2400/2022/05/flipper_mobile_app_qflipper_update_channel_selection.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>We recommend installing the <code>Release</code> version for everyday usage of Flipper Zero. Choose the <code>Dev</code> and <code>RC</code> channels if you are a developer, or if want to test new features, find bugs, and debug them. It would help if you know how to collect debug logs, are good with git, and know how to read the <a href="https://github.com/flipperdevices/flipperzero-firmware/commits/dev">firmware commits</a>.</p><h1 id="old-firmware-update-process">Old Firmware Update Process</h1><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2022/05/image-11.png" class="kg-image" alt="New Firmware Update System" loading="lazy" width="1671" height="799" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/image-11.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/image-11.png 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/image-11.png 1600w, https://blog.flipper.net/content/images/2022/05/image-11.png 1671w" sizes="(min-width: 720px) 720px"></figure><p>Until recently, the only way to update firmware on Flipper Zero was by USB cable, computer and the <a href="https://flipperzero.one/update">qFlipper</a> desktop app. This process consists of several steps, during which Flipper is rebooted several times and reconnected to the computer in different modes as different devices. After each reboot, Flipper disconnects at the logical level and is rediscovered by the computer and qFlipper over and over again.</p><h3 id="step-1-%E2%80%94-downloading-backup-to-pc">Step 1 &#x2014; Downloading backup to PC</h3><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2022/05/image-12.png" class="kg-image" alt="New Firmware Update System" loading="lazy" width="1778" height="486" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/image-12.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/image-12.png 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/image-12.png 1600w, https://blog.flipper.net/content/images/2022/05/image-12.png 1778w" sizes="(min-width: 720px) 720px"></figure><p>In the first step, Flipper connects to qFlipper in COM Port mode and downloads all data from LittleFS &#x2014; user settings and Bluetooth pairing key files, because all flash memory will be erased in the next steps and these files will be lost. After completing this step, Flipper reboots to DFU mode.</p><h3 id="step-2-optional-%E2%80%94-updating-radio-stack">Step 2 (Optional) &#x2014; Updating Radio Stack</h3><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2022/05/image-13.png" class="kg-image" alt="New Firmware Update System" loading="lazy" width="1690" height="464" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/image-13.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/image-13.png 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/image-13.png 1600w, https://blog.flipper.net/content/images/2022/05/image-13.png 1690w" sizes="(min-width: 720px) 720px"></figure><p>Radio stack updates are released by <a href="https://www.st.com/content/st_com/en.html">ST</a>. It is usually updated every few months. qFlipper checks the version of the installed Radio Stack on the Flipper, and if there is an update, it installs the new version. So this process happens quite rarely, relative to our update releases. The Radio Stack update is controlled by the <a href="https://www.compel.ru/wordpress/wp-content/uploads/2020/03/st-firmware-upgrade-services-for-stm32wb-series.-application-note-an5185.pdf">FUS</a>, so we don&apos;t have much power over the process. </p><!--kg-card-begin: html--><div style="position: relative">
  <div class="warning flipper-callout">
    <div class="callout-header">
<div class="callout-icon"><!-- Оставить пустым --></div>
      <!-- Заголовок баббла (опционально) -->
Display may be blank during the radio stack update
    </div>
    <!-- Текст баббла -->
The image on the Flipper Zero screen may disappear completely when the radio stack is updated, this is normal. Don&apos;t worry, wait for the end of the update.   </div>
</div><!--kg-card-end: html--><h3 id="step-3-%E2%80%94-installing-main-firmware">Step 3 &#x2014; Installing Main Firmware</h3><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2022/05/image-14.png" class="kg-image" alt="New Firmware Update System" loading="lazy" width="2000" height="541" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/image-14.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/image-14.png 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/image-14.png 1600w, https://blog.flipper.net/content/images/2022/05/image-14.png 2056w" sizes="(min-width: 720px) 720px"></figure><p>The main firmware update is also installed in DFU mode. There are special system flags in memory that may be set to incorrect values after a radio stack update, they are called <code>option bytes</code>. If a radio stack upgrade has been performed, option bytes will be checked and overwritten if necessary.</p><h3 id="step-4-%E2%80%94-installing-databases-on-sd-card">Step 4 &#x2014; Installing Databases on SD card</h3><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2022/05/image-16.png" class="kg-image" alt="New Firmware Update System" loading="lazy" width="1660" height="484" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/image-16.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/image-16.png 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/image-16.png 1600w, https://blog.flipper.net/content/images/2022/05/image-16.png 1660w" sizes="(min-width: 720px) 720px"></figure><p>After the main firmware was installed, Flipper reboots to basic mode again and connects as a COM Port. It starts uploading databases to the SD card. The contents of the databases can be viewed in this repository: <a href="https://github.com/flipperdevices/flipperzero-firmware/tree/dev/assets/resources">flipperzero-firmware/assets/resources/</a>. The version of the databases is pinned to the firmware version and is located in the same folder on the <a href="https://update.flipperzero.one/builds/firmware/">update server</a>. The archive with the databases is called <code>flipper-z-any-resources-X.XX.X.tgz</code></p><h3 id="step-5-%E2%80%94-restoring-the-backup">Step 5 &#x2014; Restoring the backup</h3><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2022/05/image-17.png" class="kg-image" alt="New Firmware Update System" loading="lazy" width="1662" height="478" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/image-17.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/image-17.png 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/image-17.png 1600w, https://blog.flipper.net/content/images/2022/05/image-17.png 1662w" sizes="(min-width: 720px) 720px"></figure><p>The backup made in step 1 is loaded into the LittleFS area. User settings will not be applied until the final reboot.</p><h3 id="step-6-%E2%80%94-final-reboot">Step 6 &#x2014; Final reboot</h3><p>After restoring the backup, the last reboot is performed and user settings are applied. In total, Flipper can reboot about 5 times during the entire update process and reconnects to PC over and over again as a different device. Sick!&#x1F92F;</p><h1 id="flipper-zero-usb-connection-modes">Flipper Zero USB Connection Modes</h1><p>To understand the update process, it is important to distinguish between the modes that Flipper Zero can be in when connected to a computer:</p><ul><li><code>COM Port</code> &#x2014; basic USB serial device </li><li><code>DFU mode</code>&#x2014; update &amp; recover mode</li></ul><p>In the process of updating, Flipper switches between these modes several times. In the pictures above, describing the old update process, the green arrow shows when COM Port mode is used and the red one shows when it&apos;s in DFU mode.</p><h2 id="normal-mode-%E2%80%94-serial-port">Normal mode &#x2014; Serial Port </h2><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/05/flipper_zero_com_port_cdc_serail_mode.jpg" class="kg-image" alt="New Firmware Update System" loading="lazy" width="2000" height="746" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/flipper_zero_com_port_cdc_serail_mode.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/flipper_zero_com_port_cdc_serail_mode.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/flipper_zero_com_port_cdc_serail_mode.jpg 1600w, https://blog.flipper.net/content/images/2022/05/flipper_zero_com_port_cdc_serail_mode.jpg 2364w" sizes="(min-width: 1200px) 1200px"><figcaption>Flipper Zero connected to PC as USB Serial</figcaption></figure><p>In this mode, Flipper Zero connects to the PC as a COM Port, while our firmware is running. The code responsible for the operation of CDC Serial can be found in the <a href="https://github.com/flipperdevices/flipperzero-firmware/blob/dev/firmware/targets/f7/furi_hal/furi_hal_usb_cdc.c">furi_hal_usb_cdc</a> sources. Flipper in this mode has USB <code>Product ID: 0x5740</code> and <code>Vendor ID: 0x0483</code>. These are ST&apos;s default serial port IDs, and many other devices have the same USB IDs. Maybe we&apos;ll get our own Vendor ID from <a href="https://www.usb.org/getting-vendor-id">USB.org</a> in the future so that Flipper Zero won&apos;t interfere with other devices. But we are not sure if the <strong>$5,000/year </strong>price tag for a custom Vendor ID is really worth it. What do you think?</p><p>In this mode, all the functions of the device are operational, and most importantly, there is access to the SD card because our firmware is running. Therefore, databases can be loaded to the SD card, and all operations with files during an update occur in this mode.</p><h2 id="dfu-mode">DFU Mode</h2><p>In DFU mode, the microcontroller&apos;s built-in bootloader is activated and Flipper is connected to the PC as a DFU device. The bootloader code is located outside the main flash memory zone and is protected from writing or erasing. It cannot be damaged when updating the firmware, the disadvantage of this is that we do not have the opportunity to modify it. In DFU mode, the Flipper has <code>Product ID: 0xDF11</code>, just like many other devices in this mode. There is no way to understand from the properties of the USB DFU device that it is actually Flipper Zero, because in this mode it doesn&apos;t differ in any way from other devices based on ST chips.</p><p>DFU mode is activated automatically when the firmware is updating, but it can also be activated manually, see <a href="https://docs.flipperzero.one/basics/reboot#50-recovery-mode-dfu">Reboot modes</a>. If Flipper&apos;s firmware is damaged, DFU mode can also be activated, but the dolphin image will not be displayed on the screen: <a href="https://docs.flipperzero.one/basics/firmware-update/firmware-recovery">How to restore a bricked Flipper Zero.</a></p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/05/flipper_zero_in_dfu_mode--1-.jpg" class="kg-image" alt="New Firmware Update System" loading="lazy" width="2000" height="740" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/flipper_zero_in_dfu_mode--1-.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/flipper_zero_in_dfu_mode--1-.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/flipper_zero_in_dfu_mode--1-.jpg 1600w, https://blog.flipper.net/content/images/2022/05/flipper_zero_in_dfu_mode--1-.jpg 2324w" sizes="(min-width: 1200px) 1200px"><figcaption>Flipper Zero connected in DFU mode</figcaption></figure><p>Additionally, DFU mode is complicated by the fact that on Windows you need to install drivers for it &#x1F92E;. And although no drivers are actually needed, Windows prevents programs from accessing the device until any driver is installed for it. On Windows qFlipper&apos;s setup wizard installs this DFU driver. This is where the most problems arise &#x2014; we have made a separate <a href="https://docs.flipperzero.one/basics/firmware-update/windows-debug">Debug DFU Mode on Windows instruction</a>. Everything would be much easier if ST added a USB <a href="https://stackoverflow.com/questions/17666006/support-winusb-in-device-firmware/21171626#21171626">OS Feature Descriptor</a> to the built-in hardware DFU bootloader code, telling Windows that the device supports the standard WinUSB driver, then there would be no need to install the driver.</p><p>In DFU mode, the radio stack and the main Flipper Zero firmware are updated, as well as restored in case of firmware damage. From the very beginning of the Flipper Zero development, we have been looking for a way to update the firmware without switching to DFU, and finally, this work is finished!</p><hr><h1 id="the-new-updating-system-%F0%9F%8E%89%EF%B8%8F">The NEW Updating System &#x1F389;&#xFE0F; </h1><p>Since we have almost no free space on Flash memory, the only possibility for OTA update in our case is to download the update files to the SD card and then install updates from there. We have made a separate tiny firmware that gets uploaded to RAM, runs directly from there and does not depend on Flash memory data to govern the update process. In fact, this is the same firmware of ours, only cut down so as to fit entirely in the RAM. All functions are removed from it except for the update feature, SD card drivers, screen drivers, etc.</p><blockquote>Now the update procedure looks much simpler for the user: files are uploaded to the Flipper and then the magic happens &#x2014; Flipper updates itself completely offline.</blockquote><h3 id="step-1-%E2%80%94-uploading-update-package-to-the-sd-card">Step 1 &#x2014; Uploading update package to the SD card</h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/05/flipper_zero_uploading_update_do_sd_card.jpg" class="kg-image" alt="New Firmware Update System" loading="lazy" width="1920" height="861" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/flipper_zero_uploading_update_do_sd_card.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/flipper_zero_uploading_update_do_sd_card.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/flipper_zero_uploading_update_do_sd_card.jpg 1600w, https://blog.flipper.net/content/images/2022/05/flipper_zero_uploading_update_do_sd_card.jpg 1920w" sizes="(min-width: 720px) 720px"><figcaption>Uploading OTA Update package to the SD card</figcaption></figure><p>During the first step, the full update bundle packed into <code>flipper-z-f7-update-0.XX.X.tgz</code> archive is downloaded by the update application (qFlipper or Mobile App) from the update server and unpacked locally in the application. Then the contents of this file are transferred via Bluetooth LE or USB to Flipper&apos;s SD card.<br>The Bluetooth LE protocol is very slow compared to regular Bluetooth, so uploading a ~650KB update file takes about 2-3 minutes, which is quite acceptable in our opinion.</p><h3 id="step-2-%E2%80%94-the-magic-flipper-updating-itself-autonomously">Step 2 &#x2014; The Magic (Flipper updating itself autonomously) </h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/05/magic.jpg" class="kg-image" alt="New Firmware Update System" loading="lazy" width="2000" height="797" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/magic.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/magic.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/magic.jpg 1600w, https://blog.flipper.net/content/images/size/w2400/2022/05/magic.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Flipper Zero updates the firmware completely offline from SD card</figcaption></figure><p>When the update package is uploaded to the SD card, the updater sends an <a href="https://github.com/flipperdevices/flipperzero-protobuf/blob/ffa62429f3c678537e0e883a3a8c3ae5f1398ed4/system.proto#L68">UpdateRequest</a> command to the Flipper and the magic begins!</p><p>Flipper reboots and loads a tiny updater firmware into RAM, it is located in the file <code>flipper-z-f7-updater-X.XX.X.bin</code> In fact, this is the usual Flipper firmware but it&apos;s cut down as much as possible in terms of functions. Everything is removed from it, except for the necessary drivers and update functions. It is so small that it fits entirely in RAM. And this means that the firmware on the Flash memory is not active and the updater can overwrite data on the entire Flash memory without fear of breaking something. </p><p>Updater performs all the same steps as the old update process, the only difference being it happens completely locally &#x2014; it updates the radio stack if necessary, installs new firmware, installs databases, uploads files to LittleFS, etc. In this approach, it&apos;s Flipper that performs all the steps within itself so it no longer depends on external connections and programs.</p><h3 id="ota-update-live-demo">OTA Update Live Demo</h3><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://blog.flipper.net/content/media/2022/05/flipper_zero_ota_update_demo_speedup_compressed-1.mp4" poster="https://img.spacergif.org/v1/1920x1080/0a/spacer.png" width="1920" height="1080" playsinline preload="metadata" style="background: transparent url(&apos;https://blog.flipper.net/content/images/2022/05/media-thumbnail-ember338.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>The new updating system in action &#x2014; full update of Flipper Zero via mobile app</figcaption></figure><p>This is what the new update process through a mobile application looks like. In total, it takes about <strong>2-3 minutes</strong>, which, in our opinion, is a very good result.</p><h1 id="new-process-vs-old-one">New Process vs Old One</h1><p>The new update process is more reliable than the old one because all the update steps are controlled by our firmware and not by the user&apos;s PC. Due to the fact that users&apos; computers have different operating systems, drivers, and installed programs, unexpected problems could often come up during the update. Now there&apos;s a lower chance of problems occurring. But, the main benefit of this is <strong>you can now update the firmware through a mobile application</strong>! Hooray &#x1F929;!</p><p>Since the new update process is still in beta it may have bugs &#x1F41E;, we ask you to report them: <a href="https://docs.flipperzero.one/mobile-app/bug-report">How to report bug in Mobile App</a></p><hr><h1 id="shipping-status">Shipping status</h1><p>You can check all the shipping news on <a href="https://ship.flipp.dev/">ship.flipp.dev</a>, where we publish frequent updates daily.</p><h1 id="follow-us">Follow us</h1><!--kg-card-begin: html--><style>
    .social-btns {
        display: flex;
        justify-content: space-between;
    }
    .social-btn {
        margin: 0 10px;
        text-align: center;
    }
    .social-btn img {
        width: 128px;
        margin-bottom: 10px;
    }
    .social-btn a {
        text-decoration: none;
    }
@media (max-width: 425px) {
  .social-btn strong {
    font-size: 13px;
  }
}
</style>
<div class="social-btns">
	<div class="social-btn">
        <a href="https://twitter.com/flipper_zero">
			<img src="https://cdn.flipperzero.one/icon-twitter-512-normal.png" alt="New Firmware Update System">
        	<strong>@flipper_zero</strong>
        </a>
    </div>
    <div class="social-btn">
        <a href="https://flipperzero.one/discord">
			<img src="https://cdn.flipperzero.one/download-icon-supertinyiconsdiscord-1324450718427274623_512.png" alt="New Firmware Update System">
        	<strong>Flipper Discord</strong>
        </a>
    </div>
    <div class="social-btn">
        <a href="https://www.reddit.com/r/flipperzero/">
			<img src="https://cdn.flipperzero.one/reddit-2-logo-png-transparent.png" alt="New Firmware Update System">
        	<strong>@flipperzero</strong>
        </a>
    </div>
</div><!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[23,000 Devices Shipped! Quick Start Guide for Flipper Zero]]></title><description><![CDATA[<p>Many backers have already received their Flipper Zeros, and their number is growing by the day. At the time of writing,<strong> 23 thousand devices have already been shipped</strong>! We&apos;re getting a ton of feedback from users and it&apos;s amazing. <br><br>Unfortunately, there is still a considerable number</p>]]></description><link>https://blog.flipper.net/quick-start-guide-and-shipping-update/</link><guid isPermaLink="false">6565b30c62a2b30001e3e755</guid><category><![CDATA[Production Log]]></category><category><![CDATA[Flipper Zero]]></category><dc:creator><![CDATA[Pavel Zhovner]]></dc:creator><pubDate>Fri, 13 May 2022 14:13:46 GMT</pubDate><media:content url="https://blog.flipper.net/content/images/2022/05/flipper_zero_23000_devices_shipped.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.flipper.net/content/images/2022/05/flipper_zero_23000_devices_shipped.jpeg" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero"><p>Many backers have already received their Flipper Zeros, and their number is growing by the day. At the time of writing,<strong> 23 thousand devices have already been shipped</strong>! We&apos;re getting a ton of feedback from users and it&apos;s amazing. <br><br>Unfortunately, there is still a considerable number of backers who are waiting for their deliveries. In this post, we will tell you how it&apos;s going so far and give an update on shipping and production schedules. We are also providing a guide on the first launch and initial setup of your device.</p><h1 id="first-start-guide">First Start Guide</h1><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2022/05/how_to_use_flipper_zero.jpeg" class="kg-image" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero" loading="lazy" width="1280" height="720" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/how_to_use_flipper_zero.jpeg 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/how_to_use_flipper_zero.jpeg 1000w, https://blog.flipper.net/content/images/2022/05/how_to_use_flipper_zero.jpeg 1280w" sizes="(min-width: 720px) 720px"></figure><p>This is a manual for the first launch of Flipper Zero: it explains how to update the firmware, install databases to an SD card, and more. <strong>Please read it carefully before using your Flipper Zero </strong>as it&apos;s a rather advanced piece of hardware, and many things may not be obvious. Read the <a href="https://docs.flipperzero.one/basics/first-start">First Start</a> section of the documentation for more details.</p><blockquote>Flipper Zero firmware is under active development and is constantly changing thanks to community input. Therefore, it is important to us that community members understand the device&apos;s internal architecture, how the firmware works, how to debug it and how to collect logs. We&apos;re counting on the community to improve Flipper Zero together with us.</blockquote><h2 id="power-on">Power ON </h2><p>As a safety precaution, Flipper travels in the box in transport mode. In this mode, power is supplied only to the internal clock of the microcontroller. You can read more about the different power modes in the <a href="https://docs.flipperzero.one/basics/power">Power</a> section of the documentation.<br><br>To turn on your device, push and hold the <strong>:back:</strong> button.</p><figure class="kg-card kg-video-card"><div class="kg-video-container"><video src="https://blog.flipper.net/content/media/2022/02/flipper_power_on.mp4" poster="https://img.spacergif.org/v1/1920x1080/0a/spacer.png" width="1920" height="1080" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://blog.flipper.net/content/images/2022/02/media-thumbnail-ember131.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div></figure><!--kg-card-begin: html--><div style="position: relative">
  <div class="dead flipper-callout">
    <div class="callout-header">
	<div class="callout-icon"><!-- Оставить пустым --></div>
      <!-- Заголовок баббла (опционально) -->
      If the device doesn&apos;t turn on
    </div>
    <!-- Текст баббла -->
Flipper&apos;s battery may be completely discharged, so it won&apos;t turn on right away. Plug the USB cable to charge it and it will turn on automatically.
     <br>
     If Flipper doesn&apos;t turn on after charging, try rebooting it by pressing :left: + :back: simultaneously.
  </div>
</div><!--kg-card-end: html--><h2 id="install-an-sd-card">Install an SD card </h2><p>Keys, cards, remotes, and databases are stored on the SD card. It&apos;s also required during firmware updates, so it&apos;s important to <strong>install the SD card BEFORE updating the firmware</strong>. Flipper supports large-capacity SD cards, but we recommend using an SD card no larger than 16GB or 32GB. Since Flipper Zero utilizes very small files rarely exceeding 1MB in size, it makes no sense to use large SD cards. You can read more in the <a href="https://docs.flipperzero.one/basics/sd-card">SD card Setup</a> section of the documentation.</p><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://blog.flipper.net/content/media/2022/05/Flipper_Sd_Mount3_compressed.mp4" poster="https://img.spacergif.org/v1/1280x720/0a/spacer.png" width="1280" height="720" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://blog.flipper.net/content/images/2022/05/media-thumbnail-ember406.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>SD card installation</figcaption></figure><p>The SD card should snap into place inside the port, in order for this to happen it needs to be pushed a little deeper into the case. You will need to push the card for it to lock inside using your fingernail or something thin. This may not always work with short nails &#x2013; here is a <a href="https://www.youtube.com/watch?v=MOVAd5Ldrqc">video on how to push the SD card into the slot</a> in such cases.</p><p>If the SD card is successfully mounted, you will find a little SD card icon on the top bar: </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/05/sd_card_mounted.png" class="kg-image" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero" loading="lazy" width="1034" height="660" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/sd_card_mounted.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/sd_card_mounted.png 1000w, https://blog.flipper.net/content/images/2022/05/sd_card_mounted.png 1034w" sizes="(min-width: 720px) 720px"><figcaption>SD card mount status</figcaption></figure><p>If your SD card fails to mount, it probably has an incompatible file system. Please format the SD card to exFAT or FAT32 format to use it: <a href="https://docs.flipperzero.one/basics/sd-card#ub-formatting-the-sd-card">How to format SD card in Flipper</a>.</p><h3 id="formatting-the-sd-card">Formatting the SD card</h3><p>SD card support in Flipper&apos;s firmware is implemented using the <a href="http://elm-chan.org/fsw/ff/00index_e.html">FatFs</a> library. In order for it to work, the SD card must be formatted to either FAT32 or exFAT.</p><p>We recommend formatting the SD card using Flipper&apos;s built-in format tool. You can do this by navigating to the following menu: &#xA0;<code>Settings -&gt; Storage -&gt; Format SD Card</code></p><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://blog.flipper.net/content/media/2022/02/Flipper_SdFormat_compressed.mp4" poster="https://img.spacergif.org/v1/1264x534/0a/spacer.png" width="1264" height="534" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://blog.flipper.net/content/images/2022/02/media-thumbnail-ember299.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>How to format SD card on Flipper Zero</figcaption></figure><h2 id="what-sd-card-to-get">What SD card to get?</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/05/hqdefault.jpeg" class="kg-image" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero" loading="lazy" width="480" height="360"><figcaption>Not all SD cards are equal</figcaption></figure><p>Not all SD cards are made equal. High-quality branded SD cards have several physical interfaces that can be used for connecting to a device &#x2014; SDIO and SPI.</p><p>There are many cheap counterfeit and off-brand SD cards on the market, which don&apos;t have all interfaces working stably. In some cases, one SD card works fine over the high-speed SDIO interface but works poorly and is unstable over SPI. Flipper uses SPI, so it&apos;s important to choose a high-quality branded SD card for your Flipper Zero.</p><!--kg-card-begin: html--><div style="position: relative">
  <div class="warning flipper-callout">
    <div class="callout-header">
<div class="callout-icon"><!-- Оставить пустым --></div>
      <!-- Заголовок баббла (опционально) -->
Choose a high-quality SD card
    </div>
    <!-- Текст баббла -->
All modern smartphones and computers connect to the SD card via the high-speed SDIO interface, but Flipper uses a power-saving and slow SPI interface. This interface is not as popular with cheap counterfeit SD cards and the SPI mode is often poorly implemented. Therefore, it is important to use branded original SD cards.
  </div>
</div><!--kg-card-end: html--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/05/SDcard_speed.png" class="kg-image" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero" loading="lazy" width="1600" height="790" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/SDcard_speed.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/SDcard_speed.png 1000w, https://blog.flipper.net/content/images/2022/05/SDcard_speed.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Different SD card interfaces: high-speed SDIO and low-speed SPI</figcaption></figure><p>You can test the speed of your SD card in SPI mode by going to <code>Settings -&gt; Storage -&gt; Benchmark SD Card</code>. You can find the average SD card speed on the <a href="https://docs.flipperzero.one/basics/sd-card#78-speed-test-results">SD Card speed test</a> documentation page. It&apos;s ok if the values you&apos;re getting are slightly higher or lower. If you&apos;re having problems with an SD card, the best advice we can give is to simply try another one.</p><h2 id="what-is-stored-on-the-sd-card">What is stored on the SD card?</h2><p>The SD card is necessary to unleash the full potential of Flipper Zero. It stores auxiliary files that we call databases. Many Flipper Zero features will not work properly without a relevant database on the SD card. You can find a detailed description of files stored on the SD card here: <a href="https://github.com/flipperdevices/flipperzero-sd-card-examples">flipperzero-sd-card-examples</a><strong>.</strong></p><p>The databases are copied to the SD card during the last part of the firmware update process. That is why it&apos;s important to perform the update with the SD card already in place. All user keys, signals, cards, and remotes are also stored on the SD card. You can access these files through qFlipper or through the Flipper Mobile Apps.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/05/3a3dcf9990af34a4b05aa435999500b614f0ac99.png" class="kg-image" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero" loading="lazy" width="1724" height="1064" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/3a3dcf9990af34a4b05aa435999500b614f0ac99.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/3a3dcf9990af34a4b05aa435999500b614f0ac99.png 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/3a3dcf9990af34a4b05aa435999500b614f0ac99.png 1600w, https://blog.flipper.net/content/images/2022/05/3a3dcf9990af34a4b05aa435999500b614f0ac99.png 1724w" sizes="(min-width: 720px) 720px"><figcaption>qFlipper file manager</figcaption></figure><p>You can also access files on an SD card at any time by plugging it into a computer. Almost all files used by Flipper Zero are stored in plain text and can be easily viewed and edited with your favorite text editor.</p><h1 id="firmware-update">Firmware Update</h1><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/05/mainpic_1--1---1-.png" class="kg-image" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero" loading="lazy" width="1671" height="799" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/mainpic_1--1---1-.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/mainpic_1--1---1-.png 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/mainpic_1--1---1-.png 1600w, https://blog.flipper.net/content/images/2022/05/mainpic_1--1---1-.png 1671w" sizes="(min-width: 720px) 720px"><figcaption>qFlipper desktop application for updating Flipper Zero firmware</figcaption></figure><p>Flipper Zero comes out of the factory with a very old firmware version. This version is tied to the production processes of testing and calibrating the device on the factory line. It is important to update the firmware to the latest version right after taking your device out of the box. <strong>Do not use the device running factory firmware</strong>, it is hopelessly outdated!</p><h3 id="update-your-flipper-zeros-firmware-flipperzerooneupdate">Update your Flipper Zero&apos;s firmware: <a href="https://flipperzero.one/update">flipperzero.one/update</a><br></h3><p><br><a href="https://flipperzero.one/update">qFlipper</a> is a desktop application for updating Flipper Zero firmware. It&apos;s fully open-source and written in Qt. It works on all major operations systems &#x2014; Windows/macOS/Linux. In addition to updating the firmware, the qFlipper application will install the databases <strong>(</strong><a href="https://github.com/flipperdevices/flipperzero-sd-card-examples">flipperzero-sd-card-examples</a>) to the SD card.</p><h2 id="update-process-rework">Update Process Rework </h2><p>Flipper Zero&apos;s firmware update consists of several stages:</p><ol><li>First core firmware update (Flipper OS)</li><li>Second core firmware update (Bluetooth RadioStack)</li><li>Databases installation to the SD card</li></ol><p>Right now the Flipper Zero update process is rather complicated: the device reboots several times into different modes. It switches from DFU to Serial, reconnects to the computer several times as different devices, etc. This causes unexpected issues on different operating systems during the update process.<br><br>We are working on simplifying this process by reducing 3 steps to just one. Our goal is to have the entire update package downloaded to the SD card, and then Flipper will perform all update steps locally without a computer. At the same time, this will allow us to update the device without a computer using the mobile apps. The first firmware update from the factory to up-to-date firmware will still need to be carried out via qFlipper from a PC. However, we plan to bump up the factory firmware version at some point as well.</p><h2 id="how-to-report-firmware-update-issues">How to report firmware update issues</h2><p>If an error occurs during the update process, it is important for us that you describe it in detail. Since we don&apos;t collect any usage data and statistics from your computer, you will have to report the issue yourself by posting it to the forum:</p><ol><li>Firstly, check the <a href="https://forum.flipperzero.one/c/firmware-update/19">Firmware Update forum section</a> and try to find your issue, it may be possible that the solution is already there</li><li>If you can&apos;t find an issue similar to yours, go to qFlipper and press the Logs button </li><li>Press the Open Full Log button, which will open the full update log in a txt file</li><li>Create a new topic on the forum, describe your issue, and your actions in detail, and attach the Full Log file</li></ol><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/03/2.png" class="kg-image" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero" loading="lazy" width="825" height="413" srcset="https://blog.flipper.net/content/images/size/w600/2022/03/2.png 600w, https://blog.flipper.net/content/images/2022/03/2.png 825w" sizes="(min-width: 720px) 720px"><figcaption>How to open the full update process log file in qFlipper</figcaption></figure><p>Most often, issues occur on the Windows operating system and are caused by drivers for DFU. Therefore, before checking the forum, you can try checking this guide: <a href="https://forum.flipperzero.one/t/how-to-debug-firmware-update-on-windows/1997">How To Debug Firmware Update on Windows</a>.</p><!--kg-card-begin: html--><div style="position: relative">
  <div class="info flipper-callout">
    <div class="callout-header">
      <div class="callout-icon"><!-- Оставить пустым --></div>
      <!-- Заголовок бабла (опционально) -->
       A new update process will be released soon
    </div>
    <!-- Текст бабла -->
All problems related to DFU mode will disappear when we switch to the new self-update method using the SD card. After that Flipper will only be recognized as a COM port device during the update process. This will also allow us to update via Bluetooth using mobile apps.
  </div>
</div><!--kg-card-end: html--><h2 id="update-via-mobile-apps-work-in-progress">Update via Mobile Apps (Work in Progress)</h2><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2022/05/noname-7kp1y.jpg" class="kg-image" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero" loading="lazy" width="1778" height="814" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/noname-7kp1y.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/noname-7kp1y.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/noname-7kp1y.jpg 1600w, https://blog.flipper.net/content/images/2022/05/noname-7kp1y.jpg 1778w" sizes="(min-width: 720px) 720px"></figure><p>So far, qFlipper is the only recommended way to update the Flipper Zero firmware. But we are working hard on a way to update the firmware via mobile applications and this will be released soon. We&apos;ll make a separate post later to tell you more about it. For now, you can try other cool features in the Flipper Mobile App for Android and iOS.</p><h1 id="flipper-zero-documentation">Flipper Zero Documentation</h1><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/05/noname-xrp7k--2-.jpg" class="kg-image" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero" loading="lazy" width="1740" height="840" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/noname-xrp7k--2-.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/noname-xrp7k--2-.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/noname-xrp7k--2-.jpg 1600w, https://blog.flipper.net/content/images/2022/05/noname-xrp7k--2-.jpg 1740w" sizes="(min-width: 720px) 720px"><figcaption>Flipper Zero documentation site</figcaption></figure><p>The official <a href="https://docs.flipperzero.one">Flipper Zero documentation</a> is in progress and is 20% complete so far. Flipper&apos;s firmware features are being constantly updated and improved right now so it&apos;s hard to keep up at times. We&apos;re working on finalizing the firmware APIs and writing the documentation along with it. We hope to complete the main sections by the time all devices are shipped to backers.</p><h1 id="forum-%E2%80%94-the-best-place-to-discuss-tech-stuff">Forum &#x2014; the best place to discuss tech stuff</h1><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/05/noname-xlu5z--1-.png" class="kg-image" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero" loading="lazy" width="2000" height="832" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/noname-xlu5z--1-.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/noname-xlu5z--1-.png 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/noname-xlu5z--1-.png 1600w, https://blog.flipper.net/content/images/size/w2400/2022/05/noname-xlu5z--1-.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Flipper Zero official forum&#xA0;</figcaption></figure><p><a href="https://forum.flipperzero.one">Our official forum</a> is the best place to communicate with developers, discuss technical issues, post feature requests, report bugs, etc. We strongly encourage you to use the forum to discuss any issues related to the Flipper Zero, as any discussions in chats and comment sections will not be indexed and therefore will be impossible to google.</p><h2 id="how-to-create-a-good-topic-on-the-forum">How to create a good topic on the forum</h2><p>It&apos;s important to follow the rules for formatting messages on the forum if you want us to take a close look at your problem or request:</p><ol><li>The title should be as specific and detailed as possible.<br><strong>Good title: </strong><em><code>qFlipper on Windows 10 freezes when VMware Player running</code></em><br><strong>Bad title: </strong><em><code>qFlipper freezes. HELP!</code></em></li><li>Specify your version of Flipper Zero firmware and operating system.</li><li>Attach logs, screenshots, and photos related to your problem or request</li></ol><h2 id="my-remotecard-doesnt-work">My remote/card doesn&apos;t work</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/05/noname-44e2z--1-.jpg" class="kg-image" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero" loading="lazy" width="1792" height="926" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/noname-44e2z--1-.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/noname-44e2z--1-.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2022/05/noname-44e2z--1-.jpg 1600w, https://blog.flipper.net/content/images/2022/05/noname-44e2z--1-.jpg 1792w" sizes="(min-width: 720px) 720px"><figcaption>Some protocols are not supported yet</figcaption></figure><p>We are constantly adding support for new types of cards, remotes, and protocols. If Flipper Zero can&apos;t read your remote or card, you can help us add support for your protocol by making a comprehensive request with all the necessary information. This applies to all features: 125khz RFID / NFC / Sub-GHz / Infrared.</p><p>Here&apos;s a manual on creating a request to add support for a new Sub-GHz protocol:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://forum.flipperzero.one/t/my-remote-isnt-supported-how-to-add-new-sub-ghz-protocol-in-flipper-zero/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">&#x26A0;&#xFE0F; My remote isn&#x2019;t supported | How to add new Sub-GHz protocol in Flipper Zero</div><div class="kg-bookmark-description">Abstract Flipper&#x2019;s firmware is deeply under development, new features and protocols added everyday. We need your help to analyze and collect new protocols. Please follow this guide to create a report of your unsuported remote. Your report will help developers to implement new Sub-GHz protocols. &#x41F;&#x43E;&#x2026;</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://forum.flipperzero.one/uploads/default/optimized/1X/cf9792f77b11c5d0733c0d0eb24ebc3c2f84c737_2_180x180.png" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero"><span class="kg-bookmark-author">Flipper Zero Community</span><span class="kg-bookmark-publisher">zhovner</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://forum.flipperzero.one/uploads/default/original/1X/cf9792f77b11c5d0733c0d0eb24ebc3c2f84c737.png" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero"></div></a></figure><p>And here&apos;s an example of a good request to add a new remote type:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://forum.flipperzero.one/t/request-linear-megacode-garage-gate-remotes-fixed-non-rolling-code/2490"><div class="kg-bookmark-content"><div class="kg-bookmark-title">&#x26A0;&#xFE0F;Request: Linear Megacode Garage &amp; Gate Remotes (Fixed/non-rolling code)</div><div class="kg-bookmark-description">Request to support the Linear Megacode Protocol. Frequency: 318MHz Modulation: Amplitude Modulation (AM) FCC ID: EF4 ACP00872 MODEL: Linear ACT-31B FCC ID: EF4 ACP00728 MODEL: Linear MT-1B FCC ID: EF4 ACP00729 MODEL: Linear MT-2B Short: 1000 &#xB5;s Long: 1000 &#xB5;s Gap: 9000 &#xB5;s Reset: 20000 &#xB5;s&#x2026;</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://forum.flipperzero.one/uploads/default/optimized/1X/cf9792f77b11c5d0733c0d0eb24ebc3c2f84c737_2_180x180.png" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero"><span class="kg-bookmark-author">Flipper Zero Community</span><span class="kg-bookmark-publisher">nhx0</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://forum.flipperzero.one/uploads/default/original/1X/cf9792f77b11c5d0733c0d0eb24ebc3c2f84c737.png" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero"></div></a></figure><h1 id="community-feedback">Community Feedback</h1><p>We are extremely grateful to the community for all the feedback you provide us. It really energizes our team. If you&apos;ve received the device and want to share your impressions, the best way to do this is by publishing it on your favorite social network like Instagram, Twitter, Facebook, Youtube or your personal blog <strong>with the hashtag #flipperzero</strong>. Our whole team reads such posts and it makes us very happy. Thank you for doing this!</p><p>If you want to read backers&apos; feedback so far, the best places are:</p><ol><li>Subreddit <a href="https://www.reddit.com/r/flipperzero/">r/flipperzero</a> (lots of activity)</li><li>Twitter <a href="https://twitter.com/flipper_zero">@flipper_zero</a> where we retweet interesting tweets. Just search <a href="https://twitter.com/hashtag/flipperzero?src=hashtag_click&amp;f=live">#flipperzero</a> hashtag for more</li><li><a href="https://www.instagram.com/explore/tags/flipperzero/">Instagram</a> posts</li><li>Videos on <a href="https://www.youtube.com/results?search_query=flipper+zero&amp;sp=CAI%253D">Youtube</a></li></ol><h3 id="funny-stuff-from-the-community">Funny stuff from the community</h3><p>Using Flipper Zero to open Tesla car charging port hatches! This trick uses Sub-GHz RAW signal read and emulate features. <a href="https://www.tiktok.com/@strawlrus/video/7084000979082939690">Original post in Tiktok</a>.</p><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://blog.flipper.net/content/media/2022/05/flipper_zero_tiktok_tesla_charging_hatch.mp4" poster="https://img.spacergif.org/v1/576x1024/0a/spacer.png" width="576" height="1024" playsinline preload="metadata" style="background: transparent url(&apos;https://blog.flipper.net/content/images/2022/05/noname-u0x4n.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>Flipper Zero opens Tesla charging port hatch</figcaption></figure><p>Flipper communicating with an old pager. <a href="https://twitter.com/IfNotPike/status/1518487942162919424">Original tweet</a>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><a href="https://twitter.com/IfNotPike/status/1518487942162919424"><img src="https://blog.flipper.net/content/images/2022/05/noname-alqv3--1-.jpg" class="kg-image" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero" loading="lazy" width="1174" height="1116" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/noname-alqv3--1-.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/noname-alqv3--1-.jpg 1000w, https://blog.flipper.net/content/images/2022/05/noname-alqv3--1-.jpg 1174w" sizes="(min-width: 720px) 720px"></a><figcaption>Flipper sends messages to the old pager</figcaption></figure><p>Flipper Zero emulates Amiibo tags for Nintendo Switch. The original tweet by <a href="https://twitter.com/CommodoreKazz/status/1504938869254500353">@CommodoreKazz</a>.</p><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://blog.flipper.net/content/media/2022/05/Humjn4W_0TCmxDBb.mp4" poster="https://img.spacergif.org/v1/1280x720/0a/spacer.png" width="1280" height="720" playsinline preload="metadata" style="background: transparent url(&apos;https://blog.flipper.net/content/images/2022/05/media-thumbnail-ember3321.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>Flipper Zero emulates Amiibo tags for Nintendo Switch</figcaption></figure><p>A cool and detailed video review <a href="https://youtu.be/1qp78fiDD5M">@DarthDomo</a>.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/1qp78fiDD5M?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></figure><p>Also, Reddit user <a href="https://www.reddit.com/user/Droom0ne/">@DroomOne</a> wrote a great tutorial on <a href="https://github.com/DroomOne/Flipper-Plugin-Tutorial">How to create a plugin for flipper zero</a> from scratch.</p><h1 id="shipping-update">Shipping Update</h1><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/05/image-4.png" class="kg-image" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero" loading="lazy" width="1542" height="2048" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/image-4.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/image-4.png 1000w, https://blog.flipper.net/content/images/2022/05/image-4.png 1542w" sizes="(min-width: 720px) 720px"><figcaption>Just arrived parcel to backer</figcaption></figure><p>At the time of writing this post, we have already shipped 23,109 devices. That means that we&apos;ve <strong>fully shipped 45%</strong> <strong>of all Kickstarters orders, </strong>or all orders to the US, CA, and AU regions. &#xA0;<br><br>You can track the total number of devices shipped on our <a href="https://ship.flipp.dev">special tracking site</a>, where we also publish frequent small updates on the progress.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/05/image-7.png" class="kg-image" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero" loading="lazy" width="1200" height="926" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/image-7.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/image-7.png 1000w, https://blog.flipper.net/content/images/2022/05/image-7.png 1200w" sizes="(min-width: 720px) 720px"><figcaption>Shipping progress tracking site</figcaption></figure><h3 id="shipping-plan">Shipping plan</h3><p>Here is the updated shipping status and schedule:</p><ul><li>&#x2705; USA &#x2014; Fully shipped, mostly delivered</li><li>&#x2705; Canada &#x2014; Fully shipped, mostly delivered</li><li>&#x2705; Australia &#x2014; Fully shipped, got stuck on customs for Biological check</li><li>&#x1F504; EU &amp; UK &#x2014; Early June, the batch is in production right now</li><li>&#x1F504; Russia &#x2014; Mid June, material preparation</li><li>&#x1F504; Rest of the World &#x2014; Late June, material preparation</li></ul><h3 id="why-is-there-a-delay-again">Why is there a delay again? </h3><p>Unfortunately, we still experience production and supply issues that cause shipping delays. Here is what we faced and solved since the last post:</p><ul><li>TI CC1101, the chip powering the Sub-Ghz feature, is in extreme shortage. To date, the supplier has shipped just a fraction of our initial order. The same situation is with our LED driver &#x2014; TI LP5562. To overcome this we have to purchase these components on the spot-buy market at a much, much higher price (3-5x for CC1101 and 20-30x for LP5562)</li><li>Battery supply chain issues. We&apos;ve sourced a new supplier and reworked our supply chain to be more redundant in the battery department</li><li>The last batch of USB cables we received was partially corroded on the metal part. Units packed with such cables had to be reworked and incoming quality control procedures had to be improved</li><li>8k pieces of Top Cover body part had an excess rib in the internal structure that caused a failed assembly. Those parts had to be reworked if possible and replaced completely if not</li></ul><p>Our production team works 24/7 to keep the production running non-stop and overcome these issues as well as many less significant, but still disturbing ones. However, we&apos;ve come a long way already and we are sure that all the orders will be shipped despite all the difficulties and challenges. <strong>We thank you for your patience and continuous support.</strong></p><h1 id="afterword">Afterword</h1><p>Here is an afterword, unedited text from the co-founder of the project Pavel <a href="https://twitter.com/zhovner">@Zhovner</a>, all punctuation, and spelling are preserved:</p><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2022/05/photo_2019-11-19_20-18-14-3.jpg" class="kg-image" alt="23,000 Devices Shipped! Quick Start Guide for Flipper Zero" loading="lazy" width="1280" height="846" srcset="https://blog.flipper.net/content/images/size/w600/2022/05/photo_2019-11-19_20-18-14-3.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/05/photo_2019-11-19_20-18-14-3.jpg 1000w, https://blog.flipper.net/content/images/2022/05/photo_2019-11-19_20-18-14-3.jpg 1280w" sizes="(min-width: 720px) 720px"></figure><blockquote>Today we can confidently say that we have won. This is a real genuine victory! Every day new problems and issues threatened us with a complete fail. Component crises, supply disruptions, production problems, lockdowns, COVID and wars &#x2013; all this at any moment could turn us into another scam project from Kickstarter that did not fulfill its obligations. <br><br>Despite the fact that this is the most exciting and interesting project in my entire life, at the same time it&apos;s the most difficult, humiliating, painful and exhausting. My worst nightmare is being the person who failed, didn&apos;t live up to their commitments, and scammed 40k backers. This is a very strong emotional pressure, as such a shame can never be washed off. Therefore, my entire reputation, professional career and, in fact, life in general, have always been at stake, no matter how loud it may sound. <br><br>At the moment we&apos;ve shipped 45% of all orders and we can confidently say that <strong>we are guaranteed to ship all 100% of orders from our backers</strong>. Yes, many still have not received their devices, but this is temporary, there is no doubt that everyone who trusted us and supported the project will receive their orders. And that&apos;s why I think that we have won. <br><br>We are a small team of enthusiasts who are opposed to a huge bureaucratic machine, global crises and other circumstances that are much bigger than us. But we are convinced that true passion and love for your work is stronger than any obstacles. That is why our entire team works hard every signle day on the Flipper Zero, being truly in love with the project. <br><br>At the moment, we havn&apos;t made any profit on this project, we have spent all the fund raised on development and production. But we are only at the beginning of the journey, and what&apos;s next will be even more interesting and exciting.</blockquote>]]></content:encoded></item><item><title><![CDATA[Shipping Going]]></title><description><![CDATA[<p>As we announced in <a href="https://blog.flipper.net/shipping-started/">the previous update</a>, we began shipping Flippers in January. In this post, we will report the current status of manufacturing and shipping and will cover all the difficulties we faced.</p><h2 id="first-united-states-batch">First United States Batch</h2><p>A batch of <strong>4541 orders</strong> including 4700 white Flippers, lots of cases,</p>]]></description><link>https://blog.flipper.net/shipping-going/</link><guid isPermaLink="false">6565b30c62a2b30001e3e754</guid><category><![CDATA[Production Log]]></category><category><![CDATA[Flipper Zero]]></category><dc:creator><![CDATA[Anna Oake]]></dc:creator><pubDate>Sun, 06 Mar 2022 23:42:56 GMT</pubDate><media:content url="https://blog.flipper.net/content/images/2022/03/169.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.flipper.net/content/images/2022/03/169.jpg" alt="Shipping Going"><p>As we announced in <a href="https://blog.flipper.net/shipping-started/">the previous update</a>, we began shipping Flippers in January. In this post, we will report the current status of manufacturing and shipping and will cover all the difficulties we faced.</p><h2 id="first-united-states-batch">First United States Batch</h2><p>A batch of <strong>4541 orders</strong> including 4700 white Flippers, lots of cases, and protoboards, was transferred to the Hong Kong warehouse and handed over to our logistics partner on February 17th. This batch covers all Kickstarter orders and most pre-orders that head to the United States and do not contain black Flippers or Wi-Fi devboards. <strong>Other United States orders will be shipped within the coming batches.</strong></p><p>Our logistics partner needed more time than we expected to pack all orders in individual parcels and prepare them for shipping. COVID restrictions also impacted flight schedules a lot, so the plane with the batch <a href="https://flightaware.com/live/flight/EVA634/history/20220304/0736Z/RCTP/KORD">has landed</a> in Chicago on March 4th. <strong>We expect people to start getting USPS tracking updates on March 7th, after parcels go through customs.</strong></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/03/Screenshot-2022-03-04-at-22.02.44.png" class="kg-image" alt="Shipping Going" loading="lazy" width="1030" height="674" srcset="https://blog.flipper.net/content/images/size/w600/2022/03/Screenshot-2022-03-04-at-22.02.44.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/03/Screenshot-2022-03-04-at-22.02.44.png 1000w, https://blog.flipper.net/content/images/2022/03/Screenshot-2022-03-04-at-22.02.44.png 1030w" sizes="(min-width: 720px) 720px"><figcaption>Tracking links were sent out by email</figcaption></figure><h2 id="gpio-header-failure">GPIO Header Failure</h2><p>We have multiple levels of quality assurance set up in our factories to prevent faulty devices from getting to customers. Recently one of our testing lines revealed an issue with GPIO header plastic that suddenly started exploding in an SMT oven.</p><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2022/03/Image-from-iOS--3--1.jpg" width="1453" height="780" loading="lazy" alt="Shipping Going" srcset="https://blog.flipper.net/content/images/size/w600/2022/03/Image-from-iOS--3--1.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/03/Image-from-iOS--3--1.jpg 1000w, https://blog.flipper.net/content/images/2022/03/Image-from-iOS--3--1.jpg 1453w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2022/03/Image-from-iOS--5--1.jpg" width="883" height="513" loading="lazy" alt="Shipping Going" srcset="https://blog.flipper.net/content/images/size/w600/2022/03/Image-from-iOS--5--1.jpg 600w, https://blog.flipper.net/content/images/2022/03/Image-from-iOS--5--1.jpg 883w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2022/03/Image-from-iOS--6--1.jpg" width="901" height="585" loading="lazy" alt="Shipping Going" srcset="https://blog.flipper.net/content/images/size/w600/2022/03/Image-from-iOS--6--1.jpg 600w, https://blog.flipper.net/content/images/2022/03/Image-from-iOS--6--1.jpg 901w" sizes="(min-width: 720px) 720px"></div></div></div><figcaption>Exploding GPIO header plastic</figcaption></figure><p>The only appropriate solution was to pause the processes, recall affected PCBs, replace faulty GPIO headers, and fix the origin of the issue, which took more than a week.</p><h2 id="hong-kong-covid-spike">Hong Kong COVID Spike</h2><p>Due to the <a href="https://www.nytimes.com/live/2022/02/27/world/covid-19-tests-cases-vaccine">large COVID spike</a> in Hong Kong, authorities <a href="https://www.nytimes.com/2022/02/22/world/asia/hong-kong-coronavirus-testing.html">required all its residents to get tested</a> and imposed new restrictions for businesses, which also affected our logistics partner and warehouse.</p><p>The number of warehouse workers is now limited and random testings of the facility take place. As warehouse reports, this might slow down their work and affect shipping performance.</p><h2 id="russo-ukrainian-conflict">Russo-Ukrainian Conflict</h2><p>Ongoing <a href="https://en.wikipedia.org/wiki/Russo-Ukrainian_War">conflict</a> <strong>doesn&apos;t impact our business</strong> as <a href="https://flipperdevices.com">Flipper Devices Inc.</a> is a U.S.-based company. Our devices are manufactured in China and shipped from Hong Kong, so logistics is not directly affected too.</p><p>However, it is now obviously <strong>impossible to ship to Ukraine, and we can&apos;t predict if it will be possible to ship to Russia</strong>. <strong>If we face</strong> any logistics restrictions, we will hold these parcels until the world stabilizes and shipping options appear. <strong>If you are leaving Ukraine, Russia, or Belarus, we can update your shipping address.</strong> Just write <a href="mailto:support@flipperdevices.com">support@flipperdevices.com</a> from the email you used to place an order and include your new full address.</p><p>More than 8,000 of our customers live in the involved countries. We stand with you during these difficult times and hope for peace. Please stay strong and take care of yourself and your family.</p><h2 id="adjusted-shipping-plan">Adjusted Shipping Plan</h2><p>Considering the difficulties we mentioned above, we now plan to deliver all orders by <strong>Mid May 2022</strong>. We also reordered the detailed schedule a little:</p><ul><li><em>USA / 5k (already shipped)</em></li><li>Australia and Canada / 5k + USA / 5k (Late March)</li><li>USA / rest (Mid April)</li><li>EU and UK / 20k (Late April)</li><li>Russia / 7k<em> </em>(Mid May, <em>if all goes well</em>)</li><li>Rest of the world (70+ countries) / 3k (Mid May)</li></ul><p>Please note that per-batch volume numbers and timeframes are <strong>approximate and may be adjusted</strong>. This schedule includes both Kickstarter orders and pre-orders.</p><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">&#x1F610;</div><div class="kg-callout-text"><strong>Updated on March 16th</strong><br>Shenzhen&apos;s one-week <a href="https://fortune.com/2022/03/14/shenzhen-lockdown-supply-chain-iphone-cars-electronics/">COVID lockdown</a> affects all factories, including ours, which introduces Flipper Zero production delay. The above plan was updated to reflect this delay.</div></div><h2 id="where-is-my-flipper">Where is <em>My</em> Flipper?</h2><p>You will get an email with a tracking number as soon as we ship your order. However, you can also check your order manually.</p><h3 id="i-backed-on-kickstarter">I backed on Kickstarter</h3><p>Check your <a href="https://flipperzero.backerkit.com">BackerKit survey</a> using the email you used on Kickstarter to look up the status.</p><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2022/03/Screenshot-2022-03-05-at-09.19.41.png" class="kg-image" alt="Shipping Going" loading="lazy" width="2000" height="557" srcset="https://blog.flipper.net/content/images/size/w600/2022/03/Screenshot-2022-03-05-at-09.19.41.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/03/Screenshot-2022-03-05-at-09.19.41.png 1000w, https://blog.flipper.net/content/images/size/w1600/2022/03/Screenshot-2022-03-05-at-09.19.41.png 1600w, https://blog.flipper.net/content/images/2022/03/Screenshot-2022-03-05-at-09.19.41.png 2192w" sizes="(min-width: 720px) 720px"></figure><p>We notify <strong>twice</strong> before locking addresses: a ~week and 48 hours prior to lock.</p><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2022/03/Screenshot-2022-03-05-at-09.22.18.png" class="kg-image" alt="Shipping Going" loading="lazy" width="2000" height="595" srcset="https://blog.flipper.net/content/images/size/w600/2022/03/Screenshot-2022-03-05-at-09.22.18.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/03/Screenshot-2022-03-05-at-09.22.18.png 1000w, https://blog.flipper.net/content/images/size/w1600/2022/03/Screenshot-2022-03-05-at-09.22.18.png 1600w, https://blog.flipper.net/content/images/2022/03/Screenshot-2022-03-05-at-09.22.18.png 2184w" sizes="(min-width: 720px) 720px"></figure><p>If your Flipper was shipped, you will see a clickable tracking number on your BackerKit order confirmation page.</p><h3 id="i-pre-ordered-in-the-store">I pre-ordered in the store</h3><p>Check your order confirmation email and click the blue &quot;View your order&quot; button.</p><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2022/03/Screenshot-2022-03-05-at-09.26.38.png" class="kg-image" alt="Shipping Going" loading="lazy" width="1452" height="1078" srcset="https://blog.flipper.net/content/images/size/w600/2022/03/Screenshot-2022-03-05-at-09.26.38.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/03/Screenshot-2022-03-05-at-09.26.38.png 1000w, https://blog.flipper.net/content/images/2022/03/Screenshot-2022-03-05-at-09.26.38.png 1452w" sizes="(min-width: 720px) 720px"></figure><p>If your Flipper was shipped, you will see a clickable tracking number.</p><h2 id="stay-tuned">Stay Tuned</h2><p>Our social media subscribers get all the Flipper Zero news first! Join in and get access to sneak peeks, insides, and more.</p><!--kg-card-begin: html--><style>
    .social-btns {
        display: flex;
        justify-content: space-between;
    }
    .social-btn {
        margin: 0 10px;
        text-align: center;
    }
    .social-btn img {
        width: 128px;
        margin-bottom: 10px;
    }
    .social-btn a {
        text-decoration: none;
    }
@media (max-width: 425px) {
  .social-btn strong {
    font-size: 13px;
  }
}
</style>
<div class="social-btns">
	<div class="social-btn">
        <a href="https://twitter.com/flipper_zero">
			<img src="https://cdn.flipperzero.one/icon-twitter-512-normal.png" alt="Shipping Going">
        	<strong>@flipper_zero</strong>
        </a>
    </div>
    <div class="social-btn">
        <a href="https://instagram.com/flipper_zero">
			<img src="https://cdn.flipperzero.one/icon-instagram-512-normal.png" alt="Shipping Going">
        	<strong>@flipper_zero</strong>
        </a>
    </div>
    <div class="social-btn">
        <a href="https://facebook.com/flipperzero">
			<img src="https://cdn.flipperzero.one/icon-facebook-512-normal.png" alt="Shipping Going">
        	<strong>@flipperzero</strong>
        </a>
    </div>
</div><!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Shipping Started! 🥳]]></title><description><![CDATA[<p>Oh, man. Flippers are gradually starting shipping. This is probably the most exciting moment in the project&apos;s life so far. We&#x2019;re getting everything ready to ship <strong>5k units</strong>. It&#x2019;s a tedious process since we have to coordinate shipping to <strong>over 120 countries!</strong> We had</p>]]></description><link>https://blog.flipper.net/shipping-started/</link><guid isPermaLink="false">6565b30c62a2b30001e3e751</guid><category><![CDATA[Production Log]]></category><category><![CDATA[Flipper Zero]]></category><dc:creator><![CDATA[Pavel Zhovner]]></dc:creator><pubDate>Fri, 21 Jan 2022 14:37:25 GMT</pubDate><media:content url="https://blog.flipper.net/content/images/2022/01/boxes_flipper_zero_50pcs--1-.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.flipper.net/content/images/2022/01/boxes_flipper_zero_50pcs--1-.jpg" alt="Shipping Started! &#x1F973;"><p>Oh, man. Flippers are gradually starting shipping. This is probably the most exciting moment in the project&apos;s life so far. We&#x2019;re getting everything ready to ship <strong>5k units</strong>. It&#x2019;s a tedious process since we have to coordinate shipping to <strong>over 120 countries!</strong> We had to get a lot of paperwork done: customs documents, radio, cryptographic certificates, tons of other stuff. Hell of a lot of paperwork.</p><p>We&#x2019;re still facing challenges related to component shortages that hinder our production. Let&#x2019;s take a look at how we&#x2019;re getting everything ready for shipping, take a peek at how the production&#x2019;s going, and what we&#x2019;re going to do next.</p><h2 id="compliance-customs-documents">Compliance &amp; Customs Documents</h2><p>It&apos;s important for us that Flipper Zero is absolutely legal for import into all countries. We&#x2019;re getting all the necessary certificates and customs documents to make this work.</p><p>In addition to radio, cryptographic, electronic, and ecological certifications we also had to get over 20 different tax IDs in the EU, Great Britain, Australia, and Canada.<br></p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/01/fpz_compliance_docs.png" class="kg-image" alt="Shipping Started! &#x1F973;" loading="lazy" width="1463" height="672" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/fpz_compliance_docs.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/fpz_compliance_docs.png 1000w, https://blog.flipper.net/content/images/2022/01/fpz_compliance_docs.png 1463w" sizes="(min-width: 1200px) 1200px"><figcaption>Flipper Zero certificates and customs docs&#xA0;</figcaption></figure><p>You can find all the latest compliance documents here: <a href="https://flipperzero.one/compliance">flipperzero.one/compliance</a><br>We will be keeping this page updated as new documents arrive.</p><h2 id="production">Production </h2><p>Right now our production line is outputting <strong>5 thousand devices per week</strong>, and we&#x2019;re working hard to get it up to <strong>10k/week till February</strong>. </p><p>We&#x2019;re still experiencing issues with global components shortage, and we are constantly seeking ways to overcome them to keep the production line going. Something that was readily available yesterday may just disappear altogether tomorrow, or the supplier may suddenly cancel the delivery without any warning.</p><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://blog.flipper.net/content/media/2022/01/flipper_display_sticky_film_line_compressed-1.mp4" poster="https://img.spacergif.org/v1/1080x608/0a/spacer.png" width="1080" height="608" playsinline preload="metadata" style="background: transparent url(&apos;https://blog.flipper.net/content/images/2022/01/media-thumbnail-ember405.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>[Video] Display cover assembly</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/01/---2022-1-19---5-10-03_compr.jpg" class="kg-image" alt="Shipping Started! &#x1F973;" loading="lazy" width="2000" height="1500" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/---2022-1-19---5-10-03_compr.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/---2022-1-19---5-10-03_compr.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2022/01/---2022-1-19---5-10-03_compr.jpg 1600w, https://blog.flipper.net/content/images/size/w2400/2022/01/---2022-1-19---5-10-03_compr.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Body assembly</figcaption></figure><p>Large-scale production is all about finding things to optimize. Every second saved during the assembly equals to more devices per day.</p><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2022/01/2-2.jpg" width="1300" height="975" loading="lazy" alt="Shipping Started! &#x1F973;" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/2-2.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/2-2.jpg 1000w, https://blog.flipper.net/content/images/2022/01/2-2.jpg 1300w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2022/01/3-1.jpg" width="1300" height="975" loading="lazy" alt="Shipping Started! &#x1F973;" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/3-1.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/3-1.jpg 1000w, https://blog.flipper.net/content/images/2022/01/3-1.jpg 1300w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2022/01/4-1.jpg" width="1300" height="975" loading="lazy" alt="Shipping Started! &#x1F973;" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/4-1.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/4-1.jpg 1000w, https://blog.flipper.net/content/images/2022/01/4-1.jpg 1300w" sizes="(min-width: 720px) 720px"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2022/01/5-1.jpg" width="1300" height="975" loading="lazy" alt="Shipping Started! &#x1F973;" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/5-1.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/5-1.jpg 1000w, https://blog.flipper.net/content/images/2022/01/5-1.jpg 1300w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2022/01/6-1.jpg" width="1300" height="975" loading="lazy" alt="Shipping Started! &#x1F973;" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/6-1.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/6-1.jpg 1000w, https://blog.flipper.net/content/images/2022/01/6-1.jpg 1300w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2022/01/7-1.jpg" width="1300" height="975" loading="lazy" alt="Shipping Started! &#x1F973;" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/7-1.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/7-1.jpg 1000w, https://blog.flipper.net/content/images/2022/01/7-1.jpg 1300w" sizes="(min-width: 720px) 720px"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2022/01/8-1.jpg" width="975" height="1300" loading="lazy" alt="Shipping Started! &#x1F973;" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/8-1.jpg 600w, https://blog.flipper.net/content/images/2022/01/8-1.jpg 975w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2022/01/---2022-1-13---4-36-33.jpg" width="2000" height="1500" loading="lazy" alt="Shipping Started! &#x1F973;" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/---2022-1-13---4-36-33.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/---2022-1-13---4-36-33.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2022/01/---2022-1-13---4-36-33.jpg 1600w, https://blog.flipper.net/content/images/size/w2400/2022/01/---2022-1-13---4-36-33.jpg 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2022/01/9-1.jpg" width="975" height="1300" loading="lazy" alt="Shipping Started! &#x1F973;" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/9-1.jpg 600w, https://blog.flipper.net/content/images/2022/01/9-1.jpg 975w" sizes="(min-width: 720px) 720px"></div></div></div><figcaption>Production line photos</figcaption></figure><p>It&apos;s impossible to solder the Sub-GHz antenna and the LCD screen by the reflow oven, so we had to construct a special rig that holds these parts in place while a robotized solder iron whooshes around and attaches them to the PCB.</p><figure class="kg-card kg-video-card kg-width-wide kg-card-hascaption"><div class="kg-video-container"><video src="https://blog.flipper.net/content/media/2022/01/1642665448402372.mp4" poster="https://img.spacergif.org/v1/1280x590/0a/spacer.png" width="1280" height="590" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://blog.flipper.net/content/images/2022/01/media-thumbnail-ember1482.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>Robotized soldering of the Sub-GHz antenna and LCD display</figcaption></figure><p>It&#x2019;s important to test all the elements of every PCB before assembling the device. To test the buttons on the Main board, we made a pneumatic poking machine that physically presses all the buttons. Turned out pretty cool!</p><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://blog.flipper.net/content/media/2022/01/buttons_pneumatic_test.mp4" poster="https://img.spacergif.org/v1/722x406/0a/spacer.png" width="722" height="406" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://blog.flipper.net/content/images/2022/01/media-thumbnail-ember1512.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>Pneumatic poking machine presses buttons on the Main PCB</figcaption></figure><p>Each person on the production line does only one simple task. This leads to fewer mistakes which in turn leads to fewer defects during the final assembly. It simplifies the necessary training as well, so scaling the production line is as easy as just adding more people to every stage.</p><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2022/01/10-1.jpg" width="1300" height="975" loading="lazy" alt="Shipping Started! &#x1F973;" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/10-1.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/10-1.jpg 1000w, https://blog.flipper.net/content/images/2022/01/10-1.jpg 1300w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2022/01/11.jpg" width="1300" height="975" loading="lazy" alt="Shipping Started! &#x1F973;" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/11.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/11.jpg 1000w, https://blog.flipper.net/content/images/2022/01/11.jpg 1300w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2022/01/12.jpg" width="1300" height="975" loading="lazy" alt="Shipping Started! &#x1F973;" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/12.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/12.jpg 1000w, https://blog.flipper.net/content/images/2022/01/12.jpg 1300w" sizes="(min-width: 720px) 720px"></div></div></div><figcaption>Assembly and testing instructions on the production line</figcaption></figure><p>After the assembly and testing the devices are packed in shipping boxes, with 50 Flippers in each. The boxes are then palletized. The resulting pallets are loaded into containers heading for direct injection to our major regions. To countries with fewer orders quantity, orders will be sent out by individual parcels.</p><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2022/01/a1.jpg" width="1300" height="975" loading="lazy" alt="Shipping Started! &#x1F973;" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/a1.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/a1.jpg 1000w, https://blog.flipper.net/content/images/2022/01/a1.jpg 1300w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2022/01/a3.jpg" width="1300" height="975" loading="lazy" alt="Shipping Started! &#x1F973;" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/a3.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/a3.jpg 1000w, https://blog.flipper.net/content/images/2022/01/a3.jpg 1300w" sizes="(min-width: 720px) 720px"></div></div></div><figcaption>Assembled Flippers are getting packed in shipping boxes, 50 pieces in each box</figcaption></figure><figure class="kg-card kg-image-card kg-width-wide"><img src="https://blog.flipper.net/content/images/2022/01/a5.jpg" class="kg-image" alt="Shipping Started! &#x1F973;" loading="lazy" width="1300" height="975" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/a5.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/a5.jpg 1000w, https://blog.flipper.net/content/images/2022/01/a5.jpg 1300w" sizes="(min-width: 1200px) 1200px"></figure><figure class="kg-card kg-video-card kg-width-wide kg-card-hascaption"><div class="kg-video-container"><video src="https://blog.flipper.net/content/media/2022/01/flippers_in_boxes_compressed_no_hdr-1.mp4" poster="https://img.spacergif.org/v1/1080x608/0a/spacer.png" width="1080" height="608" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://blog.flipper.net/content/images/2022/01/media-thumbnail-ember307.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>[video] Flippers in shipping boxes</figcaption></figure><h2 id="production-flaws">Production flaws</h2><p>We&#x2019;re facing a lot of flaws during the production at the moment. These are problems that only turn up when ramping up the production, and they are hard to detect during the early stages. Most of them simply don&apos;t occur unless the devices are assembled in large numbers.</p><p>The good news is that we&#x2019;re catching defects right on the production line using our thorough testing stations, so the defective devices aren&#x2019;t going to be shipped to the end-users. Every Flipper goes through 7 stages of testing before assembly and two more before finally getting into the box. We&#x2019;ve spent a tremendous amount of time and effort to fine-tune this process to be as smooth as possible.</p><figure class="kg-card kg-video-card kg-width-wide kg-card-hascaption"><div class="kg-video-container"><video src="https://blog.flipper.net/content/media/2022/01/flipper_main_pcb_jig_test_compressed_no_hdr.mp4" poster="https://img.spacergif.org/v1/1080x608/0a/spacer.png" width="1080" height="608" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://blog.flipper.net/content/images/2022/01/media-thumbnail-ember333.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>Main PCB testing</figcaption></figure><h3 id="defect-rate">Defect rate</h3><ul><li><strong>Main PCB &#x2014; 7%</strong><br>- The SD card holder is placed incorrectly. This leads to the detect pin not getting soldered and the SD card doesn&#x2019;t work. We&#x2019;re remaking the placer&#x2019;s suction cup to make it all suck less.<br>- Plastic parts of the GPIO contacts are bubbling up due to high temperatures in the reflow oven. We&#x2019;re making changes to the process so this won&#x2019;t happen in the future.<br>- The Sub-GHz antenna placement at times deviates more than it should, which leads to problems during the assembly. We&#x2019;re fixing the solder jig to keep it within acceptable tolerances.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/01/GPIO_collage.jpg" class="kg-image" alt="Shipping Started! &#x1F973;" loading="lazy" width="1632" height="1500" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/GPIO_collage.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/GPIO_collage.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2022/01/GPIO_collage.jpg 1600w, https://blog.flipper.net/content/images/2022/01/GPIO_collage.jpg 1632w" sizes="(min-width: 720px) 720px"><figcaption>GPIO bubbling up</figcaption></figure><ul><li><strong>iButton PCB &#x2014; 1.4%</strong><br>- Crooked pogo pins. We were putting on too much soldering paste, so the pogo pins were drifting when baked in the reflow oven. This leads to the pins not poking out through the case when assembled.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/01/pogo_collage.jpeg" class="kg-image" alt="Shipping Started! &#x1F973;" loading="lazy" width="1600" height="1517" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/pogo_collage.jpeg 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/pogo_collage.jpeg 1000w, https://blog.flipper.net/content/images/2022/01/pogo_collage.jpeg 1600w" sizes="(min-width: 720px) 720px"><figcaption>Defected pogo pins assembly</figcaption></figure><ul><li><strong>Assembled device and mechanics &#x2014; 4% </strong><br>- The molding factory messed up some of the post-processing. The sprew wasn&#x2019;t removed well enough on the lower lid. When assembling the case this results in a gap, and gaps suck.</li></ul><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2022/01/assembly_gap.jpg" class="kg-image" alt="Shipping Started! &#x1F973;" loading="lazy" width="1160" height="593" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/assembly_gap.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/assembly_gap.jpg 1000w, https://blog.flipper.net/content/images/2022/01/assembly_gap.jpg 1160w" sizes="(min-width: 720px) 720px"></figure><h1 id="shipping">Shipping</h1><p>Shipping 60k devices to 120+ countries is a very challenging task. We&#x2019;re tightly working with our logistics partner to make this process as seamless and predictable as possible.<br><br>Thanks to COVID-19 we constantly have to route around the local restrictions. Just recently several countries have imposed flight bans due to Omicron variant, which has an impact on moving stuff around the world as well.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://blog.flipper.net/content/images/2022/01/image-6.png" class="kg-image" alt="Shipping Started! &#x1F973;" loading="lazy" width="2000" height="990" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/image-6.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/image-6.png 1000w, https://blog.flipper.net/content/images/size/w1600/2022/01/image-6.png 1600w, https://blog.flipper.net/content/images/size/w2400/2022/01/image-6.png 2400w" sizes="(min-width: 1200px) 1200px"></figure><ul><li><strong>We will hand over the first 5 000 orders to the logistics before the end of January</strong>, this batch will be heading to the United States. We&#x2019;re sending only orders with white Flippers without the ESP WiFi board to keep any possible defects from getting out of the factory while we improve the process further.</li><li>We will be sending out 20k more by the end of February. And we plan to ship the rest of the orders by the end of March, both Kickstarter and pre-orders from our shop, if all goes smoothly.</li><li>Since the pandemic situation is far from stable (of course we had to get this Omicron right when we were about to ship) and we want to keep the defect rate predictable, <strong>we&#x2019;ve formed a plan of sequential shipping by regions:</strong><br>- USA / <em>20k </em><br>- EU and UK / <em>20k</em><br>- Russia / <em>7k</em><br>- Australia and Canada / <em>5k</em><br>- Rest of the world (70+ countries) / <em>3k</em></li><li>All parcels will be sent by airmail. After your order is transferred to the shipping partner, delivery will take from 6 to 18 business days, depending on your region and distance to the nearest local warehouse.</li></ul><h2 id="faq">FAQ</h2><h3 id="when-will-i-receive-my-flipper">When will I receive my Flipper?</h3><p><strong>We are doing our best to ship everything out in Q1 2022.</strong> Please be patient and don&#x2019;t bug us with this question, as we&#x2019;re really busy with the production and logistics. We&#x2019;re working non-stop and this question will not make it happen any faster.</p><h3 id="how-do-i-check-if-its-shipped">How do I check if it&apos;s shipped?</h3><p>All sent orders will be marked accordingly in BackerKit. You can always check the status yourself, just get a link to your account <a href="https://flipperzero.backerkit.com">here</a> (use your Kickstarter email).</p><p>When your order ships its status will change to <strong>&#x201C;Your order is shipping&#x201D;</strong> and you will get the tracking number. Check out the screenshots on the right for an example of how it looks:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2022/01/backerkit_tracking_shipped_vs_not_shipped--1-.png" class="kg-image" alt="Shipping Started! &#x1F973;" loading="lazy" width="2000" height="1583" srcset="https://blog.flipper.net/content/images/size/w600/2022/01/backerkit_tracking_shipped_vs_not_shipped--1-.png 600w, https://blog.flipper.net/content/images/size/w1000/2022/01/backerkit_tracking_shipped_vs_not_shipped--1-.png 1000w, https://blog.flipper.net/content/images/size/w1600/2022/01/backerkit_tracking_shipped_vs_not_shipped--1-.png 1600w, https://blog.flipper.net/content/images/size/w2400/2022/01/backerkit_tracking_shipped_vs_not_shipped--1-.png 2400w" sizes="(min-width: 720px) 720px"><figcaption>Shipping status in BackerKit account</figcaption></figure><h3 id="how-do-i-change-the-shipping-address">How do I change the shipping address?</h3><p>You can change your shipping address in <a href="https://flipperzero.backerkit.com">your account</a> now and we will warn you before blocking all changes to the shipping addresses. The first warning will come prior to a week, and the last warning two days before locking in the address. <strong>After it is locked, changing the address will no longer be possible.</strong></p><h3 id="i-still-haven%E2%80%99t-paid-for-shipping">I still haven&#x2019;t paid for shipping</h3><p>If you haven&#x2019;t managed to pay for shipping and add-ons on BackerKit before this option became unavailable, your account may have an outstanding debt. We will enable PayPal in February to provide you the option to cover this debt. Please wait for a separate email, and don&#x2019;t worry &#x2014; your order will not be forgotten or lost.</p>]]></content:encoded></item><item><title><![CDATA[Displays Arrived. Production Plan and New Features]]></title><description><![CDATA[<p>Good news everyone! The LCD displays have finally arrived. This means that we now have all the components necessary to start mass-producing Flippers. We have 60000 screens, enough for all the devices backed on Kickstarter and for some part of the pre-orders made on our website. Here&apos;s what</p>]]></description><link>https://blog.flipper.net/november-update/</link><guid isPermaLink="false">6565b30c62a2b30001e3e74f</guid><category><![CDATA[Production Log]]></category><category><![CDATA[Flipper Zero]]></category><dc:creator><![CDATA[Pavel Zhovner]]></dc:creator><pubDate>Mon, 15 Nov 2021 16:17:49 GMT</pubDate><media:content url="https://blog.flipper.net/content/images/2021/11/flipper_zero_mass_production_november_update-2.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.flipper.net/content/images/2021/11/flipper_zero_mass_production_november_update-2.jpg" alt="Displays Arrived. Production Plan and New Features"><p>Good news everyone! The LCD displays have finally arrived. This means that we now have all the components necessary to start mass-producing Flippers. We have 60000 screens, enough for all the devices backed on Kickstarter and for some part of the pre-orders made on our website. Here&apos;s what we&apos;ve been doing while we had to wait for the screens and the latest production and delivery plan.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2021/11/displays_boxes--1-.jpg" class="kg-image" alt="Displays Arrived. Production Plan and New Features" loading="lazy" width="1200" height="814" srcset="https://blog.flipper.net/content/images/size/w600/2021/11/displays_boxes--1-.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2021/11/displays_boxes--1-.jpg 1000w, https://blog.flipper.net/content/images/2021/11/displays_boxes--1-.jpg 1200w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Boxes full of LCD displays for Flipper Zero</span></figcaption></figure><p>We are now making about 150 devices per week, but the production line will achieve a few thousand devices per week in a month. More on the production plan and estimated delivery time at the end of this blog post.</p><h2 id="whats-new">What&apos;s new?</h2><p>While we waited for the necessary components we kept working on the firmware non-stop. Flipper&apos;s firmware is receiving updates, bug fixes, and new features every day. All the firmware commits are logged in our <a href="https://github.com/flipperdevices/flipperzero-firmware/commits/dev">GitHub repo</a> for everyone to see.</p><p><strong>More than 30 people </strong>are working on Flipper Zero<strong> full-time</strong>. A tremendous amount of work has been done already, and there is still a lot more to do. Here is what we&apos;ve done, as a brief review:</p><ul><li>Wrote over 90k lines of code </li><li>Completed more than 2000 tasks in Jira</li><li>85% of all the advertised Flipper features are working</li><li>We&apos;ve got the first app prototypes for Android and iOS</li><li>Our desktop app qFlipper is available for Windows/macOS/Linux</li><li>For 20 hard-to-get electrical components, more than 60 alternatives were selected and tested <strong>(THIS WAS A REAL PAIN)</strong></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2021/11/image.png" class="kg-image" alt="Displays Arrived. Production Plan and New Features" loading="lazy" width="1756" height="1780" srcset="https://blog.flipper.net/content/images/size/w600/2021/11/image.png 600w, https://blog.flipper.net/content/images/size/w1000/2021/11/image.png 1000w, https://blog.flipper.net/content/images/size/w1600/2021/11/image.png 1600w, https://blog.flipper.net/content/images/2021/11/image.png 1756w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">It&apos;s over 2000!</span></figcaption></figure><p>In addition to development we&apos;ve been dealing with a lot of other tasks: logistics, accounting, certification, financial planning, procurement, organizing production, testing, packaging, customs declarations and permits, searching for alternatives during the component crisis, and negotiating with the suppliers. We&apos;ve got a real dream team that handles all this load. Thank you all for the work done in these difficult circumstances.</p><h2 id="new-sub-ghz-features">New Sub-GHz features</h2><p>Our new Sub-GHz app can decrypt signals from more than 50 different keyfob manufacturers, and it&apos;s constantly being extended. We hope that with the help from the community, we will have the most complete open database of radio protocols from different manufacturers.</p><h3 id="frequency-analyzer">Frequency analyzer </h3><p>In order to be able to receive a signal you first need to tune the receiver to the required frequency. But what if you don&apos;t know the frequency that the keyfob is working on? To help you with that, we have the frequency analyzer feature added to Flipper. It scans all available frequencies and displays the one that has the strongest signal nearby.</p>
<!--kg-card-begin: html-->
<figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/flipper_zero_freq_analyzer_demo_compressed.mp4" poster="https://cdn.flipperzero.one/flipper_zero_freq_analyzer_demo_compressed.mp4.jpg">
    <a href="https://cdn.flipperzero.one/flipper_zero_freq_analyzer_demo_compressed.mp4"><img src="https://cdn.flipperzero.one/flipper_zero_freq_analyzer_demo_compressed.mp4.jpg" alt="Displays Arrived. Production Plan and New Features"></a>
    </video><figcaption>[Video] Frequency Analyzer demo</figcaption></figure>
<!--kg-card-end: html-->
<p>Of course, this feature can&apos;t replace a full-fledged frequency analyzer. The results displayed may be inaccurate and there is always a certain margin of error, but it will be able to tell you the frequency range you need. Most often it&apos;s one of the channels from a popular 315/433/868 MHz band.</p><h3 id="signal-interception">Signal interception</h3><p>The main subjective of our Sub-GHz subsystem is to analyze the signals it captured. And right now the signal interception feature has become really powerful. You can easily find out the protocol for a particular keyfob and have the decoded signal displayed immediately. The lock icon shows if the protocol is encrypted or not. </p>
<!--kg-card-begin: html-->
<figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/flipper_subghz_read_demo_compressed.mp4" poster="https://cdn.flipperzero.one/flipper_subghz_read_demo_compressed.mp4.jpg">
    <a href="https://cdn.flipperzero.one/flipper_subghz_read_demo_compressed.mp4"><img src="https://cdn.flipperzero.one/flipper_subghz_read_demo_compressed.mp4.jpg" alt="Displays Arrived. Production Plan and New Features"></a>
    </video><figcaption>[Video] Signal interception demo</figcaption></figure>
<!--kg-card-end: html-->

<!--kg-card-begin: html-->
<div style="position: relative">
  <div class="info flipper-callout">
    <div class="callout-header">
      <div class="callout-icon"><!-- Оставить пустым --></div>
      <!-- Заголовок бабла (опционально) -->
      You will need to have the databases on the SD card for this to work.
    </div>
    <!-- Текст бабла -->
    Flipper uses cryptographic keys and manufacturer codes to decrypt dynamic protocols. These files are automatically installed on the SD card with the rest of the databases during firmware upgrade. You will need to insert an SD card and update the firmware with qFlipper or Web Updater to get the latest data.
  </div>
</div>
<!--kg-card-end: html-->
<h3 id="capturing-raw-signals">Capturing RAW signals</h3><p>There may be cases when Flipper isn&apos;t familiar with a certain protocol, but even in this case it still can capture the raw signal. This feature allows recording all the signals and dumps them straight to the SD card without trying to process anything.</p>
<!--kg-card-begin: html-->
<figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/flipper_subghz_raw_signal_demo_compressed.mp4" poster="https://cdn.flipperzero.one/flipper_subghz_raw_signal_demo_compressed.mp4.jpg">
    <a href="https://cdn.flipperzero.one/flipper_subghz_raw_signal_demo_compressed.mp4"><img src="https://cdn.flipperzero.one/flipper_subghz_raw_signal_demo_compressed.mp4.jpg" alt="Displays Arrived. Production Plan and New Features"></a>
    </video><figcaption>[Video] Recording RAW Sub-GHz signals</figcaption></figure>
<!--kg-card-end: html-->
<p>The recorded signal can be replayed right after the recording, or it can be saved for further analysis. This way you can capture even those signals that aren&apos;t recognized by Flipper yet and work on decyphering them with the community.</p>
<!--kg-card-begin: html-->
<div style="position: relative">
  <div class="info flipper-callout">
    <div class="callout-header">
      <div class="callout-icon"><!-- Leave empty --></div>
      Flipper is not an SDR!</div>
Let&apos;s not forget that Flipper&apos;s radio is not an <a href="https://en.wikipedia.org/wiki/Software-defined_radio">SDR</a>, so in order for the &quot;Read RAW&quot; feature to record the signal correctly, you need to know the exact frequency and modulation beforehand.    
  </div>
</div>
<!--kg-card-end: html-->
<h2 id="wild-badusb-appeared">Wild BadUSB appeared!</h2><p>The BadUSB is working! We&apos;ve spent a lot of effort on the USB HID mode and on switching it back to normal mode afterward. This feature is now stable and reliable.</p><p>The scripting language for BadUSB is compatible with <a href="https://docs.hak5.org/usb-rubber-ducky-1/the-ducky-script-language/ducky-script-quick-reference">Rubber Ducky Language</a>, so you can reuse the scripts that are already available for <a href="https://hak5.org/products/usb-rubber-ducky-deluxe">USB Rubber Ducky</a> and other such devices.</p>
<!--kg-card-begin: html-->
<figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/badusb_dirty_demo_compressed.mp4" poster="https://cdn.flipperzero.one/badusb_dirty_demo_compressed.mp4.jpg">
    <a href="https://cdn.flipperzero.one/badusb_dirty_demo_compressed.mp4"><img src="https://cdn.flipperzero.one/badusb_dirty_demo_compressed.mp4.jpg" alt="Displays Arrived. Production Plan and New Features"></a>
    </video><figcaption>[Video] Flipper mimics a keyboard and inputs a sequence of symbols </figcaption></figure>
<!--kg-card-end: html-->
<p>Right now our BadUSB is still a prototype with no GUI, but it&apos;ll be finished soon. We plan to have a couple of demo scripts bundled with the firmware with safe actions such as opening the notepad and the calculator for all operating systems.</p><h2 id="usbuart-bridge">USB &lt;-&gt; UART bridge</h2><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2021/11/USB-UART_Adapters--1-.jpg" class="kg-image" alt="Displays Arrived. Production Plan and New Features" loading="lazy" width="1200" height="594" srcset="https://blog.flipper.net/content/images/size/w600/2021/11/USB-UART_Adapters--1-.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2021/11/USB-UART_Adapters--1-.jpg 1000w, https://blog.flipper.net/content/images/2021/11/USB-UART_Adapters--1-.jpg 1200w" sizes="(min-width: 720px) 720px"></figure><p>Thanks to Flipper&apos;s GPIO you can use it as a universal USB bridge for a variety of industrial protocols. Right now we implemented the UART as the most popular protocol, the de-facto standard for debug ports and hardware consoles. You won&apos;t need a USB-UART adapter anymore if you have a Flipper.</p><p>This mode supports DTR/RTS pins as well, so you can flash devices like ESP8266/ESP32, which require flow control signals in addition to the RX/TX data lines.</p>
<!--kg-card-begin: html-->
<figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/flipper_usb_uart_bridge_demo_compressed.mp4" poster="https://cdn.flipperzero.one/flipper_usb_uart_bridge_demo_compressed.mp4.jpg">
    <a href="https://cdn.flipperzero.one/flipper_usb_uart_bridge_demo_compressed.mp4"><img src="https://cdn.flipperzero.one/flipper_usb_uart_bridge_demo_compressed.mp4.jpg" alt="Displays Arrived. Production Plan and New Features"></a>
    </video><figcaption>[Video] Reading the Linux console on an Orange Pi in UART adapter mode</figcaption></figure>
<!--kg-card-end: html-->
<p>The USB Serial interface you see is still a draft, but soon the user interface is going to look like this:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2021/11/USB_UART_Flipper_New_interface.gif" class="kg-image" alt="Displays Arrived. Production Plan and New Features" loading="lazy" width="1700" height="664" srcset="https://blog.flipper.net/content/images/size/w600/2021/11/USB_UART_Flipper_New_interface.gif 600w, https://blog.flipper.net/content/images/size/w1000/2021/11/USB_UART_Flipper_New_interface.gif 1000w, https://blog.flipper.net/content/images/size/w1600/2021/11/USB_UART_Flipper_New_interface.gif 1600w, https://blog.flipper.net/content/images/2021/11/USB_UART_Flipper_New_interface.gif 1700w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">The new USB-&gt;Serial UI</span></figcaption></figure><p>This mode has several options available:</p><ul><li><strong>COM Port </strong>&#x2014; the virtual USB COM-port to use. When choosing <code>0 (CLI)</code> the main Flipper console will be used. When choosing <code>1</code> a second COM-port will be created, with the main OS console still available on its original port.</li><li><strong>Baud rate </strong>&#x2014; determines the UART speed. You can set it manually depending on your device, or switch to <code>Host</code> mode so that the baud rate will be chosen automatically when connecting to the port in tools like <code>screen</code> or <code>minicom</code></li><li><strong>UART Pins</strong> &#x2014; Flipper has two hardware UARTs on pins 13,14 (USART) and 15,16 (LPUART)</li><li><strong>DTR/CTR</strong> &#x2014; the pins for the flow control signals. Since they are implemented in software, you can choose any digital pin on the GPIO</li></ul><h2 id="the-new-qflipper">The new qFlipper</h2><p>qFlipper &#x2014; is a cross-platform desktop tool that can be used to update firmware and the databases, create backups, and a lot more. It is Qt-based and works in all the popular operating systems: Windows/macOS/Linux.</p><p>It&apos;s being actively developed right now, but you can already update the firmware, the radio core, and the databases.</p>
<!--kg-card-begin: html-->
<figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/qFlipper_update_firmware_demo_compressed.mp4" poster="https://cdn.flipperzero.one/qFlipper_update_firmware_demo_compressed.mp4.jpg">
    <a href="https://cdn.flipperzero.one/qFlipper_update_firmware_demo_compressed.mp4"><img src="https://cdn.flipperzero.one/qFlipper_update_firmware_demo_compressed.mp4.jpg" alt="Displays Arrived. Production Plan and New Features"></a>
    </video><figcaption>[Video] qFlipper Firmware update process</figcaption></figure>
<!--kg-card-end: html-->
<h2 id="flipper-protobuf-rpc">Flipper Protobuf RPC</h2><p>Flipper now has a <a href="https://github.com/flipperdevices/flipperzero-protobuf">Protobuf RPC API</a>, available both through USB, and Bluetooth LE. This protocol is used when updating the databases on the SD card and for any other external interactions. For example, you can stream Flipper&apos;s screen using this protocol:</p>
<!--kg-card-begin: html-->
<figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/flipper_screen_stream_cli_go_client_compressed.mp4" poster="https://cdn.flipperzero.one/flipper_screen_stream_cli_go_client_compressed.mp4.jpg">
    <a href="https://cdn.flipperzero.one/flipper_screen_stream_cli_go_client_compressed.mp4"><img src="https://cdn.flipperzero.one/flipper_screen_stream_cli_go_client_compressed.mp4.jpg" alt="Displays Arrived. Production Plan and New Features"></a>
    </video><figcaption>[Video] Screen streaming over Protobuf with ASCII/ANSI rendering</figcaption></figure>
<!--kg-card-end: html-->
<p>In this demo, the graphics are rendered using symbols right in the terminal, similarly to the programs that use <a href="https://en.wikipedia.org/wiki/Ncurses">ncurses</a>. This means that such screen streaming can be used without any GUI at all, for example through SSH.</p><p>We&apos;ve prepared <a href="https://github.com/flipperdevices/go-flipper">a high-level library in Go</a> for convenience, it allows you easy access to Flipper&apos;s API. We hope that implementations in other popular languages will soon follow.</p><h2 id="the-components-of-suffering">The components of suffering</h2><p>Due to the crisis, we had to replace the already tried and tested components on the go. We&apos;ve replaced about 20 components in total. At times it was easy, but there were other times when the PCB had to be redesigned. This was quite an ordeal, because some components had a surprise in store, baffling us with things unforeseen. Here&apos;s one that was a particular source of irritation. There were actually a lot more of them, but let&apos;s showcase this one.</p><h3 id="the-power-struggle">The power struggle</h3><p>This one brought us a lot of pain. In one of the <a href="https://blog.flipper.net/manufacturing-and-shipping-update/#dc-dc-converters">previous blog posts</a>, we&apos;ve noted that we have trouble buying the DC-DC converters. So we had to switch to an alternative. For example, we&apos;ve switched <a href="https://www.ti.com/product/TPS62743">TI TPS62743</a> for a <a href="https://www.ti.com/store/ti/en/p/product/?p=LM3281YFQR">TI LM3281YFQR</a>.</p><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2021/11/Temp--21---1-.png" class="kg-image" alt="Displays Arrived. Production Plan and New Features" loading="lazy" width="1300" height="445" srcset="https://blog.flipper.net/content/images/size/w600/2021/11/Temp--21---1-.png 600w, https://blog.flipper.net/content/images/size/w1000/2021/11/Temp--21---1-.png 1000w, https://blog.flipper.net/content/images/2021/11/Temp--21---1-.png 1300w" sizes="(min-width: 720px) 720px"></figure><p>Judging by the datasheets alone everything should fit perfectly. We tested it in actual device circuits, and when we were about to approve the new design, it turned out that Bluetooth LE starts misbehaving under certain conditions. The insidiousness of this problem lies in that it couldn&apos;t always be reliably reproduced in tests at first.</p><p>It turns out, that 3.3v line pulsations were to blame. Despite the fact that there is nothing in the STM32WB55 datasheet about pulsations disturbing the operation of the CPU. Here&apos;s a thread on the ST forum about this issue: <a href="https://community.st.com/s/question/0D53W000015YpgxSAC/stm32wb55-power-supply-ripplepulsation-causing-ble-tx-to-fail">Power supply ripple/pulsation causing BLE TX to fail</a> </p><p>This is the problem itself and the solution on the oscillogram:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2021/11/LM3281_flipper_issue_power4--1-.png" class="kg-image" alt="Displays Arrived. Production Plan and New Features" loading="lazy" width="2000" height="1493" srcset="https://blog.flipper.net/content/images/size/w600/2021/11/LM3281_flipper_issue_power4--1-.png 600w, https://blog.flipper.net/content/images/size/w1000/2021/11/LM3281_flipper_issue_power4--1-.png 1000w, https://blog.flipper.net/content/images/size/w1600/2021/11/LM3281_flipper_issue_power4--1-.png 1600w, https://blog.flipper.net/content/images/2021/11/LM3281_flipper_issue_power4--1-.png 2058w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">The problematic power spikes (in red) and the same spikes after a filter (in yellow)</span></figcaption></figure><p>The red line shows the output signal from LM3281 in ECO-mode, that matches the datasheet completely. You can see pulses in the range of 40mV. This is completely normal for this microcircuit and is not a problem in itself. However, during testing, it turned out that if the rising edge happens to be faster than 6mV/us it breaks Bluetooth LE. In yellow you can see the signal we&apos;ve achieved after a little refinement.</p><p>We had to deviate from the LM3281 datasheet: we&apos;ve managed to pat down the spikes by worsening the Q factor of L14 in the LC-circuit by the means of additional resistance; and we&apos;ve also added another LC-filter, to distance ourselves from the value that caused so much trouble.</p><p>Stable subsystem work and the resulting power consumption was our top priority. If you worked with LM3281 you may want to bring up the question of PWM-mode that this chip supports having no pulsations. Unfortunately switching to PWM-mode had to be discarded early on due to additional power drain and lack of guarantees from ST that this problem only affects BLE.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2021/11/lc_filter_flipper_power.png" class="kg-image" alt="Displays Arrived. Production Plan and New Features" loading="lazy" width="2000" height="699" srcset="https://blog.flipper.net/content/images/size/w600/2021/11/lc_filter_flipper_power.png 600w, https://blog.flipper.net/content/images/size/w1000/2021/11/lc_filter_flipper_power.png 1000w, https://blog.flipper.net/content/images/size/w1600/2021/11/lc_filter_flipper_power.png 1600w, https://blog.flipper.net/content/images/size/w2400/2021/11/lc_filter_flipper_power.png 2400w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Our solution to power pulsing on the LM3281</span></figcaption></figure><h1 id="wi-fi-module">Wi-Fi Module</h1><p>The first version of the developer board extension was based on the ST-Link V3 module, which is currently not available for purchase. We have been negotiating with ST for a long time, hoping to get 6 thousand of these boards ordered by backers, but so far it seems that this module will not be on sale for a long time.</p><p>We got out of this sticky situation by designing a completely new board based on the <a href="https://www.espressif.com/en/products/socs/esp32-s2">ESP32-S2</a>. It also allows debugging Flipper with <a href="https://github.com/blacksphere/blackmagic">Black Magic Probe software</a>, which was updated by our developers to support Flipper Zero.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2021/11/unnamed.jpeg" class="kg-image" alt="Displays Arrived. Production Plan and New Features" loading="lazy" width="2000" height="1228" srcset="https://blog.flipper.net/content/images/size/w600/2021/11/unnamed.jpeg 600w, https://blog.flipper.net/content/images/size/w1000/2021/11/unnamed.jpeg 1000w, https://blog.flipper.net/content/images/size/w1600/2021/11/unnamed.jpeg 1600w, https://blog.flipper.net/content/images/size/w2400/2021/11/unnamed.jpeg 2400w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">ST-Link Devboard will be replaced with Wi-Fi Module</span></figcaption></figure><p>Thanks to onboard Wi-Fi, the board can handle a much wider range of tasks and is now useful not only for developers. After all the backers&apos; orders are shipped, the board will be available in our shop. Don&apos;t worry if you haven&apos;t ordered it in BackerKit.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2021/11/image--49---1-.jpg" class="kg-image" alt="Displays Arrived. Production Plan and New Features" loading="lazy" width="1400" height="726" srcset="https://blog.flipper.net/content/images/size/w600/2021/11/image--49---1-.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2021/11/image--49---1-.jpg 1000w, https://blog.flipper.net/content/images/2021/11/image--49---1-.jpg 1400w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">A prototype of the Wi-Fi module, which will replace ST-Link devboard</span></figcaption></figure><h2 id="production-plan">Production Plan</h2><p><strong>We have officially entered the MP (Mass Production) stage with our factory.</strong> Within 4 weeks, the production line will reach a capacity of 1k units per week and will gradually increase to 10k units per week.</p><p>Shipments to backers will begin in December. Due to the complexity of logistics, we need to accumulate a certain volume of parcels for import to each specific country. This is due to the limitations imposed by the logistics broker. We expect to ship most of the backer orders by the end of January.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2021/11/flipper_new_protective_film-2.jpg" class="kg-image" alt="Displays Arrived. Production Plan and New Features" loading="lazy" width="1900" height="1425" srcset="https://blog.flipper.net/content/images/size/w600/2021/11/flipper_new_protective_film-2.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2021/11/flipper_new_protective_film-2.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2021/11/flipper_new_protective_film-2.jpg 1600w, https://blog.flipper.net/content/images/2021/11/flipper_new_protective_film-2.jpg 1900w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">The screens are now covered with the proper protective film</span></figcaption></figure><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2021/11/image--48---1--2.jpg" class="kg-image" alt="Displays Arrived. Production Plan and New Features" loading="lazy" width="1440" height="1080" srcset="https://blog.flipper.net/content/images/size/w600/2021/11/image--48---1--2.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2021/11/image--48---1--2.jpg 1000w, https://blog.flipper.net/content/images/2021/11/image--48---1--2.jpg 1440w" sizes="(min-width: 720px) 720px"></figure><h2 id="stay-tuned">Stay Tuned</h2><p>Our social media subscribers get all the Flipper Zero news first! Join in and get access to sneak peeks, insides, and more.</p>
<!--kg-card-begin: html-->
<style>
    .social-btns {
        display: flex;
        justify-content: space-between;
    }
    .social-btn {
        margin: 0 10px;
        text-align: center;
    }
    .social-btn img {
        width: 128px;
        margin-bottom: 10px;
    }
    .social-btn a {
        text-decoration: none;
    }
@media (max-width: 425px) {
  .social-btn strong {
    font-size: 13px;
  }
}
</style>
<div class="social-btns">
	<div class="social-btn">
        <a href="https://twitter.com/flipper_zero">
			<img src="https://cdn.flipperzero.one/icon-twitter-512-normal.png" alt="Displays Arrived. Production Plan and New Features">
        	<strong>@flipper_zero</strong>
        </a>
    </div>
    <div class="social-btn">
        <a href="https://instagram.com/flipper_zero">
			<img src="https://cdn.flipperzero.one/icon-instagram-512-normal.png" alt="Displays Arrived. Production Plan and New Features">
        	<strong>@flipper_zero</strong>
        </a>
    </div>
    <div class="social-btn">
        <a href="https://facebook.com/flipperzero">
			<img src="https://cdn.flipperzero.one/icon-facebook-512-normal.png" alt="Displays Arrived. Production Plan and New Features">
        	<strong>@flipperzero</strong>
        </a>
    </div>
</div>
<!--kg-card-end: html-->
]]></content:encoded></item><item><title><![CDATA[Diving into RFID Protocols with Flipper Zero]]></title><description><![CDATA[<p>RFID is a contactless radio-tag technology. It is quite common and you may see it in a lot of places: intercoms, bank cards, public transport passes, office passes, they are used to track domestic animals, for toll collection, etc. The two main RFID tag types are high frequency and low</p>]]></description><link>https://blog.flipper.net/rfid/</link><guid isPermaLink="false">6565b30c62a2b30001e3e74d</guid><category><![CDATA[Classroom]]></category><category><![CDATA[Flipper Zero]]></category><dc:creator><![CDATA[Anna Oake]]></dc:creator><pubDate>Wed, 22 Sep 2021 16:03:02 GMT</pubDate><media:content url="https://blog.flipper.net/content/images/2021/09/Untitled-183831--1-.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.flipper.net/content/images/2021/09/Untitled-183831--1-.jpg" alt="Diving into RFID Protocols with Flipper Zero"><p>RFID is a contactless radio-tag technology. It is quite common and you may see it in a lot of places: intercoms, bank cards, public transport passes, office passes, they are used to track domestic animals, for toll collection, etc. The two main RFID tag types are high frequency and low frequency.</p><ul><li><strong>Low-Frequency tags</strong> (125 kHz) &#x2014; work at a higher range. Despite being insecure and dumb, they are still used in primitive access control systems: in building intercoms, offices, sports facilities, museums.</li><li><strong>High-Frequency tags</strong> (13.56 MHz) &#x2014; have a lower effective range when compared with the low-frequency ones but have more complex protocols. They support encryption, authentication, and cryptography. These tags are commonly used in contactless bank cards, to pay for public transport, and in high-security access control systems.</li></ul><p>Here we will compare these two types of tags, take a look at the main protocols and learn to work with them using Flipper Zero &#x2014; we will read, emulate, save and clone them. You will see how you will be able to save your office, sports, home whatever RFID keys you have and we&apos;ll take a glimpse at what Flipper can read from a bank card. </p><h2 id="how-rfid-tags-work">How RFID Tags Work</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/webt/vz/f6/_a/vzf6_a87tdtfu2xyk33nosvk-ms.gif" class="kg-image" alt="Diving into RFID Protocols with Flipper Zero" loading="lazy"><figcaption>RFID chip turns on when it receives power from the reader&apos;s RF field</figcaption></figure><p>Most RFID tags are passive tags with no internal power source. The chip inside is completely turned off until the tag is exposed to a reader&apos;s electromagnetic field. As soon as it comes within range, the tag&apos;s antenna begins absorbing energy from the reader&apos;s EM field and the chip receives power. The chip then turns on and begins communicating with the reader. It&apos;s worth mentioning, that a tag&apos;s antenna is tuned to a specific frequency, so the tag can only activate when it is inside a suitable electromagnetic field.</p><h2 id="rfid-tag-types">RFID Tag Types</h2><p>On the outside RFID tags can be quite different: cards both fat or thin, key fobs, bracelets, coins, rings, or even stickers. Judging by the visuals alone it&apos;s almost impossible to distinguish the frequency or protocol the tag operates on.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/r/w1560/webt/aa/m6/jx/aam6jxqe9ktqlldlvrvr1yhrjwy.jpeg" class="kg-image" alt="Diving into RFID Protocols with Flipper Zero" loading="lazy"><figcaption>On the outside RFID tags can be quite different</figcaption></figure><p>Quite often manufacturers use similar plastic cases for different types of RFID fobs operating on different frequencies. Two absolutely visually similar tags might be totally different inside. It is worth considering when you try to distinguish the type of tag you have. In this article, we will be looking at the two most popular types of RFID tags that are used in access control systems. Flipper Zero supports both their frequencies.</p><blockquote>There is a variety of RFID protocols working on other frequencies. UHF for example uses the 840-960 MHz range. They are used for tracking assets in warehouses, paying for toll roads, tracking wild animals during their migration and so forth. These tags may have a battery and work from a couple of meters to kilometers. They are quite rare though, and you may not encounter them unless you go looking for them specifically. We will omit them entirely for the purpose of this article.</blockquote><h3 id="125-khz-1356-mhz-%E2%80%93-which-is-which">125 kHz &amp; 13.56 MHz &#x2013; Which is Which? </h3><p>The easiest way to understand what range of the RFID tag is operating on is to look at the antenna. Low-frequency tags (125 kHz) have an antenna made of a very thin wire, literally thinner than a hair. But such antennas have a large number of turns, therefore, such an antenna looks like a solid piece of metal. High-frequency cards (13.56 MHz) have a significantly smaller number of thicker turns, with visible gaps between them.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/r/w1560/webt/hi/dc/ki/hidckijb-wsscmuqutxmkeeuama.jpeg" class="kg-image" alt="Diving into RFID Protocols with Flipper Zero" loading="lazy"><figcaption>With enough backlight, you can guess the card&apos;s operating frequency</figcaption></figure><p>You can shine some light through an RFID card to see an antenna inside. If the antenna has only a few large turns, it is most likely a high-frequency antenna. If the antenna looks like a solid piece of metal with no gaps between the turns, it is a low-frequency antenna.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/r/w1560/webt/iq/yw/gp/iqywgpjwwkoweffxdockmhwhajy.jpeg" class="kg-image" alt="Diving into RFID Protocols with Flipper Zero" loading="lazy"><figcaption>Low-frequency antennas have a thin wire for their turns, while high-frequency use a thicker one</figcaption></figure><p><strong>Low-frequency tags</strong> are often used in systems that do not require high security: building access, intercom keys, gym membership cards, etc. Due to their higher range, they are convenient to use for paid car parking: the driver does not need to bring the card close to the reader, as it is triggered from further away. At the same time, low-frequency tags are very primitive, they have a low data transfer rate. For that reason, it&apos;s impossible to implement complex two-way data transfer for such things as keeping balance and cryptography. Low-frequency tags only transmit their short ID without any means of authentication.</p><p><strong>High-frequency tags </strong>are used for a more complex reader-tag interaction when you need cryptography, a large two-way data transfer, authentication, etc.<br>It&apos;s usually found in bank cards, public transport, and other secure passes.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/r/w1560/webt/ci/q6/qz/ciq6qzytjmw78hgkvymz-lslhq8.jpeg" class="kg-image" alt="Diving into RFID Protocols with Flipper Zero" loading="lazy"><figcaption>125 kHz &amp; 13.56 MHz RFID tag comparison</figcaption></figure><h3 id="low-frequency-125-khz-tags">Low-Frequency 125 kHz Tags</h3><ul><li><strong>Long Range</strong> &#x2014; lower frequency translates to higher range. There are some EM-Marin and HID readers, which work from a distance of up to a meter. These are often used in car parking.</li><li><strong>Primitive protocol </strong>&#x2014; &#xA0;due to the low data transfer rate these tags can only transmit their short ID. In most cases, data is not authenticated and it&apos;s not protected in any way. As soon as the card is in the range of the reader it just starts transmitting its ID.</li><li><strong>Low security</strong> &#x2014; These cards can be easily copied, or even read from somebody else&apos;s pocket due to the protocol&apos;s primitiveness.</li></ul><h3 id="high-frequency-1356-mhz-tags">High-Frequency 13.56 MHz Tags</h3><ul><li><strong>Low range</strong> &#x2014; high-frequency cards are specifically designed so that they would have to be placed close to the reader. This also helps to protect the card from unauthorized interactions. The maximum read range that we managed to achieve was about 15 cm, and that was with custom-made high-range readers.</li><li><strong>Advanced protocols</strong> &#x2014; data transfer speeds up to 424 kbps allow complex protocols with full-fledged two-way data transfer. Which in turn allows cryptography, data transfer, etc.</li><li><strong>High security</strong> &#x2014; high-frequency contactless cards are in no way inferior to smart cards. There are cards that support cryptographically strong algorithms like AES and implement asymmetrical cryptography.</li></ul><h2 id="rfid-in-flipper-zero">RFID in Flipper Zero</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/r/w1560/getpro/habr/post_images/2cc/938/53a/2cc93853ab4aed7cc4ad5ebeeadafe12.png" class="kg-image" alt="Diving into RFID Protocols with Flipper Zero" loading="lazy"><figcaption>How RFID antenna works in Flipper Zero</figcaption></figure><p>Flipper supports both high-frequency and low-frequency tags. To support both frequencies we developed a dual-band RFID antenna that is situated on the bottom part of the device.</p><p>A separate NFC controller (ST25R3916) is used for high-frequency protocols (NFC). It takes care of everything related to hardware interaction with the cards: reading and emulation. Low-frequency 125 kHz protocols are implemented programmatically via a custom analog frontend, that works in cooperation with MCU and also allows to read, write and emulate.</p><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/RFID_antenna_render_2_cut2.mp4" poster="https://cdn.flipperzero.one/fallback_rfid_1.jpg">
    <a href="https://cdn.flipperzero.one/RFID_antenna_render_2_cut2.mp4"><img src="https://cdn.flipperzero.one/fallback_rfid_1.jpg" alt="Diving into RFID Protocols with Flipper Zero"></a>
    </video><figcaption>[Video] RFID antenna inside Flipper Zero</figcaption></figure><!--kg-card-end: html--><p>The top part of the PCB is shielded with a ferromagnetic layer which isolates the rest of the electronic components from interference and extends the operating range by reflecting the high-frequency field.</p><p>During assembly, the antennas are glued into Flipper&apos;s back panel. It connects to the PCB with pogo-pins. This greatly simplifies the assembly, as no cables are used and no UFL connectors are required.</p><h2 id="low-frequency-125-khz-protocols">Low-Frequency 125 kHz Protocols</h2><p>Low-frequency tags store a short ID, just a couple bytes long. The tag&apos;s ID is compared to IDs stored in the database of a controller or an intercom. However, the card will transmit its ID to anyone asking as soon as it receives power. Quite often the ID is inscribed on the card itself, so you can take a picture and input it into the Flipper manually.</p><figure class="kg-card kg-image-card"><img src="https://habrastorage.org/r/w1560/getpro/habr/post_images/afa/00c/314/afa00c3142635e9faa81e05d5fc0b6b4.png" class="kg-image" alt="Diving into RFID Protocols with Flipper Zero" loading="lazy"></figure><p><strong>Popular 125 kHz protocols:</strong></p><ul><li><strong>EM-Marin</strong> &#x2014; EM4100, EM4102. The most popular protocol in CIS. Can be read from about a meter because of its simplicity and stability.</li><li><strong>HID Prox II</strong> &#x2014; low-frequency protocol introduced by HID Global. This protocol is more popular in the western countries. It is more complex and the cards and readers for this protocol are relatively expensive.</li><li><strong>Indala</strong> &#x2014; very old low-frequency protocol that was introduced by Motorola, and later acquired by HID. You are less likely to encounter it in the wild compared to the previous two because it is falling out of use.</li></ul><p>In reality, there are a lot more low-frequency protocols. But they all use the same modulation on the physical layer and may be considered, in one way or another, a variation of those listed above. At the time of writing Flipper can read, save, emulate and write all three protocols. There may be other ones, which are not supported in Flipper&apos;s firmware, but as the 125 kHz subsystem is implemented programmatically, we can add them in the future.</p><h3 id="em-marin">EM-Marin</h3><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/EM_Marin_read_cut_2.mp4" poster="https://cdn.flipperzero.one/fallback_rfid_2.jpg">
    <a href="https://cdn.flipperzero.one/EM_Marin_read_cut_2.mp4"><img src="https://cdn.flipperzero.one/fallback_rfid_2.jpg" alt="Diving into RFID Protocols with Flipper Zero"></a>
    </video><figcaption>[Video] Flipper reading an EM-Marin tag</figcaption></figure><!--kg-card-end: html--><p>EM-Marin is the most common format we have in CIS. It is simple and has no copy-protection. EM-Marin cards usually have EM4100 chips inside, but there are others as well. For example, you can have an EM4305 which can be re-written unlike the EM4100.</p><p>To read a low-frequency card go into the Flipper menu <code>125 kHz RFID &#x2014;&gt; Read</code> and place the tag on the back of the device. Flipper will attempt to determine the protocol and on success will display it alongside the card&apos;s ID. Since Flipper is trying all the protocols in one go it takes a bit of time. For example, you will need a couple of seconds to read an Indala card.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/r/w1560/webt/-k/ki/zr/-kkizra4ymfljmffoc_m5ssw8cw.jpeg" class="kg-image" alt="Diving into RFID Protocols with Flipper Zero" loading="lazy"><figcaption>Unique EM-Marin ID on the card and on the Flipper</figcaption></figure><p>EM4100&apos;s unique code is 5 bytes long. Sometimes you can find it on the card itself. The unique code may be written both as a decimal or in hex. Flipper displays the code in hex, however, EM-Marin cards usually just have the 3 lower bytes written on them, and not the full 5-byte number. If there is no way to read them from the card, the other 2 bytes can be brute-forced.</p><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/open_intercom_4_cut.mp4" poster="https://cdn.flipperzero.one/fallback_rfid_3.jpg">
    <a href="https://cdn.flipperzero.one/open_intercom_4_cut.mp4"><img src="https://cdn.flipperzero.one/fallback_rfid_3.jpg" alt="Diving into RFID Protocols with Flipper Zero"></a>
    </video><figcaption>[Video] Emulating 125 kHz RFID to open an electric door lock</figcaption></figure><!--kg-card-end: html--><p>To emulate an RFID tag we need to go into the menu <code>125 kHz RFID &#x2014;&gt; Saved</code>, choose the necessary tag and then press <code>Emulate</code>.</p><p>Some intercoms try to protect themselves from key duplication by sending a write command prior to reading. If the write succeeds, that tag is considered fake. When Flipper emulates RFID there is no way for the reader to distinguish it from the original one, so no such problems occur.</p><h3 id="hid-prox">HID Prox</h3><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/HID_read_1_cut.mp4" poster="https://cdn.flipperzero.one/fallback_rfid_4.jpg">
    <a href="https://cdn.flipperzero.one/HID_read_1_cut.mp4"><img src="https://cdn.flipperzero.one/fallback_rfid_4.jpg" alt="Diving into RFID Protocols with Flipper Zero"></a>
    </video><figcaption>[Video] Flipper reading a HID26 tag</figcaption></figure><!--kg-card-end: html--><p>HID Global &#x2014; is the largest manufacturer of RFID devices in the world. They have several high and low-frequency RFID protocols. The most popular low-frequency HID protocol is the 26-bit H10301 (also known as HID26 or HID PROX II). The unique code is 3 bytes (24 bits) long, and 2 more bits are used for parity check (to ensure the integrity of data).</p><p>Some HID26 cards have numbers written on them - they are the sales order number and the card&apos;s ID. You can&apos;t figure out the whole 3 bytes with that information alone, the card only has the 2 bytes printed on it in decimal format. That is the card&apos;s ID.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/r/w1560/webt/nt/mx/9m/ntmx9mwb74vkxjlwlu1n0avq6ma.jpeg" class="kg-image" alt="Diving into RFID Protocols with Flipper Zero" loading="lazy"><figcaption>HID26 data structure on the card and when read using Flipper</figcaption></figure><p>Flipper can only work with the HID26 protocol of the HID family. In the future, we plan to extend this list. HID26 is the most popular one since it is compatible with most digital access control systems.</p><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/open_gateway_cut.mp4" poster="https://cdn.flipperzero.one/fallback_rfid_5.jpg">
    <a href="https://cdn.flipperzero.one/open_gateway_cut.mp4"><img src="https://cdn.flipperzero.one/fallback_rfid_5.jpg" alt="Diving into RFID Protocols with Flipper Zero"></a>
    </video><figcaption>[Video] Flipper emulating a low-frequency card and opening the turnstile</figcaption></figure><!--kg-card-end: html--><h3 id="indala">Indala</h3><p>Indala is an RFID protocol developed by Motorola and later acquired by HID. It&apos;s a very old protocol that you won&apos;t find in modern access control systems. Rare as it is, you may sometimes find it in the field. At the time of writing Flipper works with Indala I40134.</p><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/read_indala_cut.mp4" poster="https://cdn.flipperzero.one/fallback_rfid_6.jpg">
    <a href="https://cdn.flipperzero.one/read_indala_cut.mp4"><img src="https://cdn.flipperzero.one/fallback_rfid_6.jpg" alt="Diving into RFID Protocols with Flipper Zero"></a>
    </video><figcaption>[Video] Flipper reading an Indala card</figcaption></figure><!--kg-card-end: html--><p>Same as with HID26, cards using Indala I40134 have a unique code that is 3 byte long. Unfortunately, Indala&apos;s data structure is proprietary and everyone who wishes to support this protocol is forced to choose whichever byte order they want, and also how they interpret the signal on the hardware level.</p><p>All these protocols are so simple that the card&apos;s ID may be entered manually without the original card. Having your card&apos;s ID in text format, anyone owning a Flipper could enter it manually.</p><h2 id="manually-entering-the-cards-id">Manually Entering the Card&apos;s ID</h2><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/add_manual_indala_4_cut.mp4" poster="https://cdn.flipperzero.one/fallback_rfid_7.jpg">
    <a href="https://cdn.flipperzero.one/add_manual_indala_4_cut.mp4"><img src="https://cdn.flipperzero.one/fallback_rfid_7.jpg" alt="Diving into RFID Protocols with Flipper Zero"></a>
    </video><figcaption>[Video] Entering an Indala card&apos;s ID without having the card itself</figcaption></figure><!--kg-card-end: html--><p>To add the card&apos;s ID go to the menu and choose <code>125 kHz RFID &#x2014;&gt; Add manually</code>, then the protocol and enter the ID. The card added will be saved to the SD-card, and may then be emulated or written to a blank.</p><h2 id="writing-to-a-blank-card">Writing to a Blank Card</h2><p>There are special blank cards that support any of the three protocols mentioned above (EM-Marin, HID Prox, Indala). T5577 is the most popular blank card type. To write an ID to a blank card go to the menu <code>125 kHz RFID &#x2014;&gt; Saved</code>, then choose the key you want and press <code>Write</code>.</p><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/write_t5577_5_cut.mp4" poster="https://cdn.flipperzero.one/fallback_rfid_8.jpg">
    <a href="https://cdn.flipperzero.one/write_t5577_5_cut.mp4"><img src="https://cdn.flipperzero.one/fallback_rfid_8.jpg" alt="Diving into RFID Protocols with Flipper Zero"></a>
    </video><figcaption>[Video] Writing to a T5577 blank card
   </figcaption></figure><!--kg-card-end: html--><h2 id="high-frequency-1356-mhz-protocols">High-Frequency 13.56 MHz Protocols</h2><figure class="kg-card kg-image-card"><img src="https://habrastorage.org/r/w1560/webt/ye/hl/a2/yehla2tduzxyyphfodivuvvqrii.jpeg" class="kg-image" alt="Diving into RFID Protocols with Flipper Zero" loading="lazy"></figure><p>High-frequency 13.56 MHz tags are a set of standards and protocols. They are usually referred to as <a href="https://nfc-forum.org/what-is-nfc/about-the-technology/">NFC</a>, but that&apos;s not always correct. The basic protocol set used on the physical and logical levels is ISO 14443. High-level protocols, as well as alternative standards (like ISO 19092), are based upon it.</p><p><strong>ISO 14443-A </strong>seems to be the most common implementation. Almost all of the public transport and office passes use it, and it&apos;s used in bank cards as well.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/r/w1560/webt/t5/_9/pf/t5_9pf6yy48b9qcck2pztbfio5u.jpeg" class="kg-image" alt="Diving into RFID Protocols with Flipper Zero" loading="lazy"><figcaption>NFC&apos;s architecture simplified</figcaption></figure><p>To put it simply, NFC&apos;s architecture works like this: the transmission protocol is chosen by the company making the cards and implemented based on the low-level ISO 14443. For example, NXP invented its own high-level transmission protocol called Mifare. But on the lower level, Mifare cards are based on ISO 14443-A standard.</p><p>Flipper can interact with both the low-level ISO 14443 protocol, as well as Mifare Ultralight data transfer protocol and EMV used in bank cards. We&apos;re working on adding support for Mifare Classic and NFC NDEF. A thorough look at the protocols and standards that make up NFC is worth a separate article which we plan to have up later.</p><h3 id="plain-uid-of-the-iso-14443-a-standard">Plain UID of the ISO 14443-A Standard</h3><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/read_unknown_card_uid_cut_2.mp4" poster="https://cdn.flipperzero.one/fallback_rfid_9.jpg">
    <a href="https://cdn.flipperzero.one/read_unknown_card_uid_cut_2.mp4"><img src="https://cdn.flipperzero.one/fallback_rfid_9.jpg" alt="Diving into RFID Protocols with Flipper Zero"></a>
    </video><figcaption>[Video] Reading a UID from a High-frequency tag of an unknown type</figcaption></figure><!--kg-card-end: html--><p>All high-frequency cards based on ISO 14443-A standard have a unique chip ID. It acts as the card&apos;s serial number, like a network card&apos;s MAC address. Usually, the UID is 4 or 7 bytes long, but can rarely go up to 10. UIDs are not a secret and they are easily readable, sometimes even printed on the card itself.</p><p>There are many access control systems that rely on UID to authenticate and grant access. Sometimes this happens even when RFID tags support cryptography. Such misuse brings them down to the level of the dumb 125 kHz cards in terms of security. Virtual cards (like Apple Pay) use a dynamic UID so that phone owners won&apos;t go opening doors with their payment app.</p><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/random_uid_apple_4_cut.mp4" poster="https://cdn.flipperzero.one/fallback_rfid_10.jpg">
    <a href="https://cdn.flipperzero.one/random_uid_apple_4_cut.mp4"><img src="https://cdn.flipperzero.one/fallback_rfid_10.jpg" alt="Diving into RFID Protocols with Flipper Zero"></a>
    </video><figcaption>[Video] iPhone generates a new UID for each time Apple Pay is read</figcaption></figure><!--kg-card-end: html--><p>Since UID is a low-level attribute, you might find yourself in a situation when UID is already read, but the high-level data transfer protocol is still unknown. You can read, emulate and manually input UID using Flipper for the primitive readers that use UID for authorization.</p><h3 id="reading-the-uid-vs-reading-the-data-inside">Reading the UID VS Reading the Data Inside</h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/r/w1560/webt/yy/ke/ig/yykeiglqqdf9zyfn_0q_pphry-i.jpeg" class="kg-image" alt="Diving into RFID Protocols with Flipper Zero" loading="lazy"><figcaption>NFC read menu is divided into two parts, low-level read and high-level read</figcaption></figure><p>In Flipper, reading 13.56 MHz tags can be divided into two parts:</p><ul><li><strong>Low-level read</strong> &#x2014; reads only the UID, SAK, and ATQA. Flipper tries to guess the high-level protocol based on this data read from the card. You can&apos;t be 100% certain with this, as it is just an assumption based on certain factors.</li><li><strong>High-level read</strong> &#x2014; reads the data from the card&apos;s memory using a specific high-level protocol. That would be reading the data on a Mifare Ultralight, reading the sectors from a Mifare Classic, or reading the card&apos;s attributes from PayPass/Apple Pay.</li></ul><p>To use a specific high-level protocol when reading data go to <code>NFC &#x2014;&gt; Run special action</code> and choose the type of tag you want to read.</p><p>To try and guess the type of tag and to read the UID go to <code>NFC -&gt; Read card</code>. So far Flipper can only detect Mifare Ultralight and EMV bank card.</p><h3 id="mifare-ultralight">Mifare Ultralight</h3><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/mifare_ultralight_read_3_cut.mp4" poster="https://cdn.flipperzero.one/fallback_rfid_11.jpg">
    <a href="https://cdn.flipperzero.one/mifare_ultralight_read_3_cut.mp4"><img src="https://cdn.flipperzero.one/fallback_rfid_11.jpg" alt="Diving into RFID Protocols with Flipper Zero"></a>
    </video><figcaption>[Video] Reading data off a Mifare Ultralight</figcaption></figure><!--kg-card-end: html--><p>Mifare is a family of contactless smart cards with several high-level protocols. The simplest of those is Mifare Ultralight. In its basic version, it has only 64 bytes of embedded flash memory and no cryptographic protection. Flipper can both read and emulate Mifare Ultralight cards. Such tags are often used as passes granting access to offices, houses and public transport. Moscow public transport tickets for example are using Mifare Ultralight.</p><h3 id="emv-bank-cards-paypass-paywave-apple-pay-google-pay">EMV Bank Cards (PayPass, payWave, Apple Pay, Google Pay)</h3><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/bank_card_2_cut.mp4" poster="https://cdn.flipperzero.one/fallback_rfid_12.jpg">
    <a href="https://cdn.flipperzero.one/bank_card_2_cut.mp4"><img src="https://cdn.flipperzero.one/fallback_rfid_12.jpg" alt="Diving into RFID Protocols with Flipper Zero"></a>
    </video><figcaption>[Video] Reading data from a bank card</figcaption></figure><!--kg-card-end: html--><p>EMV (Europay, Mastercard, and Visa) &#x2014; is the international standard set for bank cards. Bank cards now are full-fledged smart cards with complex data exchange protocols and support for asymmetric encryption. Apart from simply reading the UID, you can extract a lot more data from a bank card. It&apos;s possible to get the full card number (the 16 digits on the front of the card), validity date, and in some cases even the owner&apos;s name along with a list of the most recent transactions.</p><p>Since the EMV standard might be implemented differently, the data that can be extracted may vary from card to card. You can&apos;t read the CVV this way (the 3 digits on the back of the card).</p><p>Bank cards are protected from replay attacks, so copying it with Flipper and then trying to emulate it to pay for something won&apos;t work.</p><h3 id="tokenized-apple-pay-card-vs-physical-bank-card">Tokenized Apple Pay Card VS Physical Bank Card</h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/r/w1560/webt/u_/2k/by/u_2kby7anzdserrxznhdsszsiy0.jpeg" class="kg-image" alt="Diving into RFID Protocols with Flipper Zero" loading="lazy"><figcaption>Comparing the security of a virtual bank card and its physical counterpart</figcaption></figure><p>Compared to a plastic bank card, the virtual card you have in your phone provides less information and is safer for offline payments.</p><p>Apple Pay and Google Pay have several advantages:</p><ul><li><strong>They don&apos;t allow using captured data for online payments</strong> &#x2013; a normal card can be used for Card-Not-Present transactions (CNP), you can sometimes pay online or on the phone. Intercepted virtual card data can&apos;t be used in this manner. After registering a card with Apple Pay all payments go through the virtual token and all operations are cryptographically signed. Reading Apple Pay data results in a PAN and an expiration date of the virtual token, not the original physical card. Thus if someone tries to use the data intercepted from a virtual card to pay online such payment will be declined without a specific signature.</li><li><strong>They don&apos;t disclose the card owner&apos;s name</strong> &#x2014; some contactless cards can transfer the cardholder name and recent transactions data. Virtual cards don&apos;t do that.</li></ul><blockquote>Bank card support in Flipper is implemented solely for high-level protocol demonstration purposes only. We do not plan to extend this function further. Contactless bank cards security is good enough not to worry that devices such as Flipper can be used to attack bank cards.</blockquote><h2 id="stay-tuned">Stay Tuned</h2><p>Our social media subscribers get all the Flipper Zero news first! Join in and get access to sneak peeks, insides, and more.</p><!--kg-card-begin: html--><style>
    .social-btns {
        display: flex;
        justify-content: space-between;
    }
    .social-btn {
        margin: 0 10px;
        text-align: center;
    }
    .social-btn img {
        width: 128px;
        margin-bottom: 10px;
    }
    .social-btn a {
        text-decoration: none;
    }
@media (max-width: 425px) {
  .social-btn strong {
    font-size: 13px;
  }
}
</style>
<div class="social-btns">
	<div class="social-btn">
        <a href="https://twitter.com/flipper_zero">
			<img src="https://cdn.flipperzero.one/icon-twitter-512-normal.png" alt="Diving into RFID Protocols with Flipper Zero">
        	<strong>@flipper_zero</strong>
        </a>
    </div>
    <div class="social-btn">
        <a href="https://instagram.com/flipper_zero">
			<img src="https://cdn.flipperzero.one/icon-instagram-512-normal.png" alt="Diving into RFID Protocols with Flipper Zero">
        	<strong>@flipper_zero</strong>
        </a>
    </div>
    <div class="social-btn">
        <a href="https://facebook.com/flipperzero">
			<img src="https://cdn.flipperzero.one/icon-facebook-512-normal.png" alt="Diving into RFID Protocols with Flipper Zero">
        	<strong>@flipperzero</strong>
        </a>
    </div>
</div><!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Waiting for LCD Displays]]></title><description><![CDATA[<blockquote>TL;DR We are waiting for LCD displays to start manufacturing. Our supplier promised to deliver the displays in late September and as soon as we have them, we will kick off the mass production. All this due to the screen controller, which was in extremely short supply, so the</blockquote>]]></description><link>https://blog.flipper.net/waiting-for-displays/</link><guid isPermaLink="false">6565b30c62a2b30001e3e74c</guid><category><![CDATA[Production Log]]></category><category><![CDATA[Flipper Zero]]></category><dc:creator><![CDATA[Pavel Zhovner]]></dc:creator><pubDate>Wed, 08 Sep 2021 15:30:00 GMT</pubDate><media:content url="https://blog.flipper.net/content/images/2021/09/Temp--Online-Whiteboard-for-Visual-Collaboration-2021-09-08-15-51-47.jpg" medium="image"/><content:encoded><![CDATA[<blockquote>TL;DR We are waiting for LCD displays to start manufacturing. Our supplier promised to deliver the displays in late September and as soon as we have them, we will kick off the mass production. All this due to the screen controller, which was in extremely short supply, so the LCD manufacturer was forced to make a new screen revision with a new controller.<br><br>The only thing that separates us from starting the mass production is the lack of components. This is a factor we have no control of, and the semiconductors crisis is to blame. We&#x2019;ve covered it in depth in one of the previous <a href="https://blog.flipper.net/manufacturing-and-shipping-update/">blog posts</a>. And while we wait, we&#x2019;ve dug our noses into the firmware and mobile apps development.</blockquote><h2 id="faq">FAQ</h2><img src="https://blog.flipper.net/content/images/2021/09/Temp--Online-Whiteboard-for-Visual-Collaboration-2021-09-08-15-51-47.jpg" alt="Waiting for LCD Displays"><p>We understand the backers&apos; anxiety caused by the delay. We are highly stressed by this situation too and would like to address some of the most pressing questions in this FAQ.</p><h3 id="when-will-i-get-my-flipper">When will I get my Flipper?</h3><p>We will start mass production as soon as we get the LCD displays. It would be a lie to give you an exact date because the component delivery time was moved back several times already. If our supplier will follow through with their last promise, we will start manufacturing in October, and we&#x2019;ll begin shipping closer to November.</p><p>But to be honest, from what we&#x2019;ve experienced dealing with the component crisis so far, the situation is far from stable. We are constantly working on gathering all the available components and switching to alternatives when possible, but since we don&#x2019;t have any significant control over it, all we can do is be as honest and transparent as possible.</p><h3 id="why-not-switch-to-another-lcd-display">Why not switch to another LCD Display?</h3><p>The LCD display is one of the central Flipper parts, around which the rest of design is made. So if we switch to another LCD now, most of the electronical and mechanical engineering would have to be re-made. This can&#x2019;t be done in one go, and it would throw us many steps back and postpone the shipping even more.</p><p>The best strategy now is to wait for the displays which were validated and tested. We already received samples of the new LCD and they are fully compatible with our current design.</p><h3 id="what-are-you-doing-right-now">What are you doing right now? </h3><p>We&#x2019;re focused on Flipper&#x2019;s firmware, Android and iOS mobile apps, and on the firmware updater apps. The development team is independent of the manufacturing team, so we don&#x2019;t compromise one for the other.</p><h3 id="is-there-anything-i-can-do-to-help">Is there anything I can do to help?</h3><p>Unfortunately, no. Unless you have a few tens of thousands of LCDs laying around. The best thing to do right now is to keep calm, keep your fingers crossed, and wait for the displays to arrive.</p><hr><h2 id="for-the-early-adopters">For the Early Adopters</h2><p>The Early Adopters knew that their devices could have a hardware flaw, and there was one: the NFC and Sub-GHz subsystems in these units had problems in antenna path and were working worse than designed.</p><!--kg-card-begin: html--><div class="gh-content" style="margin: 12px 0; padding: 18px 20px; background: #fff7d7;"><img style="float: left; max-height: 150px;" src="https://cdn.flipperzero.one/deprecated-bin.png" alt="Waiting for LCD Displays"><p style="overflow: hidden; margin-top: 0 !important;">Flippers of the <b>10.F6B8C5</b> revision which were shipped to Early Adopters will be deprecated. There will be no further firmware updates after the deprecation. This is due to the changes in RFID 125 kHz hardware design. <b>All Kickstarter backers will receive fully functional devices without these issues.</b></p></div><!--kg-card-end: html--><hr><h2 id="firmware-sources-are-open">Firmware Sources Are Open </h2><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2021/09/image-4.png" class="kg-image" alt="Waiting for LCD Displays" loading="lazy" width="408" height="112"></figure><p>The firmware sources on Github are completely open now <a href="https://github.com/flipperdevices/flipperzero-firmware">https://github.com/flipperdevices/flipperzero-firmware</a>! They are licensed under the GPL 3.0. This means that other projects, including commercial ones, can use our code, but in this case their source code must be open as well.</p><h3 id="%E2%AC%87%EF%B8%8F-how-to-update-the-firmware">&#x2B07;&#xFE0F; How to Update the Firmware</h3><figure class="kg-card kg-image-card"><img src="https://blog.flipper.net/content/images/2021/09/image--2-.png" class="kg-image" alt="Waiting for LCD Displays" loading="lazy" width="2000" height="613" srcset="https://blog.flipper.net/content/images/size/w600/2021/09/image--2-.png 600w, https://blog.flipper.net/content/images/size/w1000/2021/09/image--2-.png 1000w, https://blog.flipper.net/content/images/size/w1600/2021/09/image--2-.png 1600w, https://blog.flipper.net/content/images/size/w2400/2021/09/image--2-.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Firmware is constantly improved, so it&apos;s important to update frequently. You can get the latest firmware here: <a href="https://update.flipperzero.one">update.flipperzero.one</a>. The firmware can be updated in two ways:</p><p><strong>1. Using the WebUSB updater</strong> directly from the web browser. Supports Chrome and Edge.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2021/09/image-6.png" class="kg-image" alt="Waiting for LCD Displays" loading="lazy" width="2000" height="987" srcset="https://blog.flipper.net/content/images/size/w600/2021/09/image-6.png 600w, https://blog.flipper.net/content/images/size/w1000/2021/09/image-6.png 1000w, https://blog.flipper.net/content/images/size/w1600/2021/09/image-6.png 1600w, https://blog.flipper.net/content/images/2021/09/image-6.png 2236w" sizes="(min-width: 720px) 720px"><figcaption>WebUSB updater start page</figcaption></figure><p><strong>2. Using the qFlipper utility </strong>&#x2014; that&apos;s our desktop companion for Flipper Zero. It works on all platforms: Windows, Linux, and macOS.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2021/09/image-7.jpg" class="kg-image" alt="Waiting for LCD Displays" loading="lazy" width="1600" height="1008" srcset="https://blog.flipper.net/content/images/size/w600/2021/09/image-7.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2021/09/image-7.jpg 1000w, https://blog.flipper.net/content/images/2021/09/image-7.jpg 1600w" sizes="(min-width: 720px) 720px"><figcaption>qFlipper application design</figcaption></figure><p>We provide three update options:</p><ul><li><strong>Release</strong> &#x2014; fully tested and stable,</li><li><strong>Release Candidate</strong> &#x2014; currently under testing, may have bugs,</li><li><strong>Dev</strong> &#x2014; not tested and may be unstable, but with all the latest features.</li></ul><p>Developers and Early Adopters can use the <strong>Dev</strong> firmware to test the newest features &#x2014; it&apos;s auto-compiled after each commit to the master branch. This firmware doesn&apos;t undergo thorough testing and may be unstable.</p><h3 id="%F0%9F%90%9E-reporting-bugs">&#x1F41E; Reporting Bugs</h3><p>We&apos;re using <a href="https://github.com/flipperdevices/flipperzero-firmware/issues">GitHub Issues</a> for bug reports. Please, don&apos;t PM developers about the bugs! Check our current open issues and create a new one only if your bug is not mentioned there. Our team uses Jira tickets for development, so you won&apos;t see the team discussing bugs and fixes in the public bug reports.</p><h3 id="%E2%9A%99%EF%B8%8F-building-firmware-from-source">&#x2699;&#xFE0F; Building firmware from source</h3><p>Instructions for building the firmware can be found in the <a href="https://github.com/flipperdevices/flipperzero-firmware/blob/dev/ReadMe.md#build-from-source">Readme</a>. We use Docker to compile the firmware. The native IDE-like compiling, as in VS Code, for example, is not ready yet.</p><h2 id="current-firmware-status">Current Firmware Status</h2><p>The firmware is a huge part of Flipper development, and not all features are implemented yet. We improve functionality, fix bugs, and add new features on the daily basis. Check out all those commits on <a href="https://github.com/flipperdevices/flipperzero-firmware/commits/">GitHub</a>!</p><h3 id="sub-ghz">Sub-GHz</h3><p>&#x2705; &#xA0;Receiving and decoding signals at 315/433/868 MHz frequencies</p><!--kg-card-begin: html--><style>
    .protocols summary {
  		font-weight: 700;  /* жирный шрифт метки */
		width: 10em;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;  /* блок раскрывается при щелчке по кнопке, а не по всей строке */
		border-bottom: 1px dotted;  /* подводка точками или тире часто используется для элементов, с которыми пользователю предлагается взаимодействовать, можно заменить на text-decoration */
		outline-style: none;  /* удалить обводку при фокусе */
		cursor: pointer;
	}
</style>
<details class="protocols">
    <summary>Signal protocols we support</summary>
    <h4 id="staticcode">Static Code</h4>
<pre><code>CAME 12-bit
CAME 24-bit
Nice FLO 12-bit
Nice FLO 24-bit
Princeton (Any &#x422;&#x435;)
Bytec (Princeton)
Tantos-Proteus (Princeton)
GSN (Princeton)
Nero Sketch
Gate TX
</code></pre>
<h4 id="dynamic">Dynamic</h4>
<pre><code>iDo 117/111 (PT4301-X)
faac_slh
Nice FLOR-S
</code></pre>
<h4 id="keeloq">KeeLoq</h4>
<pre><code>DoorHan
AM-Motors
Stilmatic
HCS101
Alligator D-810, Alligator D-930 
Alligator S-750RS
Alligator S-275
Alligator NS, NS-105, NS-205, NS-305, NS-405, NS-505, NS-605
Alligator M-550, M-500
Alligator L330
Pantera SLR-5100
Pantera CLK-355	Pantera SLK-2i, SLK-2i/3i/4i/5i/7i, SLK-25SC
Pantera CL-500, CL400, CL600
Pantera XS-1500, XS-2000, XS-1000, XS-1700, XS-100, XS-110
Pantera XS-2600, XS-2700
Jaguar JX-1000, XS-2700
KGB FX-1
Tomahawk 9010, TW-9000, TW-9010, TW-7000, LR-950, TZ-9010, SL-950, D-700, D-900, S-700
Guard RF-311A
Cenmax A-900
Sheriff ZX-600
Sheriff APS-35 PRO	Sheriff APS-25 PRO	Sheriff APS-2400	Sheriff ZX- 925, ZX-900, ZX-910, APS-75	Mongoose 800C, IQ-215
Mongoose 7000 RF, AMG-850C
Leopard LS50/10
Partisan RX-1
A.P.S. 3000, 2550, 2450
A.P.S 2300, 2500, 2000, 1500, 1000, 500
</code></pre>
<h4 id="starline">Star Line</h4>
<pre><code>Cenmax ST-5A, Cenmax Vigilant V-5A
Cenmax ST-7A, Cenmax Vigilant V-7A	KGB FX-5
Tomahawk 9030, TW-9030, TW-7010, TW-9020,  TZ-7010, TZ-9020, TZ-9030, H1, H2
Tomahawk Z5, Z3, X3, X5
StarLine A6, A7, A8, A9
StarLine Moto V7
StarLine A1, A2, A4
StarLine B6, B9 (extended)
Harpoon BS-2000
Jaguar EZ-Beta
</code></pre>
</details><!--kg-card-end: html--><p>&#x2705; &#xA0;Saving to an SD-card<br> &#xA0; &#xA0; &#xA0;&#x26A0;&#xFE0F; <em>Due to security concerns we are limiting the ability to save signals with &#xA0;dynamic protocols. Only static codes can be saved.</em><br>&#x2705; &#xA0;Generating new remotes from scratch<br>&#x2705; &#xA0;Channel hopping in scan mode<br>&#x1F6E0;&#xFE0F; &#xA0;Adding new protocols <br>&#x1F6E0;&#xFE0F; &#xA0;FSK modulation is not implemented yet. Only OOK modulation is supported right now. This too is a work in progress<br>&#x1F6E0;&#xFE0F; &#xA0;A simple frequency analyzer is planned but not implemented yet</p><h3 id="rfid-125-khz">RFID 125 kHz</h3><p>&#x2705; &#xA0;Reading<br> &#xA0; &#xA0; &#xA0;&#x2714; EM-4100<br> &#xA0; &#xA0; &#xA0;&#x2714; Indala (I40134)<br> &#xA0; &#xA0; &#xA0;&#x2714; HID Prox II (H10301)<br>&#x2705; &#xA0;Saving to SD-card<br>&#x2705; &#xA0;Emulating<br>&#x2705; &#xA0;Writing to blank T5577 cards<br>&#x2705; &#xA0;Adding IDs manually<br>&#x1F6E0;&#xFE0F; &#xA0;Animal tags 134 kHz (not implemented yet)</p><h3 id="nfc">NFC</h3><p>&#x2705; Reading<br> &#xA0; &#xA0; &#xA0;&#x2714; NFC A (ISO-14443A)<br> &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0;&#x2714; Mifare Ultralight<br> &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0;&#x2714; EMV Bank cards<br> &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0;&#x2714; UID only<br> &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0;&#x1F6E0;&#xFE0F; Mifare Classic (not implemented yet)<br> &#xA0; &#xA0; &#xA0;&#x1F6E0; NFC B (not implemented yet)<br> &#xA0; &#xA0; &#xA0;&#x1F6E0;&#xFE0F; NFC F (not implemented yet) <br>&#x2705; Saving to SD-card<br>&#x2705; Emulating<br>&#x1F6E0;&#xFE0F; &#xA0;Writing to blank Mifare 1k cards</p><h3 id="infrared">Infrared</h3><p>&#x2705; &#xA0;Reading<br> &#xA0; &#xA0; &#xA0;&#x2714; NEC / NEC-ext<br> &#xA0; &#xA0; &#xA0;&#x2714; Samsung32 <br> &#xA0; &#xA0; &#xA0;&#x2714; RC5<br> &#xA0; &#xA0; &#xA0;&#x2714; RC6<br> &#xA0; &#xA0; &#xA0;&#x2714; RAW (any protocol without parsing)<br>&#x2705; &#xA0;Saving to SD-card<br>&#x2705; &#xA0;Emulating<br>&#x2705; &#xA0;Brute force <br> &#xA0; &#xA0; &#xA0;&#x2714; TVs<br> &#xA0; &#xA0; &#xA0;&#x1F6E0;&#xFE0F; Air conditioners (work in progress)<br> &#xA0; &#xA0; &#xA0;&#x1F6E0;&#xFE0F; Music centers (work in progress)</p><h3 id="ibutton">iButton</h3><p>&#x2705; &#xA0;Reading<br> &#xA0; &#xA0; &#xA0;&#x2714; 1-Wire (DS19****)<br> &#xA0; &#xA0; &#xA0;&#x2714; Cyfral<br> &#xA0; &#xA0; &#xA0;&#x2714; Metakom<br>&#x2705; &#xA0;Saving to SD-card<br>&#x2705; &#xA0;Emulating<br>&#x2705; &#xA0;Writing to blank RW19**** keys</p><h3 id="badusb">BadUSB</h3><p>&#x1F6E0;&#xFE0F; Work in progress. Dealing with USB stack issues</p><h3 id="u2f-token">U2F token</h3><p>&#x1F6E0;&#xFE0F; Work in progress. Dealing with USB stack issues</p><h3 id="arduino-vs-code-compatibility">Arduino / VS Code compatibility</h3><p>&#x1F6E0;&#xFE0F; Work in progress</p><h2 id="independent-reviews">Independent Reviews</h2><p>Part of the small initial batch was destroyed during <a href="https://www.instagram.com/p/CSzCJCBoLZX/">reliability tests</a> to ensure that design is long-lasting and reliable. Another part was sent to Early Adopters, and some of them made reviews.</p><p>The famous hardware hacker <strong>MG</strong> got our Dolphin:</p><figure class="kg-card kg-embed-card"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">The independent hardware community is small &amp; it&#x2019;s a difficult time to be in it. So it&#x2019;s always really cool seeing people succeed. Nice work <a href="https://twitter.com/zhovner?ref_src=twsrc%5Etfw">@zhovner</a> &amp; the whole Flipper team.<br><br>It physically feels solid &amp; well designed. Haven&#x2019;t had a chance to use it (I have plans with OMG Cable) <a href="https://t.co/Ol6HrKmMms">pic.twitter.com/Ol6HrKmMms</a></p>&#x2014; _MG_ (@_MG_) <a href="https://twitter.com/_MG_/status/1425300026536861697?ref_src=twsrc%5Etfw">August 11, 2021</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</figure><h3 id="grand-one-hour-review">Grand One-hour Review</h3><p>The reviewer developed his own plugin and even tinkered a hardware module for it! This review is in Russian, but <strong>you can switch on the subtitles</strong> with an auto-translate feature, and everything will be clear.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/ImQ_TO92kGM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></figure><p><strong>Disclaimer! </strong>During the review, author had troubles reading RFID tags. It is important not to fiddle the card while reading, here is a demo:</p><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/flipper_zero_correct_rfid_reading.mp4" poster="https://cdn.flipperzero.one/rfid_hidprox_real_shit_fallback.jpg">
    <a href="https://cdn.flipperzero.one/flipper_zero_correct_rfid_reading.mp4"><img src="https://cdn.flipperzero.one/rfid_hidprox_real_shit_fallback.jpg" alt="Waiting for LCD Displays"></a>
    </video><figcaption>[Video] HID ProxCard read demo</figcaption></figure><!--kg-card-end: html--><h3 id="one-more-review-in-russian">One more review in Russian</h3><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://mysku.ru/blog/others/87437.html"><div class="kg-bookmark-content"><div class="kg-bookmark-title">&#x422;&#x430;&#x43C;&#x430;&#x433;&#x43E;&#x447;&#x438; &#x434;&#x43B;&#x44F; &#x445;&#x430;&#x43A;&#x435;&#x440;&#x430; - Flipper Zero</div><div class="kg-bookmark-description">&#x42D;&#x442;&#x43E;&#x442; &#x434;&#x435;&#x432;&#x430;&#x439;&#x441; &#x43D;&#x430;&#x434;&#x435;&#x43B;&#x430;&#x43B; &#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x448;&#x443;&#x43C;&#x430; &#x432; DIY &#x441;&#x43E;&#x43E;&#x431;&#x449;&#x435;&#x441;&#x442;&#x432;&#x435;, &#x43A;&#x430;&#x43A; &#x441;&#x430;&#x43C;&#x44B;&#x439; &#x443;&#x441;&#x43F;&#x435;&#x448;&#x43D;&#x44B;&#x439; &#x43E;&#x442;&#x435;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435;&#x43D;&#x43D;&#x44B;&#x439; &#x43F;&#x440;&#x43E;&#x434;&#x443;&#x43A;&#x442; &#x43D;&#x430; &#x43A;&#x438;&#x43A;&#x441;&#x442;&#x430;&#x440;&#x442;&#x435;&#x440;&#x435; &#x2014; &#x437;&#x430; &#x43C;&#x435;&#x441;&#x44F;&#x446; &#x440;&#x435;&#x431;&#x44F;&#x442;&#x430; &#x441;&#x43E;&#x431;&#x440;&#x430;&#x43B;&#x438; 5M &#x434;&#x43E;&#x43B;&#x43B;&#x430;&#x440;&#x43E;&#x432;! &#x41C;&#x43D;&#x435; &#x443;&#x434;&#x430;&#x43B;&#x43E;&#x441;&#x44C; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x443;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; &#x440;&#x430;&#x43D;&#x44C;&#x448;&#x435; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x43D;&#x44B;&#x445; &#x43F;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43E;&#x43A;, &#x432;&#x43F;&#x438;&#x441;&#x430;&#x432;&#x448;&#x438;&#x441;&#x44C; ...</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://mysku.ru/templates/skin/mysku.v3/images/logos/mysku.ext.png" alt="Waiting for LCD Displays"><span class="kg-bookmark-author">MYSKU.ru</span><span class="kg-bookmark-publisher">darkbyte</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ext.mysku-st.ru/250s/pic.mysku-st.ru/uploads/pictures/05/25/22/2021/08/13/f8dcd5.png" alt="Waiting for LCD Displays"></div></a></figure><h2 id="zero-nights-conference">Zero Nights Conference</h2><p>We&apos;ve attended the Zero Night conference in Saint Petersburg, where we showed Flipper and told about our development process and firmware architecture. Visitors could play with Flipper features using our test stand equipped with all kinds of RFID and Sub-GHz readers.</p><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2021/09/0331_sytinacom_20210825_zeronightsX.jpg" width="2000" height="3000" loading="lazy" alt="Waiting for LCD Displays" srcset="https://blog.flipper.net/content/images/size/w600/2021/09/0331_sytinacom_20210825_zeronightsX.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2021/09/0331_sytinacom_20210825_zeronightsX.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2021/09/0331_sytinacom_20210825_zeronightsX.jpg 1600w, https://blog.flipper.net/content/images/size/w2400/2021/09/0331_sytinacom_20210825_zeronightsX.jpg 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2021/09/0459_sytinacom_20210825_zeronightsX.jpg" width="2000" height="1333" loading="lazy" alt="Waiting for LCD Displays" srcset="https://blog.flipper.net/content/images/size/w600/2021/09/0459_sytinacom_20210825_zeronightsX.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2021/09/0459_sytinacom_20210825_zeronightsX.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2021/09/0459_sytinacom_20210825_zeronightsX.jpg 1600w, https://blog.flipper.net/content/images/size/w2400/2021/09/0459_sytinacom_20210825_zeronightsX.jpg 2400w" sizes="(min-width: 720px) 720px"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2021/09/0463_sytinacom_20210825_zeronightsX.jpg" width="2000" height="3000" loading="lazy" alt="Waiting for LCD Displays" srcset="https://blog.flipper.net/content/images/size/w600/2021/09/0463_sytinacom_20210825_zeronightsX.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2021/09/0463_sytinacom_20210825_zeronightsX.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2021/09/0463_sytinacom_20210825_zeronightsX.jpg 1600w, https://blog.flipper.net/content/images/size/w2400/2021/09/0463_sytinacom_20210825_zeronightsX.jpg 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2021/09/0456_sytinacom_20210825_zeronightsX.jpg" width="2000" height="1333" loading="lazy" alt="Waiting for LCD Displays" srcset="https://blog.flipper.net/content/images/size/w600/2021/09/0456_sytinacom_20210825_zeronightsX.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2021/09/0456_sytinacom_20210825_zeronightsX.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2021/09/0456_sytinacom_20210825_zeronightsX.jpg 1600w, https://blog.flipper.net/content/images/size/w2400/2021/09/0456_sytinacom_20210825_zeronightsX.jpg 2400w" sizes="(min-width: 720px) 720px"></div></div></div><figcaption>People really loved our test bench</figcaption></figure><p>Many visitors took photos with our Flipper Zero samples. You can find all of them on <a href="https://www.instagram.com/explore/tags/flipperzeronights/">Instagram (#flipperzeronights)</a>, and here are some of them:</p><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2021/09/2021-08-25_07-10-48_UTC.jpg" width="1080" height="827" loading="lazy" alt="Waiting for LCD Displays" srcset="https://blog.flipper.net/content/images/size/w600/2021/09/2021-08-25_07-10-48_UTC.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2021/09/2021-08-25_07-10-48_UTC.jpg 1000w, https://blog.flipper.net/content/images/2021/09/2021-08-25_07-10-48_UTC.jpg 1080w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2021/09/2021-08-25_09-11-41_UTC.jpg" width="1080" height="1282" loading="lazy" alt="Waiting for LCD Displays" srcset="https://blog.flipper.net/content/images/size/w600/2021/09/2021-08-25_09-11-41_UTC.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2021/09/2021-08-25_09-11-41_UTC.jpg 1000w, https://blog.flipper.net/content/images/2021/09/2021-08-25_09-11-41_UTC.jpg 1080w" sizes="(min-width: 720px) 720px"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2021/09/2021-08-25_11-03-52_UTC.jpg" width="1080" height="1080" loading="lazy" alt="Waiting for LCD Displays" srcset="https://blog.flipper.net/content/images/size/w600/2021/09/2021-08-25_11-03-52_UTC.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2021/09/2021-08-25_11-03-52_UTC.jpg 1000w, https://blog.flipper.net/content/images/2021/09/2021-08-25_11-03-52_UTC.jpg 1080w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://blog.flipper.net/content/images/2021/09/2021-08-25_14-36-43_UTC.jpg" width="1080" height="1080" loading="lazy" alt="Waiting for LCD Displays" srcset="https://blog.flipper.net/content/images/size/w600/2021/09/2021-08-25_14-36-43_UTC.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2021/09/2021-08-25_14-36-43_UTC.jpg 1000w, https://blog.flipper.net/content/images/2021/09/2021-08-25_14-36-43_UTC.jpg 1080w" sizes="(min-width: 720px) 720px"></div></div></div><figcaption>They even got into the Flipper CLI! And yeah, that Anonymous mask guy rocks</figcaption></figure><h2 id="stay-tuned">Stay Tuned</h2><p>Our social media subscribers get all the Flipper Zero news first! Join in and get access to sneak peeks, insides, and more.</p><!--kg-card-begin: html--><style>
    .social-btns {
        display: flex;
        justify-content: space-between;
    }
    .social-btn {
        margin: 0 10px;
        text-align: center;
    }
    .social-btn img {
        width: 128px;
        margin-bottom: 10px;
    }
    .social-btn a {
        text-decoration: none;
    }
@media (max-width: 425px) {
  .social-btn strong {
    font-size: 13px;
  }
}
</style>
<div class="social-btns">
	<div class="social-btn">
        <a href="https://twitter.com/flipper_zero">
			<img src="https://cdn.flipperzero.one/icon-twitter-512-normal.png" alt="Waiting for LCD Displays">
        	<strong>@flipper_zero</strong>
        </a>
    </div>
    <div class="social-btn">
        <a href="https://instagram.com/flipper_zero">
			<img src="https://cdn.flipperzero.one/icon-instagram-512-normal.png" alt="Waiting for LCD Displays">
        	<strong>@flipper_zero</strong>
        </a>
    </div>
    <div class="social-btn">
        <a href="https://facebook.com/flipperzero">
			<img src="https://cdn.flipperzero.one/icon-facebook-512-normal.png" alt="Waiting for LCD Displays">
        	<strong>@flipperzero</strong>
        </a>
    </div>
</div><!--kg-card-end: html--><p></p>]]></content:encoded></item><item><title><![CDATA[Taking over TVs with Flipper Zero Infrared Port]]></title><description><![CDATA[<p>TV, AC, and home audio remotes transmit commands via the infrared port. The infrared port in Flipper Zero allows you to control all IR devices: capture the signals and save them to an SD card, bruteforce unknown protocols, and load your own codes.</p><p><strong>This article covers:</strong></p><ul><li>How infrared receivers and</li></ul>]]></description><link>https://blog.flipper.net/infrared/</link><guid isPermaLink="false">6565b30c62a2b30001e3e74a</guid><category><![CDATA[Classroom]]></category><category><![CDATA[Flipper Zero]]></category><dc:creator><![CDATA[Anna Oake]]></dc:creator><pubDate>Fri, 30 Jul 2021 22:35:59 GMT</pubDate><media:content url="https://blog.flipper.net/content/images/2021/07/mstxpoyg8bei96fjwivww28r21q.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.flipper.net/content/images/2021/07/mstxpoyg8bei96fjwivww28r21q.jpeg" alt="Taking over TVs with Flipper Zero Infrared Port"><p>TV, AC, and home audio remotes transmit commands via the infrared port. The infrared port in Flipper Zero allows you to control all IR devices: capture the signals and save them to an SD card, bruteforce unknown protocols, and load your own codes.</p><p><strong>This article covers:</strong></p><ul><li>How infrared receivers and transmitters work</li><li>Varieties of digital signals from IR remotes</li><li>Capturing and analyzing infrared signals</li><li>Mastering the infrared with Flipper Zero</li></ul><h2 id="how-the-infrared-port-works">How the Infrared Port Works</h2><p>Infrared light is invisible to humans. IR wavelength is from 0.7 to 1000 microns. Household remotes use an IR signal for data transmission and operate in the wavelength range of 0.75..1.4 microns. A microcontroller in the remote makes an infrared LED blink with a specific frequency, turning the digital signal into an IR signal.</p><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/IR_remote_huge.mp4" poster="https://cdn.flipperzero.one/ir8_preview.jpg">
    <a href="https://cdn.flipperzero.one/IR_remote_huge.mp4"><img src="https://cdn.flipperzero.one/ir8_preview.jpg" alt="Taking over TVs with Flipper Zero Infrared Port"></a>
    </video><figcaption>[Video] The remote transmits data in batches of IR pulses</figcaption></figure><!--kg-card-end: html--><p>To receive IR signals a photoreceiver is used. It converts IR light into voltage pulses, which are already digital signals. Usually, there is a dark light filter inside the receiver, which lets only the desired wavelength through and cuts out noise.</p><h2 id="infrared-in-flipper-zero">Infrared in Flipper Zero</h2><p>The Flipper Zero IR port has a special dark window, which lets through only the IR light. This helps<em> </em>extract the desired IR signal and mitigates interference from visible light. The transceiver components are hidden behind that window. Flipper Zero&apos;s IR port can both receive and transmit signals.</p><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/flipper_IR_explosion_animation_unc.mp4" poster="https://cdn.flipperzero.one/ir_preview.jpg">
    <a href="https://cdn.flipperzero.one/flipper_IR_explosion_animation_unc.mp4"><img src="https://cdn.flipperzero.one/ir_preview.jpg" alt="Taking over TVs with Flipper Zero Infrared Port"></a>
    </video><figcaption>[Video] Flipper Zero IR port placement</figcaption></figure><!--kg-card-end: html--><p>A printed circuit board is located just behind the IR window. There are 3 IR LEDs on both sides of it &#x2014; these are signal transmitters. Multiple LEDs are used to increase the transmission power. There is also a TSOP photoreceiver on the bottom side of the PCB. The TSOP receives an IR signal and outputs a digital signal, which is processed by the STM32 microcontroller.</p><p>Below you can see an interactive schematic and a 3D model of the iButton board, on which IR LEDs, a TSOP receiver, a speaker, and iButton contacts are installed:</p><!--kg-card-begin: html--><div class="altium-ecad-viewer" data-project-src="c7b231c0-d373-4886-ad1b-a68d09898f1a" style="display: none; height: 500px; overflow: hidden; max-width: 1280px;"></div>
<figure class="kg-card kg-image-card kg-card-hascaption email-fallback"><a href="https://www.altium.com/viewer/wDGyx3PThkitG6aNCYmPGg"><img src="https://cdn.flipperzero.one/ir_altium_placeholder.jpg" class="kg-image" alt="Taking over TVs with Flipper Zero Infrared Port"></a><figcaption>Click to open the 3D model and schematic of the IR board</figcaption></figure><!--kg-card-end: html--><h2 id="ir-signal-receiver-in-flipper-zero">IR Signal Receiver in Flipper Zero</h2><p>Flipper uses a digital IR signal receiver TSOP, which allows intercepting signals from IR remotes. There are some smartphones like Xiaomi, which also have an IR port, but keep in mind that most of them can only <strong>transmit</strong> signals and are unable to receive them.</p><p>The Flipper infrared receiver is quite sensitive. You can even catch the signal while remaining somewhere in between the remote and the TV. Pointing the remote directly at Flipper&apos;s IR port is unnecessary. This comes in handy when someone is switching channels while standing near the TV, and both you and Flipper are some distance away. For example, when you&apos;re in a cafe and the bartender starts channel hopping, and you want to take control of the TV by capturing the signal.</p><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/ir_learn_new_remote_short2_compressed.mp4" poster="https://cdn.flipperzero.one/ir2_preview.jpg">
    <a href="https://cdn.flipperzero.one/ir_learn_new_remote_short2_compressed.mp4"><img src="https://cdn.flipperzero.one/ir2_preview.jpg" alt="Taking over TVs with Flipper Zero Infrared Port"></a>
    </video><figcaption>[Video] Capturing IR signal</figcaption></figure><!--kg-card-end: html--><p>As the decoding of the infrared signal happens on the software side, Flipper Zero potentially supports the reception and transmission of any IR remote codes. In the case of unknown protocols which could not be recognized - it records and plays back the raw signal exactly as received.</p><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/ch_switch_cut.mp4" poster="https://cdn.flipperzero.one/ir3_preview.jpg">
    <a href="https://cdn.flipperzero.one/ch_switch_cut.mp4"><img src="https://cdn.flipperzero.one/ir3_preview.jpg" alt="Taking over TVs with Flipper Zero Infrared Port"></a>
    </video><figcaption>[Video] Learning feature demo: Flipper captures channel switch signals and controls the TV</figcaption></figure><!--kg-card-end: html--><p>The interface of the saved remotes in the Flipper is displayed vertically. This way it is more convenient to hold the device in your hand while pointing the IR port towards the receiver at the same time.</p><p>To read the IR signal, it must get into the Flipper&apos;s IR window, which should be easy if you are indoors because the signal will most likely reflect from various surfaces and will hit the IR port eventually.</p><p>In order to read the IR signal navigate <code>Infrared -&gt; Learn new remote</code>. The captured signal can then be saved to a new remote. It is possible to add several signals to one remote by selecting the desired remote in <code>Infrared -&gt; Saved remotes</code>. You can add an unlimited number of signals (buttons) to a single remote.</p><h2 id="flipper-zero-as-universal-remote">Flipper Zero as Universal Remote</h2><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/tv_switched_off_dictionary_attack_padding_compressed.mp4" poster="https://cdn.flipperzero.one/ir4_preview.jpg">
    <a href="https://cdn.flipperzero.one/tv_switched_off_dictionary_attack_padding_compressed.mp4"><img src="https://cdn.flipperzero.one/ir4_preview.jpg" alt="Taking over TVs with Flipper Zero Infrared Port"></a>
    </video><figcaption>[Video] Bruteforcing a cafe TV</figcaption></figure><!--kg-card-end: html--><p>Flipper Zero can be used as a universal remote to control any TV, air conditioner, or media center. In this mode, Flipper bruteforces all known codes of all supported manufacturers according to the dictionary from the SD card. You don&apos;t need to choose a particular remote to turn of a restaurant TV.</p><p>It is enough to press the power button in the Universal Remote mode, and Flipper will sequentially send &quot;Power Off&quot; commands of all the TVs it knows: Sony, Samsung, Panasonic... and so on. When the TV receives its signal, it will react and turn off.</p><p>Such brute-force takes time. The larger the dictionary, the longer it will take to finish. It is impossible to find out which signal exactly the TV recognized since there is no feedback from the TV.</p><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/IR_bruteforce_list.mp4" poster="https://cdn.flipperzero.one/ir11_preview.jpg">
    <a href="https://cdn.flipperzero.one/IR_bruteforce_list.mp4"><img src="https://cdn.flipperzero.one/ir11_preview.jpg" alt="Taking over TVs with Flipper Zero Infrared Port"></a>
    </video><figcaption>[Video] Dictionary-based brute-force mode</figcaption></figure><!--kg-card-end: html--><p>To use the Universal Remote mode, navigate <code>Infrared -&gt; Universal library</code> and select the type of device you want to control.</p><p>To check or edit the dictionary, you need to open or create the corresponding file on the SD card. For example, for TVs, the dictionary file looks like this:</p><pre><code>#Button name #Protocol  #Address #Command
POWER        NEC        A:08     C:17
VOL+         NEC        A:08     C:00
VOL-         NEC        A:08     C:01
CH+          NEC        A:08     C:02
CH-          NEC        A:08     C:03
MUTE         NEC        A:08     C:0B
....
</code></pre><p>We plan to have dictionaries bundled with the firmware while keeping them in a separate repository, where all users will be able to offer their codes and keys.</p><h2 id="other-universal-remotes-to-switch-off-any-tv">Other Universal Remotes to Switch Off Any TV</h2><p>There are devices specially designed for those who are annoyed by TVs. Such devices contain a database of signals for turning off TVs from different manufacturers. The principle of operation is the same as on Flipper: the device simply tries all known signals from its dictionary, hoping that at some moment the signal will work. Such a signal database is usually embedded in the firmware, and it is not easy to update it.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/webt/0t/5-/mj/0t5-mjkoxccv2gd8jnurycpmk7m.png" class="kg-image" alt="Taking over TVs with Flipper Zero Infrared Port" loading="lazy"><figcaption>Comparison of Flipper Zero and other devices which turn off TVs</figcaption></figure><ul><li><a href="https://store.artlebedev.com/electronics/devices/knopkus/"><strong>Knopkus by Artemy Lebedev</strong></a><strong> </strong>&#x2014; a simple and beautiful device in a rubberized case with one button. After clicking the button, the code search begins. Unfortunately, the list of signals is not very large and it didn&apos;t work for TVs in our office and at home. There is no way to update the signal database in this device: there is some kind of off-brand microcontroller inside, and it&apos;s unclear how to flash it.</li><li><strong><a href="https://www.adafruit.com/product/73">TV B GONE</a></strong> &#x2014; a well-known old project with open firmware and hardware. 4 powerful IR diodes at once make it very long-range. You can add your own codes, but you will need a chip programmer for this.</li></ul><p>Flipper&apos;s main difference is that its brute-force dictionary is stored on the SD card and can be easily updated. Users can also create their own dictionaries for new classes of household appliances and automation. Flipper is also able to receive signals, so it can be trained to memorize any remote buttons that for some reason were not found in the brute-force dictionary.</p><h2 id="tsop-infrared-receiver">TSOP Infrared Receiver</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/webt/iy/ma/cu/iymacuc0zyc9qctco2y0ogbyyz8.png" class="kg-image" alt="Taking over TVs with Flipper Zero Infrared Port" loading="lazy"><figcaption>TSOP-75538 IR receiver used in Flipper Zero</figcaption></figure><p>As the IR receiver Flipper uses a TSOP-75338 chip. This component filters the signal itself and maintains it at the constant logical level, amplifying if necessary. Therefore, the TSOP-75338 is able to receive even a very weak signal from small discharged remotes or signals reflected from walls. And the built-in amplifier allows you to get the same voltage levels, regardless of the IR signal strength. This greatly simplifies the software signal processing on the microcontroller side.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/webt/2t/kq/if/2tkqifjx7-0ufixkub6f_eozoy4.jpeg" class="kg-image" alt="Taking over TVs with Flipper Zero Infrared Port" loading="lazy"><figcaption>Flipper Zero PCB that contains IR transceiver. The schematics show how TSOP-75538 is connected</figcaption></figure><p>There is an RC filter in the power supply scheme for the TSOP-75338 photodetector. It is needed because the microcontroller interferes with the power lines, which is why the output digital signal of the photoreceiver may not correspond to the received signal. A diode is used for voltage-matching of the TSOP receiver and the STM32 microcontroller. TSOP outputs a digital signal, which gets processed by the STM32 microcontroller.</p><figure class="kg-card kg-image-card"><img src="https://habrastorage.org/webt/e7/s3/af/e7s3afwqnpl-5o7i7x2zhiwsjnc.png" class="kg-image" alt="Taking over TVs with Flipper Zero Infrared Port" loading="lazy"></figure><p><strong>Functional blocks of TSOP-75338 IR receiver:</strong></p><ul><li>IR light filter</li><li>Sensitive IR photoreceiver</li><li>Bandpass amplifier</li><li>Automatic gain control</li><li>Demodulator for getting a signal envelope</li></ul><p>For transmission, a <a href="https://www.5gtechnologyworld.com/digital-modulation-basics-part-1/">frequency-modulated</a> signal is usually used. Our receiver demodulates the 38 kHz signal. Most remotes work on 36..38 kHz carrier waves.</p><h2 id="why-frequency-modulation">Why Frequency Modulation</h2><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/IR_modulation_with_noise.mp4" poster="https://cdn.flipperzero.one/ir10_preview.jpg">
    <a href="https://cdn.flipperzero.one/IR_modulation_with_noise.mp4"><img src="https://cdn.flipperzero.one/ir10_preview.jpg" alt="Taking over TVs with Flipper Zero Infrared Port"></a>
    </video><figcaption>[Video] Digital IR signal gets interfered with noise</figcaption></figure><!--kg-card-end: html--><p>There is almost always some background noise when receiving an IR signal, it is there because lots of objects emit IR light, even ordinary lamps. Therefore, the receiver usually gets signal mixed with noise.</p><ul><li><strong>Background IR noise</strong> is created by many light sources because the source of IR light is the generated heat. Therefore, the background IR noise is random. For clarity, it is depicted as a sinusoid in the video above.</li><li><strong>Modulated IR signal </strong>&#x2014; IR pulse bursts from remote. The ideal pulse burst looks like a smooth meander, but such a signal can only be seen if there is no noise at all. In reality, the meander will always be superimposed on the noise and summed up with it.</li></ul><p>Frequency modulation allows distinguishing signal from noise. When the signal flashes at a frequency of 38 kHz, the IR pulses are picked out from the background noise. Thus, the photoreceiver can determine the presence of a signal and distinguish it from the lamp illumination.</p><h2 id="ir-signal-transmitter-in-flipper-zero">IR Signal Transmitter in Flipper Zero</h2><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/IR_port_transmission_cut_noaudio.mp4" poster="https://cdn.flipperzero.one/ir9_preview.jpg">
    <a href="https://cdn.flipperzero.one/IR_port_transmission_cut_noaudio.mp4"><img src="https://cdn.flipperzero.one/ir9_preview.jpg" alt="Taking over TVs with Flipper Zero Infrared Port"></a>
    </video><figcaption>[Video] Schematics of IR to MCU connection in Flipper Zero</figcaption></figure><!--kg-card-end: html--><p>The IR signal transmission is directly controlled by the STM32 Flipper microcontroller. It sends pulses to the LEDs through an external transistor. To increase its transmitting power, 3 IR LEDs are used instead of one.</p><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/digital_signal_to_TV.mp4" poster="https://cdn.flipperzero.one/ir12_preview.jpg">
    <a href="https://cdn.flipperzero.one/digital_signal_to_TV.mp4"><img src="https://cdn.flipperzero.one/ir12_preview.jpg" alt="Taking over TVs with Flipper Zero Infrared Port"></a>
    </video><figcaption>[Video] Pulses on the transmitter side are converted to an inverted digital signal on the receiver side</figcaption></figure><!--kg-card-end: html--><p>As in remotes, data from Flipper Zero is transmitted with pulse bursts. The receiver demodulator forms <strong>envelopes</strong> (meanders) from pulse bursts which are then handled digitally. Often, the digital signal at the receiver output is an inverted envelope.</p><p>To increase the power of the transmitter, pulse bursts are used, rather than a whole meander. At the same time, the average power decreases or remains the same, so it doesn&apos;t affect the energy consumption.</p><p>Usually, transmitters work on 30..50 kHz carrier waves. This carrier range showed the lowest level of interference. Not to be confused with the frequency of the IR light, which corresponds to a wavelength of 940 nm (318.93 THz).</p><h2 id="analyzing-ir-protocols-with-arduino">Analyzing IR protocols with Arduino</h2><p>For rapid IR testing and debugging, we used the Arduino <a href="https://www.arduino.cc/reference/en/libraries/irmp/">IRMP</a> library. You can find instructions on how to assemble a device for analyzing IR protocols on the <a href="https://github.com/ukw100/IRMP">GitHub repository</a>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/webt/py/r7/5g/pyr75ghghply2xdgbc1swo8lnvo.png" class="kg-image" alt="Taking over TVs with Flipper Zero Infrared Port" loading="lazy"><figcaption><a href="https://github.com/ukw100/IRMP">Arduino IRMP</a>-based IR protocols analyzer schematics</figcaption></figure><p>After collecting all office IR remotes we made sure that almost all of them have different IR protocols. But you can&apos;t fully trust the self-built analyzer. If the IR protocol is unknown, the Arduino IRMP analyzer may recognize it as the Siemens protocol.</p><p>To receive the IR signal with Arduino IRMP, we used the Flipper IR board directly. The variety of well-known IR protocols in the IRMP library allows faster firmware development.</p><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/irmp_arduino_many_remotes.mp4" poster="https://cdn.flipperzero.one/ir5_preview.jpg">
    <a href="https://cdn.flipperzero.one/irmp_arduino_many_remotes.mp4"><img src="https://cdn.flipperzero.one/ir5_preview.jpg" alt="Taking over TVs with Flipper Zero Infrared Port"></a>
    </video><figcaption>[Video] IRMP-Arduino IR Analyzer</figcaption></figure><!--kg-card-end: html--><h2 id="variety-of-ir-protocols">Variety of IR Protocols</h2><p>IR protocols differ in 3 factors:</p><ul><li>bit encoding</li><li>data structure</li><li>carrier frequency &#x2014; often in range 36..38 kHz</li></ul><h3 id="bit-encoding-ways">Bit encoding ways</h3><p><strong>1. Pulse Distance Encoding</strong></p><p>Bits are encoded by modulating the duration of the space between pulses. The width of the pulse itself is constant.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/webt/ki/rw/pe/kirwpeccpnapln7tmvvdznuicok.jpeg" class="kg-image" alt="Taking over TVs with Flipper Zero Infrared Port" loading="lazy"><figcaption>With pulse distance encoding, the bits differ only in the delay after pulse bursts</figcaption></figure><p><strong>2. Pulse Width Encoding</strong></p><p>Bits are encoded by modulation of the pulse width. The width of space after pulse burst is constant.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/webt/yb/xy/_y/ybxy_y-n-jv3j04yf9mi4dozohm.jpeg" class="kg-image" alt="Taking over TVs with Flipper Zero Infrared Port" loading="lazy"><figcaption>With pulse width encoding, the pulse burst width is different for &quot;0&quot; and &quot;1&quot;</figcaption></figure><p><strong>3. Phase Encoding</strong></p><p>It is also known as Manchester encoding. The logical value is defined by the polarity of the transition between pulse burst and space. &quot;Space to pulse burst&quot; denotes logic &quot;0&quot;, &quot;pulse burst to space&quot; denotes logic &quot;1&quot;.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2021/07/Manchester.png" class="kg-image" alt="Taking over TVs with Flipper Zero Infrared Port" loading="lazy" width="2000" height="586" srcset="https://blog.flipper.net/content/images/size/w600/2021/07/Manchester.png 600w, https://blog.flipper.net/content/images/size/w1000/2021/07/Manchester.png 1000w, https://blog.flipper.net/content/images/size/w1600/2021/07/Manchester.png 1600w, https://blog.flipper.net/content/images/2021/07/Manchester.png 2104w" sizes="(min-width: 720px) 720px"><figcaption>With biphase encoding, the bit value is defined by space and pulse burst order</figcaption></figure><p><strong>4. Combination of previous ones and other exotics</strong></p><h3 id="data-structure">Data structure</h3><ul><li>control command</li><li>device address</li><li>checksums</li><li>any other service info</li></ul><p>There are IR protocols that are trying to become universal for several types of devices. The most famous ones are RC5 and NEC. Unfortunately, the most famous does not mean the most common. In my environment, I met just two NEC remotes and no RC5 ones.</p><p>Manufacturers love to use their own unique IR protocols, even within the same range of devices (for example, TV-boxes). Therefore, remotes from different companies and sometimes from different models from the same company, are unable to work with other devices of the same type.</p><!--kg-card-begin: html--><style>
    .protocols summary {
  		font-weight: 700;  /* жирный шрифт метки */
		display: block;  /* у summary по умолчанию свойство display в значении list-item, потому поддерживается свойство list-style */
		width: 10em;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;  /* блок раскрывается при щелчке по кнопке, а не по всей строке */
		border-bottom: 1px dotted;  /* подводка точками или тире часто используется для элементов, с которыми пользователю предлагается взаимодействовать, можно заменить на text-decoration */
		outline-style: none;  /* удалить обводку при фокусе */
		cursor: pointer;
	}
    .protocols summary::-webkit-details-marker {  /* нестандартный псевдоэлемент Google Chrome */
		display: none;
	}
	table, tbody, td, th, thead, tr {
		vertical-align: middle !important;
	}
	thead th {
		border-bottom: solid 0.1em black;
		white-space: nowrap;
	}
	th, td {
		padding: 4px !important;
	}
</style>
<details class="protocols">
    <summary>IR protocols we know</summary>
<table>
    <thead>
        <tr>
            <th style="text-align: center">Protocol Name</th>
            <th style="text-align: center">Details</th>
        </tr>
    </thead>
    <tbody>
        <tr><td>SIRCS</td><td>Sony</td></tr>
<tr><td>NEC</td><td>NEC with 32 bits, 16 address + 8 + 8 command bits, Pioneer, JVC, Toshiba, NoName etc</td></tr>
<tr><td>NEC16</td><td>NEC with 16 bits (incl. sync)</td></tr>
<tr><td>NEC42</td><td>NEC with 42 bits</td></tr>
<tr><td>SAMSUNG</td><td>Samsung</td></tr>
<tr><td>SAMSUNG32</td><td>Samsung32: no sync pulse at bit 16, length 32 instead of 37</td></tr>
<tr><td>SAMSUNG48</td><td>air conditioner with SAMSUNG protocol (48 bits)</td></tr>
<tr><td>LGAIR</td><td>LG air conditioner</td></tr>
<tr><td>MATSUSHITA</td><td>Matsushita</td></tr>
<tr><td>TECHNICS</td><td>Technics, similar to Matsushita, but 22 instead of 24 bits</td></tr>
<tr><td>KASEIKYO</td><td>Kaseikyo (Panasonic etc)</td></tr>
<tr><td>PANASONIC</td><td>Panasonic (Beamer), start bits similar to KASEIKYO</td></tr>
<tr><td>MITSU_HEAVY</td><td>Mitsubishi-Heavy Aircondition, similar timing as Panasonic beamer</td></tr>
<tr><td>RECS80</td><td>Philips, Thomson, Nordmende, Telefunken, Saba</td></tr>
<tr><td>RC5</td><td>Philips etc</td></tr>
<tr><td>DENON</td><td>Denon, Sharp</td></tr>
<tr><td>RC6</td><td>Philips etc</td></tr>
<tr><td>APPLE</td><td>Apple, very similar to NEC</td></tr>
<tr><td>RECS80EXT</td><td>Philips, Technisat, Thomson, Nordmende, Telefunken, Saba</td></tr>
<tr><td>NUBERT</td><td>Nubert</td></tr>
<tr><td>BANG_OLUFSEN</td><td>Bang &amp; Olufsen</td></tr>
<tr><td>GRUNDIG</td><td>Grundig</td></tr>
<tr><td>NOKIA</td><td>Nokia</td></tr>
<tr><td>SIEMENS</td><td>Siemens, e.g. Gigaset</td></tr>
<tr><td>FDC</td><td>FDC keyboard</td></tr>
<tr><td>RCCAR</td><td>RC Car</td></tr>
<tr><td>JVC</td><td>JVC (NEC with 16 bits)</td></tr>
<tr><td>RC6A</td><td>RC6A, e.g. Kathrein, XBOX</td></tr>
<tr><td>NIKON</td><td>Nikon</td></tr>
<tr><td>RUWIDO</td><td>Ruwido, e.g. T-Home Mediareceiver</td></tr>
<tr><td>IR60</td><td>IR60 (SDA2008)</td></tr>
<tr><td>KATHREIN</td><td>Kathrein</td></tr>
<tr><td>NETBOX</td><td>Netbox keyboard (bitserial)</td></tr>
<tr><td>LEGO</td><td>LEGO Power Functions RC</td></tr>
<tr><td>THOMSON</td><td>Thomson</td></tr>
<tr><td>BOSE</td><td>BOSE</td></tr>
<tr><td>A1TVBOX</td><td>A1 TV Box</td></tr>
<tr><td>ORTEK</td><td>ORTEK &#x2014; Hama</td></tr>
<tr><td>TELEFUNKEN</td><td>Telefunken (1560)</td></tr>
<tr><td>ROOMBA</td><td>iRobot Roomba vacuum cleaner</td></tr>
<tr><td>RCMM32</td><td>Fujitsu-Siemens (Activy remote control)</td></tr>
<tr><td>RCMM24</td><td>Fujitsu-Siemens (Activy keyboard)</td></tr>
<tr><td>RCMM12</td><td>Fujitsu-Siemens (Activy keyboard)</td></tr>
<tr><td>SPEAKER</td><td>Another loudspeaker protocol, similar to Nubert</td></tr>
<tr><td>MERLIN</td><td>Merlin (Pollin 620 185)</td></tr>
<tr><td>PENTAX</td><td>Pentax camera</td></tr>
<tr><td>FAN</td><td>FAN (ventilator), very similar to NUBERT, but last bit is data bit instead of stop bit</td></tr>
<tr><td>S100</td><td>very similar to RC5, but 14 instead of 13 data bits</td></tr>
<tr><td>ACP24</td><td>Stiebel Eltron ACP24 air conditioner</td></tr>
<tr><td>VINCENT</td><td>Vincent</td></tr>
<tr><td>SAMSUNGAH</td><td>SAMSUNG AH</td></tr>
<tr><td>IRMP16</td><td>IRMP specific protocol for data transfer, e.g. between two microcontrollers via IR</td></tr>
<tr><td>GREE</td><td>Gree climate</td></tr>
<tr><td>RCII</td><td>RC II Infra Red Remote Control Protocol for FM8</td></tr>
<tr><td>METZ</td><td>METZ</td></tr>
<tr><td>ONKYO</td><td>Like NEC but with 16 address + 16 command bits</td></tr>
    </tbody>
</table>
</details><!--kg-card-end: html--><h2 id="exploring-ir-signal-with-an-oscilloscope">Exploring IR signal with an oscilloscope</h2><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/oscilloscope_NEC_cut.mp4" poster="https://cdn.flipperzero.one/ir6_preview.jpg">
    <a href="https://cdn.flipperzero.one/oscilloscope_NEC_cut.mp4"><img src="https://cdn.flipperzero.one/ir6_preview.jpg" alt="Taking over TVs with Flipper Zero Infrared Port"></a>
    </video><figcaption>[Video] Capturing the IR signal with an oscilloscope</figcaption></figure><!--kg-card-end: html--><p>The most reliable way to see how the remote IR signal looks like is to use an oscilloscope. It does not demodulate or invert the received signal, it is just displayed &quot;as is&quot;. This is useful for testing and debugging. I will show the expected signal on the example of the NEC IR protocol.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/webt/um/fq/et/umfqetm2o0aywwoico969m9ruv4.png" class="kg-image" alt="Taking over TVs with Flipper Zero Infrared Port" loading="lazy"><figcaption>Popular NEC protocol oscillogram</figcaption></figure><p>Usually, there is a preamble at the beginning of an encoded packet. This allows the receiver to determine the level of gain and background. There are also protocols without preamble, for example, Sharp.</p><p>Then data is transmitted. The structure, preamble, and bit encoding method are determined by the specific protocol.</p><p><strong>NEC IR protocol </strong>contains a short command and a repeat code, which is sent while the button is pressed. Both the command and the repeat code have the same preamble at the beginning.</p><p>NEC <strong>command</strong>, in addition to the preamble, consists of an address byte and a command-number byte, by which the device understands what needs to be performed. Address and command-number bytes are duplicated with inverse values, to check the integrity of the transmission. There is an additional stop bit at the end of the command.</p><p>The <strong>repeat code</strong> has a &quot;1&quot; after the preamble, which is a stop bit.</p><p>For<strong> logic &quot;0&quot; and &quot;1&quot;</strong> NEC uses Pulse Distance Encoding: first, a pulse burst is transmitted after which there is a pause, its length sets the value of the bit.</p><h3 id="infrared-oscilloscope-probe">Infrared oscilloscope probe</h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.flipper.net/content/images/2021/07/kek-yopta.jpg" class="kg-image" alt="Taking over TVs with Flipper Zero Infrared Port" loading="lazy" width="1339" height="1005" srcset="https://blog.flipper.net/content/images/size/w600/2021/07/kek-yopta.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2021/07/kek-yopta.jpg 1000w, https://blog.flipper.net/content/images/2021/07/kek-yopta.jpg 1339w" sizes="(min-width: 720px) 720px"><figcaption>Oscilloscope captures IR signal with a &quot;silver bullet&quot;</figcaption></figure><p>For capturing IR pulses with an oscilloscope I used a self-made <a href="https://www.analysir.com/blog/2014/05/04/silver-bullet-oscilloscope-infrared-receiver/">Silver Bullet</a>, developed by <a href="https://www.analysir.com/">AnalysIR</a> author. It is just an IR LED and a resistor, soldered to an RCA audio connector, which is then connected to an oscilloscope via a <code>BNC-&gt;RCA</code> adapter. It can be assembled in five minutes from that are generally available and easy to find.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/webt/m_/lb/fa/m_lbfa-fujnajm9k0ekeoounxqy.png" class="kg-image" alt="Taking over TVs with Flipper Zero Infrared Port" loading="lazy"><figcaption>Silver Bullet IR-capturing oscilloscope probe circuit diagram</figcaption></figure><p>While the IR light of the remote hits the IR LED of the probe, a small current begins to pass through the LED. This current raises a voltage at the LED pins, which is distinctly visible on the oscilloscope. It is important to lean the IR transmitter close to the probe, to get a clear signal on the oscilloscope.</p><h2 id="what-is-wrong-with-air-conditioners">What is wrong with Air Conditioners</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/getpro/habr/post_images/3dd/39e/c16/3dd39ec16a6f6ba412fbc0006e0fabc7.jpg" class="kg-image" alt="Taking over TVs with Flipper Zero Infrared Port" loading="lazy"><figcaption>Air conditioner remotes send a large single package with a full list of settings</figcaption></figure><p>Air conditioner remotes are full-fledged devices with a display. They control a lot of settings such as temperature, fan power, etc. At the same time, the remote does not know whether the air conditioner has received the signal, it simply sends a signal every time the settings on the remote are changed.</p><p>But what will happen if we change the temperature on the remote from another room, so the air conditioner does not get that signal? For example, the value of 19&#xB0;C was set on the air conditioner, we went to another room and completely changed all the settings on the remote, setting it to 30&#xB0;C. Then we return to the air conditioner and raise the temperature by 1&#xB0;C up. If the remote simply sent a code of each button, as other remotes do, the temperature would be set to 20&#xB0;C on the air conditioner, and we would see 31&#xB0;C on the remote screen. The result would be a data desynchronization between the remote and the AC.</p><p>Therefore, air conditioner remotes, unlike other remotes, do not transmit the code of the pressed button, but all the parameters. In another word, these remotes always send ALL the remote data in one large packet. Such protocols are very complex.</p><!--kg-card-begin: html--><figure class="kg-card kg-image-card kg-card-hascaption"><video autoplay muted loop playsinline controls style="width: 100%; margin: 0 !important;" src="https://cdn.flipperzero.one/screencapture_AnalysIR_cut.mp4" poster="https://cdn.flipperzero.one/ir7_preview.jpg">
    <a href="https://cdn.flipperzero.one/screencapture_AnalysIR_cut.mp4"><img src="https://cdn.flipperzero.one/ir7_preview.jpg" alt="Taking over TVs with Flipper Zero Infrared Port"></a>
    </video><figcaption>[Video] Capturing an AC remote signals (NEC IR protocol) using the IR-toy receiver and AnalysIR software</figcaption></figure><!--kg-card-end: html--><p>The data structure of air conditioner remotes may be completely different for various models. Air conditioners may have different temperature or power ranges, humidity control options, etc. Therefore the data structure may be so large, so it has to be transmitted in several batches.</p><p>Creating a universal user interface for such remotes is a challenging task, due to the inability to test multiple air conditioners and their functions. Therefore we can work with several air conditioners, but support for a large number of models has not been already implemented yet.</p><h2 id="how-to-analyze-ir-signals-on-pc">How to analyze IR-signals on PC</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://habrastorage.org/webt/jy/ro/by/jyrobyvnoymgmyubq9wv_6qmhp4.png" class="kg-image" alt="Taking over TVs with Flipper Zero Infrared Port" loading="lazy"><figcaption>Scheme of using of AnalysIR with IR-Toy device</figcaption></figure><p>To work with IR signals on PC I use the <a href="https://www.analysir.com/">AnalysIR</a>. This is a program for analyzing IR protocols and which supports different devices for IR-capturing. The most common way is to make a homemade receiver with TSOP and Arduino, and connect it via USB. I am using <a href="http://dangerousprototypes.com/docs/USB_IR_Toy_v2">IR-toy V2</a> as a receiver. List of supported receivers: <a href="https://www.analysir.com/blog/wp-content/uploads/2014/10/Product-Sheet-AnalysIR.pdf">AnalysIR.pdf</a>.</p><p>AnalysIR shows the envelope of the IR signal instead of pulses, unlike an oscilloscope. The program calculates the delays and durations of pulse bursts and logs this info. It helps analyze unknown IR protocols. AnalysIR knows more than 100 IR protocols and is able to recognize them automatically. By the way, the author of the program suggested adding support for a Flipper as an IR receiver. Great idea, isn&apos;t it?</p><h2 id="pre-order-now">Pre-order Now</h2><p><strong>Our first priority</strong> is to fulfill all <strong>Kickstarter orders</strong>, so our backers will get the first production batch.</p><p>If you missed our Kickstarter campaign, you can <a href="https://shop.flipperzero.one/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=infrared">pre-order now</a> and get your device in Fall 2021, as soon as the second batch is ready. Your pre-orders help us to plan the production and logistics.</p><!--kg-card-begin: html--><figure class="kg-card kg-image-card"><a href="https://shop.flipperzero.one/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=infrared"><img src="https://blog.flipper.net/content/images/2021/06/Temp--5-.jpg" class="kg-image" alt="Taking over TVs with Flipper Zero Infrared Port" loading="lazy" width="2000" height="1185" srcset="https://blog.flipper.net/content/images/size/w600/2021/06/Temp--5-.jpg 600w, https://blog.flipper.net/content/images/size/w1000/2021/06/Temp--5-.jpg 1000w, https://blog.flipper.net/content/images/size/w1600/2021/06/Temp--5-.jpg 1600w, https://blog.flipper.net/content/images/size/w2400/2021/06/Temp--5-.jpg 2400w" sizes="(min-width: 720px) 720px"></a></figure><!--kg-card-end: html-->]]></content:encoded></item></channel></rss>