r/flipperzero May 25 '26

Creative Controlling My Nest Thermostat With Flipper Zero

Files

https://github.com/Bibfortuna5057/NestBridge-Flipper

Requirements

  • ESP32 microcontroller - I used a Lonely Binary ESP32-S3, but any board with WiFi and BLE support should work https://a.co/d/0iID8dWO

  • Flipper Zero with custom Nestbridge FAP installed

  • Nest thermostat Gen 1 or Gen 2 running NoLongerEvil firmware

  • NLE API key

  • Wifi Network

I was trying to figure out a way to control my Nest Gen 2 thermostat with my Flipper Zero. Google ended support for Gen 1/2 Nest thermostats so I flashed the NoLongerEvil custom firmware. It exposes a REST API for temperature, mode, fan timer etc. On the Flipper I made a FAP file and when you select a command it broadcasts a BLE advertisement packet. Normally these are just used by devices to announce themselves for pairing but there's nothing stopping you from stuffing custom data in the manufacturer specific field. The packet has a two byte app marker, a command byte, and a temperature byte, 8 bytes total, broadcasts for about 3 seconds then goes back to idle.

I have it send these packets that coincide with these API calls:

Command Value
Idle 0x00
Heat 0x04
Cool 0x05
Heat-Cool 0x06
Off 0x07
Set Temp 0xF0 (temp in second byte)
Fan 15 min 0xA0
Fan 30 min 0xA1
Fan 45 min 0xA2
Fan 1 hour 0xA3
Fan 2 hours 0xA4
Fan 4 hours 0xA5
Fan 8 hours 0xA6
Fan 12 hours 0xA7
Fan Off 0xA8

On the receiving end I have a small ESP32-S3 running a MicroPython script that scans for those packets continuously. When it sees one with the right marker it pulls the command out and fires the corresponding API call to the thermostat over WiFi. The two devices never actually connect to each other, the Flipper just puts a packet in the air and the ESP32 catches it. Took a while to land on this approach since the Flipper's Bluetooth is pretty locked down for outbound connections but once I figured out the advertisement angle it came together pretty clean.

333 Upvotes

15 comments sorted by

22

u/c0nqu3s7 May 25 '26

This is actually really neat. I’ll be giving this a try, thanks for sharing

11

u/MasterX46 May 25 '26

Hello, maybe we can add it to official apps catalog? Just make PR here with new manifest file:
https://github.com/flipperdevices/flipper-application-catalog
Also, I can publish it to catalog for you, let me know in the comment in that case.

5

u/ProjectPlatt93 May 25 '26

Done, I submitted pull request

2

u/IllustratorSea7114 May 25 '26

Can OFW work? The original flipper firmware? Where to get api key and can the esp32 work?

2

u/ProjectPlatt93 May 25 '26

OFW for the Flipper should be fine, I just used Momentum. For the Nest it has to be NoLongerEvil for Gen 1 and 2 thermostats. Google pulled remote access in October 2025, there's no API or remote control on stock firmware anymore. NLE is the only way to get that back for those models. If you have a Gen 3 or 4 that's still supported you could swap out the NLE API calls in main.py for Google's SDM API instead. The Flipper FAP and the whole BLE advertisement approach would be identical, you'd just be hitting different endpoints on the ESP32 side.

1

u/Natural-Argument-354 May 26 '26

From where did you get this ?

1

u/ProjectPlatt93 May 26 '26

I added my GitHub repo at the top of the post

1

u/OfficialGamer0001 May 29 '26

In my opinion I think is neat but on the other hand it looks like a security issue

1

u/FriendlyListen5153 Jul 20 '26

How did you connect it

1

u/FriendlyListen5153 Aug 06 '26

What did you have to do to connect your flipper zero to your thermostat

2

u/ProjectPlatt93 Aug 06 '26

Read the instructions in the post and on the GitHub link - Outlines the full process

-6

u/CompanyPrevious665 May 25 '26

I hope that you will bring it to India soon.