‹ Reports
The Dispatch

Flipper Zero Firmware Development Sees Active Feature Expansion and Bug Fixing

The Flipper Zero firmware project has seen a steady stream of contributions focusing on feature enhancements and bug fixes, with notable attention to improving NFC functionalities and user interface elements.

The Flipper Zero firmware is an open-source project aimed at providing a versatile tool for pentesters and hardware enthusiasts. It supports a wide range of functionalities, including RFID reading, infrared remote control, and GPIO management.

Recent Activity

Recent issues and pull requests indicate a focus on expanding the device's capabilities while addressing existing bugs. Notable issues include ongoing challenges with NFC tag reading and emulation, particularly with Mifare and DESFire cards, suggesting potential regressions in recent updates. The community remains active, contributing detailed logs and reproduction steps for reported issues.

Recent Development Activity

Of Note

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 7 8 4 4 1
30 Days 20 12 26 8 1
90 Days 50 43 128 16 1
1 Year 264 200 1093 77 1
All Time 1036 921 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
porta 5 6/2/0 24 111 4487
RebornedBrain 1 3/3/0 3 38 1074
あく 2 1/2/0 3 5 513
Silent 1 5/4/0 4 23 197
Georgii Surkov 1 0/1/0 1 8 181
Thomas Nemer 1 1/1/0 1 2 138
hedger 1 1/1/0 1 12 107
DerSkythe 1 0/1/0 1 4 106
Filipe Paz Rodrigues 1 0/1/0 1 5 101
christhetech131 1 1/1/0 1 1 94
Zinong Li 1 3/3/0 3 3 90
Astra 1 3/3/0 3 48 75
Valera Olexienko 1 1/1/0 1 1 38
WillyJL 1 4/3/0 3 5 37
Eric Betts 1 1/1/0 1 2 10
Skorpionm 1 0/1/0 1 1 6
Angel (jerji) 0 1/0/1 0 0 0
None (Hodge980) 0 1/0/1 0 0 0
Aaron Tulino (aaronjamt) 0 1/0/0 0 0 0
Jan Wiesemann (janwiesemann) 0 1/0/0 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The Flipper Zero firmware repository currently has 115 open issues, with recent activity indicating a mix of bug reports and feature requests. Notably, several issues highlight problems with NFC and Sub-GHz functionalities, suggesting ongoing challenges in these areas. There is an apparent trend of users reporting difficulties with reading and emulating various NFC tags, particularly Mifare and DESFire cards, which may indicate a regression following recent updates.

Several issues have been raised regarding specific protocols and devices, including requests for new features to enhance usability and compatibility. The community appears actively engaged, with users frequently providing detailed logs and reproduction steps for reported bugs.

Issue Details

Most Recently Created Issues

  1. Issue #3891: Feature Request: Mood Changer

    • Priority: Low
    • Status: Closed
    • Created: 2 days ago
    • Updated: 2 days ago
  2. Issue #3886: BLE RPC not responding after a factory reset

    • Priority: Medium
    • Status: Closed
    • Created: 4 days ago
    • Updated: 4 days ago
  3. Issue #3885: Feature Request: Add Bluetooth signals Spamming/copying App

    • Priority: Low
    • Status: Closed
    • Created: 18 days ago
    • Updated: 18 days ago
  4. Issue #3884: Blackmagic: Reset/Reset Device don't work if execution is suspended on furi_check()

    • Priority: High
    • Status: Open
    • Created: 5 days ago
    • Updated: 3 days ago
  5. Issue #3883: Blackmagic: Warning upon attaching to Flipper FW

    • Priority: Medium
    • Status: Open
    • Created: 5 days ago
    • Updated: 3 days ago

Most Recently Updated Issues

  1. Issue #3877: Less granular value selection in Bluetooth HID Mouse Clicker

    • Priority: Low
    • Status: Open
    • Created: 7 days ago
    • Updated: 7 days ago
  2. Issue #3876: Mouse Clicker Should have a "0" value setting for "as fast as possible"

    • Priority: Low
    • Status: Open
    • Created: 7 days ago
    • Updated: 7 days ago
  3. Issue #3870: RFID not detecting some card types that other devices detect (e.g., Keysy)

    • Priority: High
    • Status: Open
    • Created: 9 days ago
    • Updated: 9 days ago
  4. Issue #3867: Flipper misidentifies Visonic_Powecode alarm signal as Dickert_MAHS.

    • Priority: Medium
    • Status: Open
    • Created: 10 days ago
    • Updated: 10 days ago
  5. Issue #3862: Unit test documentation is outdated.

    • Priority: Medium
    • Status: Open
    • Created: 14 days ago
    • Updated: 14 days ago

