Manufactory, a way to take back control

For almost 5 years now; many brands of MP3 players, including those like Zhiyin, TIMMKOO, and AGPTek have become popular on sites like Amazon. Why? They're simple, small devices with better battery life than most phones that are also used to listen to music. The problem? In order to meet more needs - as the devices are often sold to parents, health facilities, and sometimes religious organizations - the devices are heavily stripped down, as you may be familiar with.
But they don't have to be.
This site will fully lead you through the journey of modding your MP3 player if you DON'T have those needs. In the end; you'll have a device that at least somewhat fits you. Whether you like browsing the web, blocking ads, or even emulation, we give you a base that allows you to do more of what you need. It's a newer Android version than the stock 4.4.2, since it's now 5.0, it's rooted, allows you to install apps, and it only comes with the bare minimum; no preloaded browser, no personal apps, no bloated daemons. It has security patches, live permission management options, and it also offers a lightweight power on/off scheduler, just like the stock firmware. This allows it to be blazing fast and extremely efficient; all coming together to offer better battery life in the same tasks, and to do more (to some extent).
How to tell if I can install Manufactory?The easiest method to determine if your MP3 player is compatible with the Manufactory mod (although most risky due to potential hardware damage) is to take off the screen. The motherboard should say MX2-WV3 or simply MX2. Major signs that it may be incompatible are it not already running Android, albeit very locked down, having a home button graphic with 4 different squares instead of one hollow one, or running a version of Android that allows ADB debugging. Devices with these characteristics are unlikely to work entirely with Manufactory, which works best with the TIMMKOO Q3E. You can more easily tell that your device is compatible by noting if there is a notch in the middle of your volume rocker. If it does, it is most likely compatible.
What you'll need:1x MP3 player on MX2 WV3 platform (If you're not sure, or you bought a TIMMKOO MP3 player after March of 2025, don't attempt. A new method is being developed)
1x data-capable USB cord
1x Windows machine with administrator rights or Linux machine (ChromeOS and MacOS are untested, mobile devices; even when using virtualization, will not work)
About 30 minutes of your time
An internet connection
If you're on Windows:1: Download the MTK USB VCOM drivers here:
2: Run DriverInstall.exe
and wait for it to finish. Don't panic - it may take a while depending on your system. Higher end computers can complete the install in around 20 seconds, while lower end computers can take as long as 10 minutes. When it tells you to reboot, do so.3: When you've rebooted, download SP Flash Tool from here:
4: Extract the ZIP folder. Inside, you should find a folder containing flash_tool.exe
. Do not run it yet.5: Download Manufactory from here:
6: Extract this ZIP file as well. Inside, you should find a folder containing various .IMG
files as well as others. Do not attempt to mount them.7: Navigate to the location you extracted SP Flash Tool to, and run flash_tool.exe
.8: Dismiss the warning that the scatter file could not be found.9: Click on "Choose" next to the Download-Agent row. Navigate to the same directory that flash_tool.exe
was extracted to. Choose the file mtk_allinone_da.bin
.10: Click on "Choose" next to the Scatter-loading file row. Navigate to the directory that you extracted Manufactory to, and choose MT6582_Android_scatter.txt
.11: Hold the power button on your MP3 player until it shows an option to power off. At this point, completely unplug it and confirm. Your screen should be black.12: Click on the drop-down list with the text "Download only" and instead select "Format all + download".(No, it is not downloading files from the web. Make sure you have backed up all of your media at this point.)13: Click on "Download".(Follow this order of steps exactly. It is not a mistake.)14: Plug your MP3 player into your computer.(If you get a warning that your chipset is incompatible, do not go further.)15: Do not unplug your MP3 player until a window appears on your computer with the name "Download ok!" and a green checkmark graphic in the center. If it does not begin flashing, without unplugging it, press the reset pin, or alternatively turn the MP3 player on and then off again.16: Unplug your MP3 player.17: Power it on. It is normal for the first boot to take as long as 2 minutes. Subsequent boots will be shorter.18: Enjoy!
If you're on Linux:(Note, this was tested on Debian, other distros like Fedora, Arch, Gentoo, or Alpine might use different instructions.)1: Run sudo apt install python3 python3-pip build-essential adb git libusb-1.0-0 libfuse2
.2: Run python3 -m venv ~/.venv
3: Download Manufactory from here:
git clone https://github.com/bkerler/mtkclient
cd mtkclient
. ~/.venv/bin/activate
pip install -r requirements.txt
pip install .
4: Using any file manager, like Pacman, Thunar, or the CLI, extract this ZIP.5: Move preloader_j5052.bin
, MBR
, EBR1
, lk.bin
, boot.img
, recovery.img
, secro.img
, logo.bin
, system.img
, cache.img
, and userdata.img
to ~/mtkclient/manufactory
.6: Reboot.7: Using the terminal, navigate to ~/mtkclient/
.8: Run /venv/bin/activate
.9: Hold down your MP3 player's power button until it gives you the option to shut down or power off. Do so. Your screen should be black.(At this point, you should have backed up all of your media.)10: Run python mtk.py wl manufactory
(Follow these steps in order. The way it is written is not a mistake. Additionally, be VERY SURE that your MP3 player does have an MT6582.)11: At this point, plug in your MP3 player.12: Wait until the terminal indicates it is 100% done flashing. Do not unplug until then.13: Unplug and power on your MP3 player. It may take 2 minutes the first time it boots. This is normal. The boot times will be shorter in subsequent boots.
Important note: Since Magisk cannot tell what Android version you use, it will tell you that there is an update. Do not attempt to install it. It cannot install as it is for a later Android version. You can disable this notification by going to Magisk's settings and disabling "check for updates" or similar.
Updating Manufactory? You don't have to do it all over again; on Windows, extract the latest Manufactory ZIP, choose the new scatterfile, uncheck userdata in SP Flash Tool, and flash using Download Only - on Linux, extract the latest system.img
to ~/mtkclient
, run source venv/bin/activate
, and then flash it using python3 mtk.py w system system.img
.
Need help?Maybe the guide isn't working. Or maybe you figured something out. If you need assistance, please join the official Discord server:
Need some apps?Below; there are a few apps to get you started. In order to install them, download the APK files, connect your MP3 player, and transfer them to MX2/Phone Storage
. Then, on the MP3 player, go into Settings, then into Security, and then enable Unknown Sources. From the app drawer, launch File Manager, go to Phone storage
, and tap on the APK file you want installed. Confirm to continue. After some time it should be installed.
How can I find more apps?The most user-friendly way to get apps you need is to download either Aptoide or Aurora Store. Aurora Store allows you to download all apps from Google Play that your device supports, whether you sign into an account or not.
However, not all applications exist on these stores. You may also want to download them from elsewhere. Here is how you do so:
You can search for APK files on reputable sites like APKMirror or Uptodown. Don't use HappyMod or any other sites, especially if they have fake download buttons. Also keep in mind that these apps should not require above Android 5.0+. This means if an app requires Android version 5.1+, you cannot install it, but if it requires 5.0+ or below, you likely can. The CPU in your MP3 player is also older and cheaper than most. Therefore, it only supports noarch and armv7 APKs. Here's an example of a compatible APK:

