Prerequisites
Youโll need:- Linux computer or macOS
- โ ๏ธ Windows is NOT supported (including WSL)
- Nest Generation 2 thermostat
- Check for green bubble level on back plate (not blue)
- Micro USB cable (data-capable, not charging-only)
- Build tools and dependencies installed
Step 1: Clone Repository
Clone the repository:Step 2: Install Dependencies
- Ubuntu/Debian
- macOS
Step 3: Build omap_loader
Build the USB flashing tool:Step 4: Start the Installer
IMPORTANT: Start the installer BEFORE rebooting your thermostat into DFU mode.For macOS users: You may need to grant USB permissions. If you encounter permission issues, check System Preferences โ Security & Privacy.
Step 5: Enter DFU Mode
Follow these steps carefully:- Charge the device - Ensure your Nest Thermostat is properly charged (at least 50% battery recommended)
- Remove from wall - Remove the Nest from its back plate/wall mount
- Connect via USB - Plug the Nest into your computer using a micro USB cable
- Wait for the installer - Make sure the
install.shscript is running and waiting - Reboot the device - Press and hold down on the display for 10-15 seconds until the device reboots
- DFU mode active - Once it reboots, the device will enter DFU mode and the installer script will recognize it and begin flashing
Step 6: Wait for Boot
After the firmware is flashed successfully, you should see the No Longer Evil logo on the device screen. Important:- Keep the device plugged in via USB
- Wait for the device to complete its boot sequence (this may take 3-4 minutes)
- Do not disconnect or power off the device during this time
Step 7: Register Account
Once the device has fully rebooted:- Visit https://nolongerevil.com in your web browser
- Register an account (or sign in if you already have one)
- Navigate to your Dashboard
Step 8: Link Your Device
To link your Nest device to your No Longer Evil account:- On your Nest device, navigate to: Settings โ Nest App โ Get Entry Code
- The device will display a unique entry code
- Enter this code on the No Longer Evil dashboard
- Your device is now linked and ready to use!
Step 9: Reinstall on Wall
Once everything is working:- Align the Nest with the backplate on the wall
- Push gently until it clicks into place
- The device will reconnect to HVAC power and charge
๐ Success!
Your Nest Thermostat is now running No Longer Evil and connected to your account!What Gets Flashed
The firmware installation process installs three components:- x-load.bin - First-stage bootloader (X-Loader for OMAP)
- u-boot.bin - Second-stage bootloader (Das U-Boot) loaded at address 0x80100000
- uImage - Linux kernel image loaded at address 0x80A00000
Something Went Wrong?
Device won't enter DFU mode
Device won't enter DFU mode
Firmware installer doesn't detect device
Firmware installer doesn't detect device
Thermostat won't boot after flashing
Thermostat won't boot after flashing
See Boot Issues
Entry code doesn't work
Entry code doesn't work
Device won't connect to WiFi
Device won't connect to WiFi
See Network Issues
Credits & Acknowledgments
This project builds upon the excellent work of several security researchers and developers:- grant-h / ajb142 - omap_loader, the USB bootloader tool used to flash OMAP devices
- exploiteers (GTVHacker) - Original research and development of the Nest DFU attack, which demonstrated the ability to flash custom firmware to Nest devices gen 1 & gen 2
- FULU and all bounty backers - For funding the Nest Learning Thermostat Gen 1/2 bounty and supporting the right-to-repair movement
Get Help
Join our Discord community or open a GitHub issue for assistance