Important Observations

  • There are multiple reports of issues related to the NFC functionality, particularly around Mifare DESFire and Classic cards, indicating potential regressions or bugs introduced in recent firmware updates.
  • Users are actively engaging with the community by providing detailed logs and reproduction steps for their issues, which is beneficial for debugging.
  • Feature requests are prevalent, especially concerning enhancements to existing functionalities like Bluetooth and NFC capabilities.

The combination of active user engagement and the variety of reported issues suggests a dynamic development environment where both bugs and new features are being addressed continuously.

Report On: Fetch pull requests



Overview

The pull request (PR) data from the Flipper Zero firmware repository reveals a vibrant and active development environment, with a total of 35 open PRs. The contributions span various features, bug fixes, and enhancements, reflecting ongoing efforts to improve functionality and user experience.

Summary of Pull Requests

Open Pull Requests

  • PR #3893: Put errno into TCB
    Created by porta (portasynthinca3) 0 days ago. This draft PR introduces a mechanism to save errno in the Task Control Block using FreeRTOS features. It also includes an errno fuzzer for testing. Verification involves running the errno_test application.

  • PR #3892: Fix USB-UART bridge exit screen stopping the bridge prematurely
    Created by porta (portasynthinca3) 2 days ago. This PR addresses a bug where the exit confirmation screen for the USB-UART bridge would prematurely stop the bridge without user input. It includes verification steps for proper functionality.

  • PR #3885: Add API to enforce ISO15693 mode
    Created by Aaron Tulino (aaronjamt) 5 days ago. This draft PR adds an API to enforce a specific parsing mode for NFC applications, aiming to enhance stability and reliability during card emulation.

  • PR #3881: FuriThread: Improve state callbacks
    Created by Silent (CookiePLMonster) 5 days ago. This PR refines thread state callbacks within the FuriThread implementation, ensuring safe memory release during state transitions.

  • PR #3861: Software SPI
    Created by porta (portasynthinca3) 14 days ago. This PR introduces a Software SPI library and a testing application, improving communication capabilities for connected devices.

  • PR #3850: Added the ability to change the display brightness from the Lock Menu
    Created by Jan Wiesemann (janwiesemann) 22 days ago. This PR enhances UI functionality by allowing users to adjust display brightness directly from the Lock Menu.

  • PR #3841: JS modules
    Created by porta (portasynthinca3) 29 days ago. This PR adds new JavaScript modules for GUI and event handling, along with documentation and example scripts.

  • PR #3840: GUI: NumberInput small improvements
    Created by WillyJL (Willy-JL) 29 days ago. This PR refines the NumberInput UI component, allowing it to start empty when initialized with zero.

  • PR #3822: MIFARE Classic Key Recovery Improvements
    Created by Nathan N (noproto) 39 days ago. This draft PR enhances key recovery methods for MIFARE Classic cards, improving performance and functionality.

Closed Pull Requests

  • PR #3889: Release candidate
    Closed without merging; created as a release candidate but not integrated into the main branch.

  • PR #3879: Desktop: Sanity check PIN length for good measure
    Merged; this PR adds checks to ensure that PIN lengths are valid within specified limits.

Analysis of Pull Requests

