Home

Awesome

flipper-zero-sao

Description

This project is for using the Flipper Zero to debug SAO devices. We use JavaScript on the Flipper Zero to interact with the various SAO devices. JavaScript is 500-800 times slower than C, but it has the advantage that we can update our script without needing a computer to compile our code!

You can update scripts using a bluetooth connected mobile phone (run the Flipper Zero mobile app and choose Options/File Manager/ext/apps/Scripts/SAO), or using a text editor directly on the Flipper Zero. This is especially useful for quickly iterating or making minor tweaks to existing scripts.

You can use BadgeLife SAO Debug Tool from Thomas Flummer! I recommend adding a jumper between pins 3 and 5 so that SPI output can be used. I validated that SK9822 LEDs can be controlled when pin 3 and 5 are connected together.

Features

Supported modules:

Future modules:

Installation

Running Samples

Custom Firmware

NOTE: These steps are only required if you want to control WS2812B RGB LEDs!

First clone and build the Momentum firmware:

(NOTE: If you are running a Windows Command Prompt, use fbt instead of ./fbt)

git clone --recursive https://github.com/next-Flip/Momentum-Firmware.git
cd Momentum-Firmware
./fbt vscode_dist
./fbt updater_package

Next, overlay the files from the js_app folder in this repository to the Momentum firmware files in the applications/system/js_app folder.

Make sure your Flipper Zero is plugged in to your computer, and that qFlipper and lab.flipper.net are not running. Then the following command to build and deploy the firmware to your Flipper Zero:

./fbt COMPACT=1 DEBUG=0 FORCE=1 flash_usb_full 

Support

Feel free to reach out to me on Discord. My username is @codeallnight and you can also tag me on any of the Flipper Firmware servers.

Support my work by buying me a coffee!