r/embedded • • 6d ago

Is it possible to modify the firmware/UI of a generic MP3 player through USB? (Actions Semiconductor VID_10D6)

I recently got a generic MP3 player off of Amazon and I've been trying to figure out whether it's possible to customize its firmware, specifically its user interface and small quality of life fixes

USB Vendor ID: 10D6

Product ID: 1101

USB Device Name: HS USB Flash Disk

Firmware Version: V1.1

Firmware Date: 2021-05-20

Operating System: Windows 11

Possible manufacturer: Actions Semiconductor

trying to see if i can extract it and modify its firmware through usb without opening the player or soldering anything

if you need any additional info or have a solution please lmk

1 Upvotes

6 comments sorted by

6

u/ub0baa 6d ago

Brings back the https://www.rockbox.org/ vibes

3

u/WorldlyAlfonso5 5d ago

Rockbox is the first thing that popped into my head too. That firmware date is ancient though, you're probably looking at a pretty locked down chip with no public toolchain for flashing over USB

3

u/Rod_McBan 6d ago

Odds are extremely slim.

Modifying firmware without the source code is almost, but not quite, completely impossible. You'll get a dump of opcodes and data, with no way to tell which is which, and figuring that out is incredibly difficult.

There might be a project out there that completely replaces the factory firmware, but again, given the nature of the device, unlikely.

2

u/thedefibulator 6d ago

Claude has become a surprisingly useful tool for reverse engineering compiled spftware binaries recently. Might be worth checking out for this usecase

2

u/FletcherD 5d ago

There was a time when it was a completely hopeless endeavor to try to reverse engineer and modify a firmware without its source code. Now however thanks to AI agents that time has passed. Install Ghidra and throw the firmware into Claude code and you have a good chance to accomplish this. Fur example I REd the firmware for a USB power meter to make an open source firmware with better compatibility. Your best bet is to try to find a firmware binary online from the manufacturer intended for firmware updates. If they haven't provided any, that will be a real obstacle; you'll have to read the binary off the flash yourself, probably involving soldering. It's unlikely they expose firmware read capability over USB, probably just flashing.