FURI App development - Somfy RTS Remote

I am looking into developing a Somfy RTS Remote app as adding a remote to the Sub-GHz app does not seem to be the right approach given that I would like to control seven blinds and one automatic awning.

Having looked around on the web a bit on the web, I think I have a fair idea on how to do the UI, but so far I am at a loss on the radio part.

It would be great if anybody could help me by providing an approach, i.e. a rough sketch, on how to go about adding Flipper support for sending RTS commands.

Any pointers to relevant parts in the source code of the Flipper Zero firmware or references to example FURI apps is also welcome!

Questions I have include:

  • Should I add a codec and somehow use the FURI API?
  • Should I somehow write code directly for the MCU without using the FURI API?

Regarding the last point, the projects like Somfy Remote Lib that targets ESP8266 and ESP32 devices, but here we are dealing with a more generic MCU (ARM).

Please note that although I have extensive programming experience, I am new to embedded development, so there are gaps in my understanding here.

I would try to understand one of the home automation projects. For Somfy RTS in particular the RFLink project could be interesting. For example: https://stef-aap.github.io/RFLink-ESP/RFLink-ESP%20Rolling%20Code.html

As I switched to Somfy IO, I have no overview about the latest RTS developments.

1 Like

The real issue is not the details of the RTS protocol, the issue is more how to modulate the radio signal with or without the Flipper API (FURI). I mean, how do I tell FlipperZero to send out a signal on 433.42 MHz or for that matter any signal on any frequency?

I assume that this is quite different on the Flipper STM ARM-based hardware compared to the ESP32 and ES8266 MCU’s that most home automation projects are written for. Once I figure out how to send out a radio-pulse on the right frequency for FlipperZero, these projects will certainly help.

I know that the standard answer is to read the FlipperZero firmware code, so… I guess this is what I should do… :slight_smile: It’s just that there is a lot of it, and from what I gather it is not that straightforward as I am trying to write an app and not “just” extend the firmware.

Anyhow, thanks a lot for the input - as stated, any hints are welcome!

1 Like

Short version is that you communicate with CC1101 over SPI and tell it what to do. Datasheet for CC1101 is linked from docs.
Long version is that Flipper provides radio API in lib/subghz/*.h, and usage examples are in applications/main/subghz/
Role of specific MCU is not that significant, except maybe I/O config for SPI.

2 Likes

I will take a closer look on the subghz module and the information about the CC1101 transceiver should certainly help - thanks!

2 Likes

Thanks - this will help me get going, I think.

1 Like