website logo
HomeShopDocsBlogForum
⌘K
Flipper Zero Documentation
Basics
🐬First start
MicroSD card setup
Firmware update
Pet dolphin
Power
Reboot
Controls
Settings
Sub-GHz
Reading signals
Reading RAW signals
Adding new remotes
Supported Sub-GHz vendors
Frequencies
125 kHz RFID
Reading 125 kHz RFID cards
Adding 125 kHz cards manually
Animal microchips
NFC
Reading NFC cards
Recovering keys with MFKey32
Unlocking cards with passwords
Writing data to magic cards
Infrared
Reading infrared signals
Using universal remotes
GPIO & modules
iButton
Bad USB
U2F (Universal 2nd Factor)
Applications
HID controllers
Flipper Mobile App
Reporting Mobile App bugs
qFlipper
Troubleshoot drivers on Windows
Development
Firmware
Hardware
Blueprints
Docs powered by archbee 

First start

The Wi-Fi module can only work in one of the Wi-Fi modes at a time. If it does not connect to a known network, you can enable Access Point mode by performing a factory reset.The Wi-Fi Debugger Module is used for debugging the Flipper Zero's firmware. To begin working with the Wi-Fi Debugger Module you'll need to install building and debugging tools on your PC, for example GDB, GCC etc. After that you can build the device's firmware, connect your device to your computer using one of the methods below and run GDB.

Installing tools to build the firmware

For the debugger to work correctly, the firmware version on the device and in the files used by the debugger should be the same. If you plan on debugging your custom firmware, you'll need to install the tools needed to build it. This option is recommended for those who don't have any experience with debugging. If you already have debug tools installed, you can get the needed debugger files from our server.

%linux%Linux
%mac%macOS

In this example Ubuntu 22.04 %linux% is used.



Commands prefixed with # should be run as root, while the ones prefixed with $ can be run as your user.

Install build-essential and make:

# apt install build-essential make libpython2.7-dev

Install arm-none-eabi-gcc 10.3.

# toolchain="gcc-arm-none-eabi-10.3-2021.10" # toolchain_package="$toolchain-$(uname -m)-linux" # wget -P /opt "https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/$toolchain_package.tar.bz2" # tar xjf /opt/$toolchain_package.tar.bz2 -C /opt # rm /opt/$toolchain_package.tar.bz2 # for file in /opt/$toolchain/bin/* ; do ln -s "${file}" "/usr/bin/$(basename ${file})" ; done

Install Python 2.7.

$ sudo apt install libpython2.7-dev

Install the libncurses5 package

$ sudo apt-get install libncurses5



For the debugger to work using USB you'll need to set up Udev deivce access rules. To do this, create the rule file:

/etc/udev/rules.d/50-black-magic-blue-pill.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="6018", GROUP="plugdev", MODE="0666" SUBSYSTEMS=="usb", ATTRS{idVendor}=="303a", ATTRS{idProduct}=="40??", GROUP="plugdev", MODE="0666"

Reload Udev rules:

# udevadm control --reload-rules && udevadm trigger



All the needed tools for building the firmware can be installed on macOS with the Brew package manager. Our repository already has a list of all the needed components in a Brewfile. Among them are GDB, gcc-arm-embedded and others.

<div class="dead flipper-callout">
    <div class="callout-header"></div>
    There is no GDB version with Python support for Apple Silicon CPUs (M1, M1 Pro, etc). </br>
    It still functions as a debugger, but you'll have to write console commands yourself.</br>
</div>


Make sure you have Brew installed. Clone the Flipper Zero repository and run the toolchain installation.

$ git clone --recursive https://github.com/flipperdevices/flipperzero-firmware.git $ cd flipperzero-firmware $ brew bundle --verbose



Pre-made debugger files

If you plan on debugging the official firmware and don't want to install the build tools, you can download all the needed files from our update server. Among them you'll find binary firmware files and an elf-file used by the debugger. Download the files:

flipper-z-f7-firmware-***.elf flipper-z-f7-full-***.bin flipper-z-f7-full-***.dfu flipper-z-f7-full-***.json

Where *** — is the required firmware version.

Place them into you local firmware repository folder/flipperzero-firmware/dist/f7.