Just like there are compatible apps, there are ones you should avoid. Don't let this scare you, it's easy to discern. Here's an example of an APK you don't want to download:

Known Bugs:On some domains, you may face excessive security warnings.
For some, TWRP may not flash packages, although there are none for the device currently.
The lock screen wallpaper will always be different from the home screen wallpaper.
Some exclusively WPA3 networks may have issues.
Apple AirPods have significant connection issues; this is also true of some other MediaTek devices.
Sometimes; you will get an error about your SD card being full when you try to take a screenshot, even when you don't have one. This can be resolved by rebooting.
When exiting TWRP, the screen may have visual glitches for a short period. This goes away after usage.
Some OpenGL ES apps will not show at full brightness. This may be an issue with the display itself however; as this isn't the case when connected to SCRCPY.
While improvements have been made, many UI elements still reference your MP3 player as a phone. This is purely because Android doesn't have an "MP3 player" platform, the closest being a tablet.
When you attempt to check the status of software updates in Settings; it will crash the screen and you will end up at the homepage of Settings. This is because we removed many ties to Ragentek, a harmful OTA provider. Patching Settings to remove this option entirely caused other problems.
Credits: DeerEverdeen (Various bug fixes, file patches, feedback), Kevin Barry (Nova Launcher original binary), Noah Domingues (server owner)
Legacy Downloads (Not for most users)
Stock Firmware (Only if you need to go back, will be heavily locked down Android 4)
Stock Firmware (Only if you have lines on your screen after flashing Manufactory, will be heavily locked down Android 4)
Note: You can flash the stock firmware in the exact same way you flashed Manufactory, just download the stock firmware and use the scatterfile from it instead.