Xiaomiβs Engineering Menu is a hidden settings section that allows power users to test hardware components, calibrate sensors, and modify system parameters that are not available in the standard interface. However, after experimenting with this menu, many people are faced with the need to reset it, from randomly changed parameters to complete failure of the device. Unlike a conventional reset to factory settings, returning the engineering menu to its original state requires specific actions β and these are the ones we will discuss in detail in this article.
Itβs important to understand that the engineering menu (or Engineer Mode) is not universal for all Xiaomi devices, and its structure and options depend on the smartphone model, the firmware version MIUI and even regional software. For example, on the Redmi Note 10 Pro, the menu may include tabs for testing LCD, Touch Panel, and Sensors, while on POCO F5 the RF Test section will be added to test the 5G module. We will look at reset methods relevant to most MIUI 12β14 and HyperOS devices, including methods through USSD, ADB- commands, and hidden settings.
Before you start resetting, make sure the problem is really related to the engineering menu.
- π± Sensor malfunction (false touches, jumping cursor)
- π Distorted sound or no audio after speaker tests
- πΆ Network problems (constant reconnection to 4G/5G)
- π Fast battery discharge due to background activity of test processes
What is Xiaomiβs Engineering Menu and Why You Should Reset It
The Engineering Menu is a diagnostic tool built into the firmware of Xiaomi devices at the Android kernel level.
- π§ Testing of hardware components (camera, microphone, accelerometer)
- π‘ Communication settings (LTE, Wi-Fi, Bluetooth)
- π Calibration of battery and charge sensors
- π₯οΈ Processor performance and memory checks
However, careless changes to this menu can lead to irreversible damage to the system if we are talking about modifying the parameters of NV-RAM (energy-independent memory with the settings of the communication module). For example, changing the values in the RF Test β Band Selection section can completely disable support for certain 4G frequencies, which will require flashing the device.
Resetting the engineering menu is necessary in the following cases:
- π After unsuccessful experiments with settings (for example, a change in Touch Sensitivity caused the screen to fail)
- π οΈ To eliminate artifacts after display testing (LCD Test)
- π΅ If the device stopped catching the network after modifying the Network Lock settings
- π When preparing a smartphone for sale (to hide traces of diagnosis)
β οΈ Warning: Some of the engineering menu options (e.g., Fast Dormancy in the communication settings) may be blocked by the operator, and resetting them without the consent of the provider will result in loss of access to the mobile network.
Method 1: Reset via USSD code (the fastest method)
The easiest way to bring the engineering menu back to factory settings is to use service codes, a method that works on most Xiaomi, Redmi and POCO devices running MIUI or HyperOS, but can be blocked on some models for the Chinese market.
Instructions:
- Open the Phone app.
- Enter the code ##36446337## (or alternative #4636## for older versions of MIUI).
- Wait for the engineering menu to open.
- Go to Factory Reset or Restore Defaults (the name may be different).
- Confirm the reset by pressing OK or Reset.
If the code doesnβt work, try alternatives:
- π ##4636## β Universal code for testing (may not contain reset options)
- π ##6484## β for testing MTK- processors (on Redmi 9A, POCO C31
- π ##64663## β Modem Settings Reset (Qualcomm devices only)
Check the device model (some codes only work on MTK or Qualcomm)
Battery charge of at least 30%
Disable VPN (can block service commands)
Save important data (reset does not affect user files, but it is better to be safe)
-->
If a Connection problem or invalid MMI code appears after entering the code, it means that:
- π« The code is locked by the operator (relevant for devices purchased from the provider)
- π The device runs on custom firmware (e.g. LineageOS)
- π± The smartphone model does not support this method (rarely, but found on Xiaomi 13 Ultra and later)
Method 2: Reset through the engineering menu settings
If the USSD- codes donβt work, you can try resetting directly from the engineering menu itself, which is suitable for devices where the menu is opened through a button combination or a special application.
Steps for discharge:
- Open the engineering menu in one way: Using code ##4636## β Go to Testing Through the CIT application (included in the standard MIUI set) Through ADB (the adb shell am start -n com.android.settings/.DevelopmentSettings command)
Restore Defaults
Factory Reset
Clear Settings
General
System
Mi
Reboot your smartphone.
On devices with a MediaTek processor (e.g., Redmi Note 11, POCO M4 Pro), the path may look like this:
Engineer Mode β MTK Settings β Connectivity β Band Mode β Restore DefaultFor Qualcomm devices (e.g. Xiaomi 12 Pro, Black Shark 5) look for:
Engineer Mode β Qualcomm Settings β Network β Reset to DefaultWhat to do if there is no button "Restore Defaults"?
β οΈ Warning: On HyperOS devices (e.g. Xiaomi 14, Redmi K70), the engineering menu can be integrated into standard settings. Look for it along the way: Settings β About Phone β All Specifications β Core and Hardware β Engineer Mode.
Method 3: Reset via ADB (for power users)
If standard methods donβt work, you can use Android Debug Bridge (ADB), which requires connecting your smartphone to your computer and enabling debugging mode, but allows you to reset the engineering menu even on locked devices.
Step-by-step:
- Install ADB and drivers for Xiaomi on your PC (you can download from the official Android Studio website).
- On your smartphone, turn on: Settings β About Phone β MIUI Version (click 7 times to activate Developer Mode) Settings β Additional β For Developers β Debugging by USB
adb devices(Your device should be displayed)
adb shell am broadcast -a android.provider.Telephony.SECRET_CODE -d android_secret_code://36446337or to reset the modem settings:
adb shell su -c 'setprop persist.radio.multisim.config dsds'adb rebootIf the team doesnβt work, try alternatives:
- π§ For resetting NV-RAM (MediaTek only!): adb shell su -c 'dd if=/dev/zero of=/dev/block/mmcblk0p20' Dangerous! Misuse will result in loss of IMEI.
- π‘ For network reset: adb shell settings put global preferred_network_mode1 9 (value 9 corresponds to automatic network selection)
π‘
Before using ADB, back up your data via MIUI Backup or TWRP. Commands to work with NV-RAM can cause you to lose your IMEI, making the device unsuitable for calls.
Method 4: Reset via Recovery Mode (if the device does not boot)
If the device stops loading after the changes in the engineering menu (hangs on the MI logo or goes to the bootloop), you can try resetting the settings through Recovery Mode, which does not guarantee the restoration of the engineering menu, but will return the device to a working state.
Instructions:
- Turn off your smartphone (press the Power + Volume Up for 10 seconds).
- Press Power + Volume Up before the Mi Recovery logo appears.
- Choose a language (usually English or Chinese).
- Go to Wipe & Reset β Wipe All Data (complete reset).
- Confirm the action and wait for the completion.
- Choose Reboot. β Reboot to System.
If standard Recovery doesnβt help, try:
- π§ Install TWRP and run Format Data (deletes all data, including internal memory!).
- π₯ Swipe your device through Fastboot with the official firmware (instructions on Xiaomiβs website).
β οΈ Warning: On devices with a locked bootloader (Xiaomi 13T, Redmi Note 12 Pro+), firmware via Fastboot will require unlocking Bootloader, which will reset all data and link the device to the Mi Account for 72 hours.
Table: Compatibility of reset methods with popular Xiaomi models
| Model of the device | USSD-code | Reset on the menu | ADB | Recovery Mode | Notes |
|---|---|---|---|---|---|
| Xiaomi 13/13 Pro | β (blocked) | β | β | β | Requires unlocking Bootloader for ADB |
| Redmi Note 12 Pro+ | β (##4636##) | β | β | β | In HyperOS, the engineering menu is hidden in the settings |
| POCO F5 | β | β | β | β | USSD- codes only work on global firmware |
| Redmi 10C (MTK) | β (##36446337##) | β | β (limited) | β | NV-RAM reset is only possible with the SP Flash Tool |
| Xiaomi Pad 6 | β | β | β | β | On tablets, the engineering menu opens through CIT |
Frequent Mistakes and How to Avoid Them
When working with the engineering menu, users often make mistakes that can lead to loss of functionality of the device, and let's consider the most common ones and how to prevent them.
Error 1: Change the NV-RAM settings without backup
Many guides advise modifying NV-RAM settings to improve communication or unlock frequencies.
- π΅ Loss IMEI (the device will stop catching the network)
- π Fast battery discharge due to improper modem calibration
- π‘ No support for VoLTE or 5G
Solution: Before any changes, backup NV-RAM via ADB:
adb shell su -c 'dd if=/dev/block/mmcblk0p20 of=/sdcard/nvram.bin'Error 2: Screen calibration reset
In the Touch Panel Test section, you can accidentally recalibrate the sensor, which will lead to:
- π Imaculate touches (presses are not recorded where you touch)
- π Spontaneous Scrolling of the Screen
- β Total Inoperability of the Touch Screen
Solution: Recalibrate via the Touch Panel β Calibration or reset the sensor settings via ADB:
adb shell settings delete system pointer_locationError 3: Change the battery settings
In the Battery Information section, you'll find parameters like Battery Capacity or Charge Current, and modifications will lead to:
- π Incorrect display of charge level (e.g. 100% at real 60%)
- π₯ Battery overheating
- β‘ Rapid wear of battery
Solution: Reset your battery settings via ADB:
adb shell dumpsys battery resetYes, for malfunction diagnosis.
Yes, to unlock hidden features
No, but I want to try.
No, I don't plan on.
-->