Flipper Zero - A developer's first look
Imagine having open-source hardware that can interface with millions of devices and systems around the world. Then imagine this unit is small enough to fit in your pocket and has a "super cute" resemblance to Tamagotchi pets!?
While exploring the capabilities, I found development workflow somewhat unclear from the docs and the project's README. I wrote this post and sample app to help others get up and running quickly.
Let's dive in and check out the Flipper Zero and explore how to develop an app with it! ๐ฅณ๐ฌ
What is the Flipper Zero??
"Flipper Zero is a portable multi-tool for pen-testers and geeks in a toy-like body." ~FlipperZero.com
This tiny device is packed with sensors and antennas combined together. You can use it for IoT hacking in addition learning how radio frequencies, access keys, and IR-controlled devices function. The Flipper Zero can be extended with GPIO pins, USB-C port, and a Micro-SD card reader.
The intuitive display and 5-button directional pad are straightforward with no expert navigation required. Flipper's capabilities are baked into the game-like interface with a delightful dolphin that grows happier as you test and hack.
What are the main features of the Flipper Zero?
What's possible with the Flipper Zero straight out of the box?
- The Sub-1 GHz transceiver can record and transmit radio signals originating from access control systems, security gates, and IoT sensors
- A 125 kHz RFID reader / transmitter can record and emulate signals coming from RFID proximity cards (For exmaple your gym access card)
- The Flipper Zero can emulate NFC devices such as a tap-to-pay credit card via the built-in NFC reader/writer
- Bluetooth is built in -- I love using it during presentations as my handheld presentation clicker
- Misplace your TV remote control? Utilize the Infrared transceiver inside the Flipper Zero to find it quickly
- The GPIO interface lets you connect to other hardware, flash the EEPROM, and debug electrical signals
- and all this is just a sampling of what's possible ๐คฏ
Setup
For reference, the official first start guide for Flipper Zero is here: https://docs.flipperzero.one/development/hardware/wifi-debugger-module/first-start
For this guide, we'll go step by step to get up and running.
Step 0: Clone the Flipper Zero firmware repository
Head over to github.com/flipperdevices and clone the firmware's repo:
$ git clone --recursive https://github.com/flipperdevices/flipperzero-firmware.git
Step 1: Install Python dependencies
To start building, you need several python packages. Make sure you have already installed both the python and pip libraries on your machine. If needed, you can install them via these guides:
Once these are installed, we can go into the firmware directory and we'll be able to download the rest using the command:
$ pip3 install -r scripts/requirements.txt
Step 2: Run the FBT
Once installed, we'll be using Flipper's 'building system, known as the "Flipper Build Tool (FBT)". Developers utilize FBT as a command line tool from within the firmware repo's root directory.
You can now launch the command ./fbt
to build the firmware.
$ cd flipperzero-firmware
$./fbt
Step 3: Launching the USB flash
Once setup is complete the Flipper Zero firmware is ready to install by connecting it via USB-C to your computer and launching the command ./fbt flash_usb
Once these steps are complete, we're now ready to start developing our app.
We will develop our first Hello World app in the next episode ๐จโ๐ป๐ฉโ๐ป!
Conclusion
We just started to discover the Flipper Zero. If you're looking to buy one, there's several places where they are on sale. The best place to start searching is at shop.flipperzero.one/products/flipper-zero
If you have questions or looking to build something new, you can reach me on Twitter or in the Discord community for Flipper Zero.
Have fun and happy hacking!