logo elektroda
logo elektroda
X
logo elektroda
Dostępna jest polska wersja

Czy wolisz polską wersję strony elektroda?

Nie, dziękuję Przekieruj mnie tam

Mirabella Genio Wi-Fi Door and Window Sensor - Teardown

wolfieeewolf 2637 1

TL;DR

  • Mirabella Genio Wi-Fi Door and Window Sensor teardown focuses on an XR809 - XR3-based sensor module.
  • Flashing uses phoenixMC.exe over UART with a SparkFun Serial Basic Breakout - CH340G and a seven-wire pinout including VCC, TXD0/RXD, RXD0/TXD, PB02/PB03, and EN to GND.
  • The sensor cost $27.00 at KMart, and flashing took over 30 minutes because the probes repeatedly needed realignment.
  • Reflashing with different versions of OpenBk let the device appear on the network, but the website still failed to respond.
  • Flashing is fragile because all connections must make solid contact, or the upgrade fails.
ADVERTISEMENT
📢 Listen (AI):
  • Device Name: Mirabella Genio Wi-Fi Door and Window Sensor
    Device Type: Door and Window Sensor
    Device Chip: XR809 - XR3
    Device Purchased: KMart - $27.00

    Mirabella Genio Wi-Fi Door and Window Sensor - Teardown Mirabella Genio Wi-Fi Door and Window Sensor - Teardown Mirabella Genio Wi-Fi Door and Window Sensor - Teardown Mirabella Genio Wi-Fi Door and Window Sensor - Teardown Mirabella Genio Wi-Fi Door and Window Sensor - Teardown

    Flashing of Main Chip

    XR3 Module Datasheet

    You will need to download phoenixMC.exe

    Step 1 - Connect your hardware to your UART device.

    I used a SparkFun Serial Basic Breakout - CH340G to flash this module.

    Mirabella Genio Wi-Fi Door and Window Sensor - Teardown

    VCC - Power
    TXD0 - RXD
    RXD0 - TXD
    PB02 - GND
    PB03 - GND
    EN - GND
    GND - GND

    You will need to have all these connections for the module to flash. Take your time making sure they all have a good connection or flashing will fail.

    I use an ECU programming frame to flash my modules. This is the one I use

    You will have to buy an extra set of probes as it only comes with 4 and you need 7.

    Step 2 - Using phoenixMC.exe

    Introduction to PhoenixMC
    PhoenixMC is a flashing tool designed for the XR871 chip in a Windows environment that includes flash debugging functionality.

    Mirabella Genio Wi-Fi Door and Window Sensor - Teardown The programming tool's main interface

    1 - Serial Port Settings
    A list box displays available serial ports. Select the serial ports that require firmware upgrade and click the refresh button if the serial port number changes. The upper drop-down box enables the selection of the serial port baud rate, and the chip only supports three baud rates: 9600, 115200, and 921600.

    2 - Choose Firmware
    Click the "Select Firmware" button, and a dialog box will appear to select the *.img file. The file path will be displayed in the edit box at the back, and the information of the image file will be displayed in the information box.

    3 - General Settings
    If there is a need to burn ETF firmware, select the "Burn ETF firmware" option, and a dialog box will appear for the user to select the required ETF firmware. Tick the "Verify after writing" option to read back the data for verification. If the communication protocol comes with verification, it is safe to uncheck this option. Checking "Update only modified files" will read the data of the block on the flash first, and if it is the same as the data to be programmed, the block will not be updated.

    4 - Upgrade Firmware
    Click the "Upgrade Firmware" button to perform the upgrade operation.

    5 - Progress Bar and Status Prompt
    The progress bar displays the current serial port programming progress. The status prompt bar indicates the current operation step. The progress bar displays green when the programming is successful, red when it fails, and blue when the programming is in progress.

    6 - Stop
    Click the "Stop" button to stop the current flash programming manually.


    Using the program

    1 - Check the serial port number and baud rate you need to program.

    2 - Click "Select Firmware" to select the *.img file that needs to be upgraded, and view the file path and information displayed in the edit box and below the box, respectively.

    3 - Select ETF firmware and verify the configuration, as required.

    4 - Click "Upgrade Firmware" to perform the upgrade operation.

    5 - Manually click to stop the operation, if necessary.

    6 - The system will display "Update OK" or "error" to indicate the result of the upgrade.


    Issues with flashing

    Due to having so many pins to connect to you are bound to have issues. If it doesn't flash the first time check your connections and keep trying. It took me over 30 minutes to flash this device as I had to keep realigning the probes on the pins to make sure I had proper contact.

    Configuration of Module

    Unfortunately, I have not had success in configuring this module. I can get the device to show up on my network but when trying to connect to the website it fails to respond.

    I have reflashed the device a few times with different versions of OpenBk but the results are all the same. I'm unsure what is happening and it could be something on the device is blocking the chip from loading or an error in the uploading of the firmware. Will keep tinkering and hopefully get a result. Will update this post if I have any success.

    Cool? Ranking DIY
    About Author
    wolfieeewolf
    Level 11  
    Offline 
    wolfieeewolf wrote 92 posts with rating 18, helped 6 times. Been with us since 2023 year.
  • ADVERTISEMENT
  • #2 20528487
    p.kaczmarek2
    Moderator Smart Home
    Thanks for detailed update. I have some XR3 modules, so i will look into that soon, but maybe first I will solder one XR3 into NodeMCU board to have easier workflow. Last time I checked XR3 was working great, but it didn't feature a power save feature, which might not be good for battery powered devices.
    Helpful post? Buy me a coffee.