Building the firmware

Clone the repository to your computer and build the Flipper Zero firmware:

$ git clone https://github.com/flipperdevices/flipperzero-firmware.git $ cd flipperzero-firmware $ ./fbt

Connecting to the PC

Before launching GDB, you need to choose one of the two connection methods:

%usb%USB connection
%wifi%Wi-Fi connection
Document image


Connect the module to your computer with a USB cable.

When you connect the module to your computer, two Serial ports will be detected in the system:

  • The first port that appears is used for communicating with the GDB server
  • The second port that appears is used for UART
%linux%Linux
%mac%macOS

Run ls /dev/ttyACM* in terminal to watch device list:

$ ls /dev/ttyACM* /dev/ttyACM0  /dev/ttyACM1

Port /dev/ttyACM0 is used to connect to the GDB server.

Run ls /dev/cu.* in terminal to watch device list:

% ls /dev/cu.* /dev/cu.usbmodemblackmagic1 /dev/cu.usbmodemblackmagic3

Port /dev/cu.usbmodemblackmagic1 is used to connect to the GDB server.



Document image


Wi-Fi connection has two operation modes:

  • AP — the module creates its own Wi-Fi network to which you can connect from your PC
  • STA — the module connects to an existing Wi-Fi access point



Access Point (AP)

Document image


To connect to a Wi-Fi network broadcasted by the module:

  • Power on the module by connecting it to a power source using the USB port or by plugging it into Flipper Zero
  • Connect to blackmagic Wi-Fi network using password iamwitcher
  • Use the IP address 192.168.4.1 to connect

Connect to existing network (STA)

Document image


To connect to an existing Wi-Fi network, follow these steps:

  • Power on the module by connecting it to a power source using the USB port or by plugging it into Flipper Zero
  • Connect to blackmagic Wi-Fi network using password iamwitcher
  • Navigate to 192.168.4.1 in your browser
  • Input your Wi-Fi network credentials. Choose the STA mode and set the correct SSID and password in the STA section of the settings menu. You can press the + button to quickly select an SSID of a nearby network
  • Save the settings and reboot the module
  • Now the device should be accessible in your network with the address blackmagic.local if your OS supports the mDNS protocol. If it doesn't, you'll have to figure out the module's IP address on your own.
Example settings for connecting the debugger to an existing network home_net
Example settings for connecting the debugger to an existing network home_net

  • To find your module's IP address, navigate to the SYS on the module's webpage.
Document image




Launching the debugger

Open the terminal and run the command according to your connection method:

via Wi-Fi

$ ./fbt blackmagic

via USB

$ ./fbt blackmagic

You can learn more on working with GDB on the Working with GDB page.

Factory reset

The Wi-Fi module can only work in one of the Wi-Fi modes at a time. If it does not connect to a known network, you can enable Access Point mode by performing a factory reset.

To reset the Wi-Fi Debugger Module settings:

  1. Power the module via a USB cable or by connecting it to the Flipper Zero's GPIO
  2. Press and hold the Boot button until the LED changes its color to red.
<video
    autoplay muted loop playsinline style="width: 100%; margin: auto !important;"
    src="https://cdn.flipperzero.one/flipper_wifi_reset_compressed.mp4"
></video>
<div class="text-center mt-2.5 text-gray-400 pb-5">
    
</div>


After resetting the Wi-Fi settings, the module will switch to Access Point mode and will be available by the standard network name and IP address.

Updated 05 Apr 2023
Did this page help you?
Yes
No
PREVIOUS
Wi-Fi Debugger Module
NEXT
Working with GDB
Docs powered by archbee 
TABLE OF CONTENTS
Installing tools to build the firmware
Pre-made debugger files
Building the firmware
Connecting to the PC
Access Point (AP)
Connect to existing network (STA)
Launching the debugger
via Wi-Fi
via USB
Factory reset

Community

Kickstarter Habr.com Discord Forum Blog

For developers

Documentation GitHub Design Guide

Distributors

Lab401 Joom How to buy Become a Partner

About

Contacts Compliance Company Abuse Report Privacy Policy

Copyright © 2023 Flipper Devices Inc.