Development
Command-line interface
you can control flipper zero through the command line interface (cli) using your computer the cli is a text based interface that allows you to read and emulate signals, run programs, manage files, and more on your flipper zero by running commands in addition, the cli offers a number of features, such as viewing the flipper zero logs, communicating with other flipper zero users via sub 1 ghz radio, and much more! on this page, you’ll learn how to access the flipper zero cli, view available commands, view logs, and chat with other flipper zero owners via sub 1 ghz radio accessing the flipper zero cli there are three methods to access the flipper zero cli method 1 using flipper lab access the cli via the flipper lab website using google chrome, microsoft edge, or other chromium based browsers that support the web serial api by doing the following quit the qflipper application if running connect your flipper zero to your computer via a usb cable on your computer, run google chrome or another chromium based browser go to lab flipper net https //lab flipper net/ > cli method 2 using the web serial terminal access the cli via the web serial terminal using google chrome, microsoft edge, or other chromium based browsers that support the web serial api by doing the following quit the qflipper application if running connect your flipper zero to your computer via a usb cable on your computer, run google chrome or another chromium based browser go to the web serial terminal set the baud rate to 230400 , then click connect select your flipper zero in the list, then click connect method 3 using a serial terminal different operating systems have different procedures for accessing the flipper zero cli via a serial terminal follow the instructions for your operating system below to access the flipper zero cli on macos via a serial terminal, you need to find the serial port your flipper zero is connected to by doing the following connect your flipper zero to your computer on your computer, open terminal and run the following command ls /dev/cu find the name of the connected flipper zero it should be /dev/cu usbmodemflip name , where name is the unique name of your device once you know the name of the connected flipper zero, you can access the cli either with the screen terminal multiplexer or the minicom communication program screen quit qflipper if running make sure that your flipper zero is connected to the computer in the terminal, run the following command screen /dev/cu usbmodemflip name don’t forget to replace name with the name of your device you found previously to quit the screen , press control+a , then k , then y minicom if you don’t have the minicom program on your computer, you can install it via homebrew install homebrew if you haven’t already by running in the terminal the following command /bin/bash c "$(curl fssl https //raw\ githubusercontent com/homebrew/install/head/install sh)" after installation, run the following command to install minicom brew install minicom once the minicom program is installed on your computer, you can finally access the cli by doing the following quit qflipper if running make sure that your flipper zero is connected to the computer in the terminal, run the following command minicom d /dev/ cu usbmodemflip name don’t forget to replace name with the name of your device you found previously to quit minicom , press esc+z , then x , then return to access the flipper zero cli on linux via a serial terminal, you need to find the serial port your flipper zero is connected to by doing the following connect your flipper zero to your computer on your computer, open the terminal and run the following command ls /dev/serial/by id/ find the name of the port it should be /dev/serial/by id/usb flipper devices inc flipper \<name> flip \<name> if00 , where name is the unique name of your device once you know the name of the port, you can access the cli either with the screen command or the minicom communication program screen quit qflipper if running make sure that your flipper zero is connected to the computer in the terminal, run the following command screen /dev/serial/by id/usb flipper devices inc flipper \<name> flip \<name> if00 don’t forget to replace name with the name of your device you found previously to quit the screen , press ctrl+a , then k , then y minicom if you don’t have the minicom program on your computer, install it using your distribution package manager once the minicom program is installed on your computer, you can finally access the cli by doing the following quit qflipper if running make sure that your flipper zero is connected to the computer in the terminal, run the following command minicom d /dev/serial/by id/usb flipper devices inc flipper \<name> flip \<name> if00 don’t forget to replace name with the name of your device you found previously to quit minicom , press ctrl+a , then x , then return if the steps above didn’t work, you may attempt to find the port name using the /dev/tty command if your flipper zero is the only device connected to the serial port, it should appear as /dev/ttyacm0 however, if there are other serial devices connected, you can find the flipper zero serial port name next to the device’s name in the qflipper application after finding the name of the serial port, you can access the cli either with the screen command or the minicom communication program to access the flipper zero cli on windows via a serial terminal, do the following on your computer, install the putty application https //www chiark greenend org uk/ sgtatham/putty/latest html quit qflipper if running connect your flipper zero to your computer via a usb cable go to device manager > ports (com & lpt) look at the com port number of your flipper zero connected if there are several com port numbers, disconnect and connect your flipper zero back to see the added port number run putty in the opened window, in the connection type , select serial in the serial line field, enter the com port number (for example, com3) in the speed field, enter 230400 click the open button to quit putty , close the application window available commands to view the list of available commands in the cli, run the ? or help command you can interact with the flipper zero cli through the following commands true false 176false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type true unhandled content type true unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type reading flipper zero logs via the cli you can read flipper zero logs via the cli by doing the following connect your flipper zero to your computer via a usb c cable access the flipper zero cli https //docs flipper net/development/cli/#hfxty set the log level you need (the log info level is set by default) and start logging to do that, run one of the following commands log logs non critical information, including warn logs log error logs only critical errors and other important messages log warn logs non critical errors and warnings, including error logs log info logs non critical information, including warn logs log default the default system log level (equivalent to info logs ) log debug logs debug information, including info logs (will impact system performance) log trace logs system traces, including debug logs (will impact system performance) you can access this list in the cli by running the log ? command interact with your flipper zero to view the logs to stop the logging process, press ctrl+c chatting with other flipper zero users in the cli, you can chat with other flipper zero users via the sub 1 ghz radio to do that, all devices have to communicate at the same frequency to chat, all participants have to do the following connect your flipper zero to your computer via a usb c cable access the flipper zero cli https //docs flipper net/development/cli/#hfxty run the command that specifies the frequency and antenna type subghz chat \<frequency in hz> \<device 0/1> where \<frequency in hz> must be in the 299999755 348000000, 386999938 464000000, 778999847 928000000 hz range some frequencies might be unavailable in your region learn more \<device 0/1> must specify if the internal antenna (0) or external antenna (1) is used for communication if connected for example subghz chat 868150000 0 enter your message and press return to quit the chat, press ctrl+c learning more about the cli commands bt true false 107,116,133false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type crypto this command allows you to encrypt and decrypt plain text with the help of the cryptographic keys in the secure enclave and initialization vector true false 107,116,133false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type where \<key slot\ int> secure enclave slot number that contains a cryptographic key by default, slots 1 through 11 have cryptographic keys used for encryption \<iv\ hex> a 16 byte initialization vector in hexadecimal generated by the user \<key type\ str> master, simple, or encrypted \<key size\ int> 128 or 256 bites \<key data\ hex> the key data in hexadecimal gpio true false 107,116,133false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type where \<pin name> pa7, pa6, pa4, pb3, pb2, pc3, pc1, pc0 ikey true false 56,120,197false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type where \<key type> and \<key data> dallas, 8 bytes long cyfral, 2 bytes long metakom, 4 bytes long info true falsefalse unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type input true false 0,0,150false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type where \<key> up, down, left, right, back, ok \<type> press, release, short, long to emulate a short press of a button, run the following commands in order input send \<key> press input send \<key> short input send \<key> release to emulate a long press of a button, run the following commands in order input send \<key> press input send \<key> long input send \<key> release otherwise, the input will be discarded ir true false 73,161,172false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type where \<protocol> nec, necext, nec42, nec42ext, samsung32, rc6, rc5, rc5x, sirc, sirc15, sirc20, kaseikyo, rca \<address> and \<command> must be in hex format \<frequency> 10000 56000 \<duty cycle> 0 100 \<remote name> tv, audio, ac, projector js true false 195,181false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type led true false 195,181false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type where <0 255> is the light value loader true falsefalse unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type log true false 101,147false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type nfc by default, there are no commands available to enable the nfc command, you need to enable debug mode on your flipper zero by running the sysctl debug 1 command in the cli true false 166,172false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type onewire true false 170,192,133false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type power true false 107,116,133false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type rfid true false 107,116,133false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type where \<key type> and \<key data> em4100, 5 bytes long em4100/32, 5 bytes long em4100/16, 5 bytes long electra, 8 bytes long h10301, 3 bytes long idteck, 8 bytes long indala26, 4 bytes long ioproxxsf, 4 bytes long awid, 9 bytes long fdx a, 5 bytes long fdx b, 11 bytes long hidprox, 6 bytes long hidext, 12 bytes long pyramid, 4 bytes long viking, 4 bytes long jablotron, 5 bytes long paradox, 6 bytes long pac/stanley, 4 bytes long keri, 4 bytes long gallagher, 8 bytes long nexwatch, 8 bytes long radio key, 6 bytes long storage the path must start with /int or /ext true false 0,122,118,117false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type subghz true false 107,116,133false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type the following commands can only be used in debug mode true false 107,116,133false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type where \<frequency\ in hz> is one of the values in the 299999755 348000000, 386999938 464000000, 778999847 928000000 hz range some frequencies might be unavailable in your region learn more \<device 0/1> 0 is the built in sub 1 ghz antenna with the cc1101 transceiver, 1 is the external sub 1 ghz antenna with the cc1101 transceiver \<te us> quantization interval in milliseconds \<iv 16 bytes inhex> a 16 byte initialization vector in hexadecimal generated by the user sysctl true false 107,116,133false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type update true false 107,116,133false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type vibro true false 107,116,133false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type false left unhandled content type
🤔
Have a question?
Our knowledgeable support team and an awesome community will get you an answer in a flash. Please leave your questions in English.
To ask a question or participate in discussions, you'll need to authenticate first.