flipper-zero-tutorials/subghz/protocols/x10/README.md
2023-01-11 14:45:03 -05:00

2.5 KiB

X10 Decoder

Introduction

This is a protocol decoder for the Flipper Zero to decode the X10 series of devices when doing a read from the Sub-GHz menu.

Validation

NOTE: As an Amazon Associate I (CodeAllNight) earn from qualifying purchases from the amzn.to links below.

The code was tested with the "X10 Camera Control System Remote Control Model CR12A" which you can purchase from https://amzn.to/3issZPs and should also be compatible with signals from https://amzn.to/3QEF7cM

The receiver I used is no longer for sale, but a similar module can be purchased from https://amzn.to/3CFWy6M

The House (Channel) is A-P setting. The Unit (Button) is 1-16 setting (slider switches between 1-8 and 9-16). The signal is "On" or "Off". For each channel there is also a "Dim" or "Bright".

The signal is broadcast at 310MHz with a modulation of AM650.

Installation Directions

This project is intended to be overlayed on top of an existing firmware repo.

  • Clone an existing flipper zero firmware repo
  • Build the firmware
  • Deploy the firmware
  • Confirm the firmware is working properly
  • Add the x10.c file to the \lib\subghz\protocols folder
  • Add the x10.h file to the \lib\subghz\protocols folder
  • Update the \lib\subghz\protocols\protocol_items.h file
    • After all of the other #include statements add the following line:
    #include "x10.h"
    
  • Update the \lib\subghz\protocols\protocol_items.c file
    • After all of the other &subghz_protocol_{name}, entries add the following:
      &subghz_protocol_x10,
    
  • NOTE: Your updated files should look similar to the protocol_items.c and protocol_items.h in this project.
  • Build the firmware
  • Deploy the firmware

Running the updated firmware

These directions assume you are starting at the flipper desktop. If not, please press the back button until you are at the desktop.

  • Press the OK button on the flipper to pull up the main menu.
  • Choose "Sub-GHz" from the menu.
  • Choose "Read" from the sub-menu.
  • Choose the "Config" option (Click the left arrow)
  • Change the frequency to 310.00 (Click the left arrow multiple times)
  • Confirm that Hopping is OFF.
  • Confirm the Modulation is AM650.
  • Press the BACK button.
  • The flipper should say "Scanning... and show 310.00 AM 00/50"

Click a button on your X10 remote.

The flipper should show "X10 <some code>"

  • Press the OK button on the flipper It should show the Channel, Button number and the kind of button (ON/OFF/DIM/BRIGHT).