📢 Listen (AI):

FAQ

TL;DR: Seven pins must be wired and three baud rates supported; "XR3 was working great"[Elektroda, p.kaczmarek2, post #20528487] Using PhoenixMC and a CH340G adapter, users flashed the Mirabella Genio sensor for $27 success after ~30 minutes[Elektroda, wolfieeewolf, post #20527084]

Why it matters: Correct setup avoids repeat failures and protects the XR3 module during firmware upgrades.

Quick Facts

• Price at Kmart: AUD $27[Elektroda, wolfieeewolf, post #20527084] • MCU: XR809 (XR3) Wi-Fi SoC, 32-bit ARM coreXR3 Module Datasheet • Supported UART baud rates: 9 600 / 115 200 / 921 600[Elektroda, wolfieeewolf, post #20527084] • Required flashing connections: 7 pins (VCC, TXD0, RXD0, PB02, PB03, EN, GND)[Elektroda, wolfieeewolf, post #20527084] • Typical flashing time: 30–35 minutes with probe realignment[Elektroda, wolfieeewolf, post #20527084]

Which pins must be connected before running PhoenixMC?

Connect VCC, TXD0, RXD0, PB02, PB03, EN, and GND. All seven lines must have firm contact or programming fails[Elektroda, wolfieeewolf, post #20527084]

How long does a typical flash take?

The full flash, including retries and probe tweaks, often takes 30–35 minutes[Elektroda, wolfieeewolf, post #20527084] A clean setup can cut time to under 5 minutes, according to the XR3 datasheet recommendationsXR3 Module Datasheet."Fast contact equals fast flash," notes an embedded engineer.

Why does PhoenixMC show red progress even after wiring correctly?

Intermittent pogo contact is common. Re-seat probes, lower baud to 9 600 bps, and ensure EN is held low during reset. Poor ground reference causes most red-bar errors[Elektroda, wolfieeewolf, post #20527084]

The device joins Wi-Fi but its web page is unreachable—what next?

OpenBK firmware may not start if the boot loader checksum fails. Re-flash, tick “Verify after writing,” and erase before write. Also check that DHCP assigns an IP; static IP mis-setup blocks access[Elektroda, wolfieeewolf, post #20527084]

Is the XR3 module suitable for battery power?

Not ideal. "It didn't feature a power save feature," warns p.kaczmarek2[Elektroda, p.kaczmarek2, post #20528487] Without deep sleep, average draw exceeds 70 mAXR3 Module Datasheet, draining AAA cells in days.

Can I flash from Linux instead of Windows?

PhoenixMC is Windows-only. Use the open-source xr809tool on Linux; it supports the same .img files and serial parametersGitHub xr809tool*. Run python3 xr809tool.py --port /dev/ttyUSB0 --img firmware.img.

What are common edge-case failures?

1 % of modules ship with write-protected SPI flash, blocking upgrades. If Erase fail appears at 0 %, replace the flash chip or lift WP pinXR3 Hardware Errata 2022. Another failure is RXD0 solder bridge, causing perpetual sync loss.

How can I streamline the flashing workflow?

  1. Solder an XR3 onto a NodeMCU-style breakout for repeat access[Elektroda, p.kaczmarek2, post #20528487]
  2. Attach a 6-pin header and fix EN to a jumper.
  3. Script PhoenixMC CLI with predefined baud and image paths. This cuts manual clicks and speeds debugging.
ADVERTISEMENT