Flipper Zero
Last updated
Last updated
Flipper Zero is a portable Tamagotchi-like multi-functional device developed for interaction with access control systems. The device is able to read, copy, and emulate radio-frequency (RFID) tags, radio remotes, iButton, and digital access keys, along with a GPIO interface. It was first announced in August 2020 through the Kickstarter crowdfunding campaign, which raised $4.8M. The first devices were delivered to backers 18 months after the completion of the crowdfunding campaign. The device's user interface embodies a pixel-art dolphin virtual pet. The interaction with the virtual pet is the device's core game mechanic. The usage of the device's functions defines the appearance and emotions of the pet.
Radio Frequency (RF) Tools: Flipper Zero has built-in RF capabilities, allowing it to perform tasks such as sniffing, jamming, and replaying RF signals. It supports a wide range of frequencies and protocols, making it suitable for analyzing and manipulating wireless communication.
Hardware Hacking: Flipper Zero includes features for hardware hacking, such as interfacing with and controlling different devices through various interfaces like I2C, SPI, UART, and more. This makes it useful for analyzing and interacting with electronic devices at a low-level.
Software Development: Flipper Zero provides a platform for developing and running custom software. It has an open-source firmware and supports multiple programming languages, allowing users to create their own applications, scripts, and tools tailored to their specific needs.
Security Tools: Flipper Zero includes a set of security tools and utilities, such as password cracking, signal analysis, and firmware extraction. These tools can be used for testing the security of devices, networks, and systems.
User-friendly Interface: Flipper Zero features a compact display and a user-friendly interface with a navigation wheel and buttons. This allows for easy navigation and interaction with the device's features and functions.
Community and Expansion: Flipper Zero has an active and supportive community, with regular firmware updates, tutorials, and documentation. It also offers expandability through various add-on modules and accessories, providing users with additional capabilities and functionalities.
The electronic schematics and firmware of the Flipper Zero project are open-sourced under the GNU General Public License. At the same time, the device does not fit into the open-source hardware category because the printed circuit boards are not open-sourced, which does not allow enthusiasts to make their own copies of the device without a basic knowledge of electrical engineering
Flipper Zero is based on a dual-core ARM architecture STM32WB55 microcontroller, which has 256 Kb of RAM and 1 MB of Flash storage. The first core is 64 MHz Cortex-M4 runs the main firmware. The second core is 32 MHz Cortex-M0 runs STMicroelectronics proprietary firmware that implements Bluetooth Low Energy protocol. For radio transmitting and receiving in the 300–900 MHz radio frequency range, a Texas Instruments CC1101 chip is used, which supports amplitude-shift keying (ASK) and frequency-shift keying (FSK) modulations. Unlike software-defined radio, the CC1101 chip cannot capture raw radio signals. This limitation requires the user to pre-configure the modulation parameters before receiving a radio signal, otherwise, the signal will be received incorrectly.
Flipper Zero Firmware Architecture
The Flipper Zero firmware is based on the FreeRTOS operating system, with its own software abstraction over the hardware layer. The firmware is mostly written in the C programming language, with the occasional use of C++ in third-party modules. The system uses multitasking in combination with an event-driven architecture to organize the interaction of applications and services executed in a single address space and communicate through a system of queues and events. The system can be executed from both random-access memory (RAM) and read-only memory (ROM). Execution from RAM is used to deliver over-the-air (OTA) firmware updates.
The firmware consists of the following components:
FuriCore – provides an API for interaction with the scheduler and multithreading. FuriCore abstracts and extends the functionality of the FreeRTOS scheduler and adds additional system primitives.
FuriHal – provides an API for interaction with hardware.
Services and applications – the main functionality of the device. Sub-GHz, Infrared, RFID, NFC, etc are applications for user interaction. Graphical user interface (GUI), command-line interface (CLI), Notification, Storage, etc are additional APIs for application development.
A set of libraries and drivers - that covers various communication protocols, device drivers, file system drivers, and developer tools.
User and system data is stored in built-in flash memory, which is based on the little library. Interaction with the file system on the SD card is implemented using the FatFs library.
The build system is based on the SCons tool with additional tooling written in Python. For compilation, the system uses its own open toolchain based on GNU Compiler Collection.
Thanks to David Bombal for the great video !
The M5StickC ESP32-PICO Mini IoT Development Kit is a compact and versatile development board based on the ESP32-PICO-D4 system-on-chip. It is designed to facilitate the development of Internet of Things (IoT) applications in a small form factor.
Key Features of the M5StickC ESP32-PICO Mini IoT Development Kit:
ESP32-PICO-D4 Chip: The board is powered by the ESP32-PICO-D4, which combines an ESP32 microcontroller, Wi-Fi and Bluetooth connectivity, and various peripheral interfaces in a single chip.
Compact Design: The M5StickC is small and portable, making it suitable for wearable devices and projects with space constraints. It features a 0.96-inch color display and a built-in lithium battery for on-the-go development.
Integrated Sensors: The board includes several built-in sensors, such as an accelerometer, gyroscope, magnetometer, and infrared (IR) transmitter. These sensors enable motion detection, orientation sensing, and remote control capabilities.
Wi-Fi and Bluetooth Connectivity: The ESP32-PICO-D4 chip provides Wi-Fi and Bluetooth connectivity, allowing for seamless integration with wireless networks and communication with other devices.
Expansion Options: The M5StickC features a 5-pin GROVE connector that enables easy connection to a wide range of compatible sensors, modules, and peripherals. This expands the board's capabilities and allows for customization based on project requirements.
Programmable with Arduino IDE: The M5StickC can be programmed using the Arduino IDE, which offers a familiar and beginner-friendly development environment. This makes it accessible to users with varying levels of programming experience.
Rich Software Development Ecosystem: The M5StickC benefits from a rich ecosystem of libraries, examples, and community support. There are various resources available online to help users get started and explore different IoT applications.
ESPboy is a tiny, open-source microcontroller board that is packed with features. It is the ultimate multi-gadget, capable of being used for a wide range of purposes, including:
Programming: ESPboy can be used to program other microcontrollers, such as Arduino and ESP8266. This makes it a valuable tool for hobbyists and makers who want to create their own custom devices
IoT: ESPboy can be used to connect to the internet and control IoT devices. This makes it a powerful tool for home automation and industrial control applications
Games: ESPboy can be used to develop and play games. This makes it a great platform for hobbyists and gamers who want to create their own unique experiences
Learning: ESPboy can be used to learn about electronics, programming, and the IoT. This makes it a great platform for students and educators who want to explore these topics in a hands-on way
ESPboy is a versatile and powerful device that can be used for a wide range of purposes. It is the perfect choice for hobbyists, makers, students, and educators who want to learn and create.
Here are some specific examples of how ESPboy can be used:
Create a smart home system: ESPboy can be used to control lights, thermostats, and other smart home devices
Develop a new IoT product: ESPboy can be used to prototype and develop new IoT products
Build a custom game controller: ESPboy can be used to build a custom game controller for your favorite games
Learn about electronics and programming: ESPboy can be used to learn about electronics and programming through hands-on projects
ESPboy is a great platform for anyone who wants to learn and create. It is versatile, powerful, and affordable. If you are looking for a multi-gadget that can do it all, ESPboy is the perfect choice for you.