The current set of open pull requests highlights several key themes in ongoing development efforts:

  1. Feature Enhancements: Many PRs focus on adding new features or enhancing existing functionalities, such as software SPI support (#3861), improved UI elements (#3850), and new JavaScript modules (#3841). These enhancements reflect a commitment to expanding the capabilities of the Flipper Zero device and improving user experience.

  2. Bug Fixes and Stability Improvements: A significant number of open PRs address bugs or stability issues, including fixes for USB-UART bridge behavior (#3892), improvements in thread management (#3881), and enhancements in NFC protocol handling (#3885). This focus on stability is crucial for maintaining user trust and ensuring reliable operation of the device.

  3. Community Engagement and Contribution: The variety of contributors, including both seasoned developers and newer contributors, indicates an active community around the Flipper Zero project. The presence of detailed verification steps in many PRs suggests a collaborative approach to development, where contributors are encouraged to test their changes thoroughly before merging.

  4. Documentation and Code Quality: Several PRs emphasize improving documentation and code quality, such as those that introduce new APIs or modify existing ones (#3836). This focus on documentation is essential for fostering community engagement and ensuring that future developers can easily understand and contribute to the codebase.

  5. Long-standing Issues: Some older pull requests remain open or have been closed without merging, indicating potential challenges in reaching consensus on certain features or design choices. For instance, PRs related to NFC functionality (#3828) show that while there is enthusiasm for adding new features, there may be complexities involved in integrating them smoothly into existing systems.

In conclusion, the current landscape of pull requests reflects a dynamic development environment characterized by active feature enhancement efforts, rigorous bug fixing, community engagement, and an ongoing commitment to code quality and documentation. However, attention should be given to resolving older issues and ensuring that all contributions align with project goals to maintain momentum in development efforts.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Recent Contributions

  1. RebornedBrain

    • Recent Activity:
    • Fixed FeliCa anti-collision logic and unit tests, collaborating with Aleksandr Kutuzov.
    • Addressed GProxII card detection issues.
    • Files Modified: 38 files with significant changes.
  2. Zinong Li

    • Recent Activity:
    • Worked on fixes for LFRFID GProxII writing and rendering conflicts.
    • Improved GProxII Wiegand checks and parsing.
    • Files Modified: 3 files with minor changes.
  3. Silent (CookiePLMonster)

    • Recent Activity:
    • Refactored FuriTimer for better event handling.
    • Replaced unsafe string functions with safer alternatives across various applications.
    • Files Modified: Multiple files across various components.
  4. Christhetech131

    • Recent Activity:
    • Added support for TCL 75S451 in the infrared remote application.
    • Files Modified: 1 file with substantial changes.
  5. Eric Betts (bettse)

    • Recent Activity:
    • Renamed 'Detect Reader' to 'Extract MF Keys' and updated related documentation.
    • Files Modified: 2 files with minor changes.
  6. Thomas Nemer (thomasnemer)

    • Recent Activity:
    • Added resource files for a Linux/GNOME BadUSB demo.
    • Files Modified: 2 new files added.
  7. Portasynthinca3 (porta)

    • Recent Activity:
    • Engaged in extensive refactoring and feature additions related to JS modules, including text box functionalities and GUI enhancements.
    • Merged multiple branches and addressed PVS warnings.
    • Files Modified: Over 100 files with extensive changes.
  8. Astra (Astrrra)

    • Recent Activity:
    • Contributed to various bug fixes and enhancements, including improvements in infrared operations and error handling in NFC applications.
    • Files Modified: Multiple files across different applications.
  9. WillyJL (Willy-JL)

    • Recent Activity:
    • Fixed various issues related to desktop settings and GUI elements.
    • Files Modified: Several files with minor adjustments.
  10. Valera Olexienko (valeraOlexienko)

    • Recent Activity:
    • Added support for Airwell AW-HKD012-N91 in infrared applications.
    • Files Modified: 1 file with substantial changes.
  11. Hedger

    • Recent Activity:
    • Focused on compatibility fixes and improvements in the build process, particularly regarding clang-related issues.
    • Files Modified: Several configuration files.
  12. Kidbomb

    • Recent Activity:
    • Refactored CCID app code for better structure and reliability.
    • Files Modified: Multiple files with significant changes.
  13. Skorpionm

    • Recent Activity:
    • Worked on fixes related to SubGhz functionality and UI improvements.
    • Files Modified: Several files with minor adjustments.

Patterns, Themes, and Conclusions

  • The development team is actively engaged in both feature development and bug fixing, indicating a balanced approach to maintaining the firmware's functionality while enhancing its capabilities.
  • Collaboration is evident among team members, as many commits include co-authorship, suggesting a strong team dynamic and knowledge sharing.
  • Recent activities show a focus on improving user experience through GUI enhancements, error handling, and adding new device support (e.g., infrared remotes).
  • The frequency of commits from members like Portasynthinca3 highlights ongoing efforts to refine the JavaScript integration within the firmware, indicating an expansion of capabilities beyond core functionalities.
  • Overall, the project demonstrates robust activity levels, reflecting a commitment to community-driven development and responsiveness to user feedback through issue resolution and feature requests.