https://github.com/lockieluke/sonoff-homekit-flasher
Easily turn your Sonoff/ESP-based devices into a HomeKit switch
https://github.com/lockieluke/sonoff-homekit-flasher
bun esp8266 homekit rust smarthome solidjs sonoff tauri typescript vite
Last synced: 3 months ago
JSON representation
Easily turn your Sonoff/ESP-based devices into a HomeKit switch
- Host: GitHub
- URL: https://github.com/lockieluke/sonoff-homekit-flasher
- Owner: lockieluke
- Created: 2024-03-23T12:45:19.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2025-06-04T22:50:16.000Z (about 1 year ago)
- Last Synced: 2025-07-20T15:24:41.485Z (11 months ago)
- Topics: bun, esp8266, homekit, rust, smarthome, solidjs, sonoff, tauri, typescript, vite
- Language: TypeScript
- Homepage:
- Size: 38.8 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# Sonoff HomeKit Flasher
Easily flash Sonoff devices with [Sonoff-Homekit](https://github.com/Gruppio/Sonoff-Homekit) firmware using [esptool](https://github.com/espressif/esptool) with a GUI.

Built with [Tauri](https://tauri.app/) and [SolidJS](https://www.solidjs.com/)
## Installation
Go to [Releases](https://github.com/lockieluke/sonoff-homekit-flasher/releases) and download the latest release
**This is an unsigned build, you might have to run the following command upon first launch on macOS:**
```shell
# App Path should be "/Applications/Sonoff Homekit Flasher.app", include the quotes for proper escaping
sudo xattr -r -d com.apple.quarantine [APP PATH]
```
On Windows, you might have to click **More Info** > **Run Anyway** on the SmartScreen warning to proceed with the installation
## Usage
On Windows, you might have to install drivers from [FTDI](https://ftdichip.com/wp-content/uploads/2021/08/CDM212364_Setup.zip) for the USB to Serial adapter to work
On macOS, it should recognise the adapter out of the box
## Build
Make sure you have [Bun](https://bun.sh/) and [Rust](https://www.rust-lang.org/) installed
### Install dependencies
```shell
bun install
```
### Build your own esptool
Building esptool is only supported on macOS at the moment, output binaries will be put into place automatically by the script
```shell
bun build:esptool
```
Make sure you a [wine-crossover](https://github.com/Gcenx/winecx), universal [Python](https://www.python.org/downloads/macos/) version, [pyinstaller](https://github.com/pyinstaller/pyinstaller), [intelhex](https://github.com/python-intelhex/intelhex) and [pyserial](https://github.com/pyserial/pyserial) installed
### Build the app
Building for macOS
```shell
bun build:macos
```
Building for Windows
```shell
bun build:windows
```
Building for Windows on Windows is not tested. To compile on macOS, make sure you have [cargo-xwin](https://github.com/rust-cross/cargo-xwin) installed