"Sonoff iHost" (smart home hub/computer) from ITead - Can it be hacked to run Home Assistant OS with Bluetooth, Thread/Matter, and ZHA integrations?

Here is a quick update on this, Ive been chipping away at this, getting all the peripherals to work.

So far I have the following working

  • Ethernet
  • Wifi
  • Bluetooth
  • Zigbee
  • yc1175 Indicator (but still needs a custom integration to work within HA)
  • USB including a login console/terminal on the OTG (Power) port

Whats not working yet

  • Sound
  • OTA updates

If anyone would like to help test some early images, before I publish them publicly, let me know. However as there are no upgrades just yet, may require popping the cover off iHost to access internal maskRom button.


Thanks for the update. Sounds great! I have an iHost I’d be willing to test with. Since I am a user with limited knowledge, I’d need a walk-through for the installation process, though.
Cheers, clfberlin

Quick question: Initial maskRom mode can be accessed through the app - Tap 7x on device-id. I assume that access to the internal maskRom button is needed for later updates?

Right now the installation process would be the same as iHost linux on ewelink forums. EDIT: Scrap that idea, the Rockchip tools dont like my images…

Eventually it will be… maskrom from app, to boot installer off sd-card which flashes eMMC.

Yes that is correct, the app based maskRom only works while you the original iHost OS. Once you flash it with anything else, if you need maskRom later, you need to use the internal button.

However additionally, if you short out the internal maskROM button (soldering would be required) you can actually run/test HAOS off the SDcard without ever overwriting the built-in OS.


That sounds great! How do I do this, please? I would still like to keep the original built-in OS because it is still iterating and upgrading, and I would love to see what the eWeLink CUBE looks like in next year! But for now I can use an SD card to run HAOS without destroying the original eWeLink CUBE system!

By shorting the 2 pads in the red box, eMMC is disabled and iHost will boot off SD card.

If you want it to always boot to sd card, just solder them together with a short wire. Or you can just short them together with tweezers or something metal for the first ~5secs during power on.

Or in my case I installed buttons, to make testing either eMMC or SD easy.


However additionally, if you short out the internal maskROM button (soldering would be required) you can actually run/test HAOS off the SDcard without ever overwriting the built-in OS.

That sounds like an interesting approach. I have a soldering station and minimal capabilities.

Id only bother if you want to option to revert back to iHost OS later.

I have installed HAOS onto the internal eMMC on mine, 8GB is obviously too small for HAOS though (initial install fits fine, but space would quickly run out with a few addons etc), so I then use the standard “data disk” feature in HAOS to move user data on sd card or USB after initial onboarding. This has the added benefit that you are not going to wear out the builtin eMMC with constant writes!

I have offline updates working now also, so atleast initially until OTA updates are working, you need the USB-A port to install updates. If data disk is also on USB would probably need a extra USB hub to support 2 usb drives while updating.


Good approach. My main intention is also to use the iHost as a device for Home Assistant. Therefore I don’t see a need to revert to the original OS.
The constant writes are a good point too.

Hey @darkxst, a new Tester is in Service now. Feel free to drop me a line once you need a fresh image tested. Thanks in advance - best regards.


Very interesting.

Could somebody explain how to create an SD card and boot linux in hardware initiated maskrom mode? Flashing the emmc image didn’t work for me.


1 Like

boot.img.xz is the installer image that will flash the eMMC, but there is no indicator setup yet, so you really need to login to debug console to see what is going on.

1 Like

Are you using Windows or Linux?
Once you enabled developer mode/maskROM, the device will either show up as maskROM device or it will boot from SD card. Once things are sorted out, I’d be glad to help with a step-by-step tutorial.

1 Like

If you enable maskROM this way, you need to erase the eMMC flash ((using Rockchip’s RKDevTool or rkdeveloptool on linux) before it will boot from SD card.

1 Like

Latest images are on github now.

Very crude docs on the wiki page, hopefully some of the early testers can help fill those out a bit more!


You are fucking awesome dude! Thanks for your work! @darkxst

Hey Buddy, i‘d like to help and tried to install this Image https://github.com/darkxst/ha-operating-system/releases/download/v11.1rc1/haos_ihost-11.1.rc1.img.xz via etcher on an SD Card. After inserting the Card and sodering the two marked wires, its just flashing red since half an Hour. :sweat_smile:

Any Suggestions?

@Schreibi The indicator is not hooked up yet on the OS image. It will always flash red unless you manually send commands to it.

However provided ethernet is connected you should get the landing page after about 10mins (it takes a while as it has to download various containers) in the usual place → http://homeassistant.local:8123

If you power your iHost from your PC, you can connect to a debug console via USB serial connection, that will give you a shell on the iHost.


Thanks for reply @darkxst. I’ll try my best in the next few hours. I wish you all a wonderful weekend.