Skip to main content

YP3 MP3 Player

 

 


I purchased an inexpensive mp3 player for when I was working and didn’t want my phone getting broken while listening to tunes. I was mildly annoyed that the text on the main menu was all squished together and did this odd scrolling thing. I looked to see if there was some way to modify it, I found some tools to do so, but they were not compiled. https://github.com/ilyakurdyukov/smartlink_flash I figured out how to get them working and managed to modify my main menu’s string table, and figured I’d document the process if anyone else wanted to try modding this thing.

 

 

Setup Install LibUSB

Download site: https://zadig.akeo.ie/

Boot in Bootloader mode- On YP3 Turn off MP3, then hold Vol Button while connecting to PC

Connect Device: Plug in your USB device and turn it on (if applicable).

Run Zadig: Start the Zadig application.

Select Device: In Zadig, go to Options and check List All Devices, then select your device from the dropdown menu.

Install Driver: Choose WinUSB as the target driver and click Replace Driver (or Install Driver)

Device will have one of the following ID’s

SL6801

Card reader: id = 301a:2801, inquiry = SMTLINK CARDREADER 1.00, serial = 20201111000001
Bootloader mode: id = 301a:2800, inquiry = SMTLINK DEVICE 2.00, serial = 20201111000001

SL6806

Card reader: id = 301a:2800, inquiry = SSTLINK DDVICE 2.02 (with typos), serial = 20221008000002
Bootloader mode: id = 301a:2800, inquiry = SMTLINK DEVICE 2.00, serial = 20220320000001

 

 

Click yes to the popup.

 

Now you can backup firmware:

Git Page: https://github.com/ilyakurdyukov/smartlink_flash

Open a command prompt in directory with smtlink_dump and fwhelper

smtlink_dump  init  flash_id  read_flash 0 2M dump.bin

Runing

fwhelper dump.bin scan

will provide useful information like the partition sections and sizes. also the address of partition table address you will need to update the check sums here if you change anything

Runing

fwhelper dump.bin dump2fw update.up

Will turn the firmware dump into a file that can be flashed with the official flash tool

There is no confirmation unless there is a problem.

To use the official flash tool you have to uninstall WinUSB driver

Open Device Manager

Under Universal Serial Bus devices (or possibly libusbk devices/libusb-win32 devices if you didn't pick WinUSB as your driver), right click on your device. In this example, USB 2.0 Device is our device.

Select Uninstall and on the dialog box that appears, make sure to check the box that says "Delete the driver software for this device" then click OK.

 

Flash Firmware:

Download Flash tool

Install

RUN Program ---- Click Option -> Develp Settings

Click following Settins

Click Save

Click Burn Tack and select .up file

Click open

Turn off MP3 and hold down boot loader key while connecting to PC

MP3 will reboot when done.

Download Zip with all files:

The Aimoonsa B27 uses same chip, but the buttons are different so it’s impossible to navigate the menus if you cross flash to YP3.

Make Sure to backup firmware before uploading any other firmware.

Notes: for Firmware Mods

Original

Mod

 

The MP3 players chip uses an ArmV7-M 32Bit with Little Indian encoding

The check sums are in the partition table

Run “fphelper flash.bin scan” for partition table address

If check sums are off “fwhelper flash.bin dump2fw update.up” will tell you what they should be

The check sum is little Indian in the hex dump so it’s the reverse of what fwhelper says

The menus use the open source library LVLG if that helps

All I’ve been able to do is change the text strings. The alarm ringtone is an mp3 in the tone partition, that could be swapped out, but any other mods require Arm disassembly 

Download Files 

Comments

Popular posts from this blog

Force Phone View: Firefox Extension

If you’ve ever tried to browse the web in split-screen mode on a small laptop, you know the struggle. Most websites stubbornly cling to their "grid" or desktop layout, leaving you with tiny text and horizontally overflowing content. Force Phone View is a Firefox extension designed to fix exactly that. By tricking websites into thinking you're on a mobile device, it forces them to deliver a clean, column-based mobile layout that fits perfectly into narrow windows. Key Features Mobile Spoofing : Automatically sends an Android User-Agent to ensure the site delivers its mobile-optimized version. Width Constraint : Constrains the page viewport to 720 pixels , a width that reliably triggers column views instead of desktop grids. One-Tap Control : Toggle the effect on and off instantly using a simple button in the Firefox extension popup. Enhanced Readability : Perfect for researchers, students, or anyone multitasking in side...

Arduino FM Radio Transmitter

This following is re-post of an article from my old blog from 2008: This is an FM radio transmitter I made using an arduino and a NS73M FM Transmitter. I got the idea from an article on hack a day, if you’re interested in building your own you should check out Mike Yancey's page he built the one that made it on hackaday.com and he does a very thorough job of documenting how all the components hook together. I was impressed by the level of finishing he was able to achieve on the housing; it looked like a commercial product. I wanted to see if I could achieve a similar result, it’s amazing what you can do with some simple hand tools. If your patient with the file, you can make perfectly square holes in aluminum.   On my implementation I omitted the de-bouncing circuit that he has connected to his rotary encoder, and I used a two-line display. Since I omitted the de-bouncing circuit, I couldn’t use the original rotary encoder library since that code uses a hardware interrupt a...

NES game pad

 This is re-post of a blog post I did about 15 years back, I don't know if I would use an Attiny microcontroller if I was to do this today. The price of chips with built in USB is now cost comparable, and hardware USB is more reliable. But it's a fun project and if you happen to have a microcontroller compatible with V-USB it's worth a try.   I was digging though some of my old junk and found a box of old Nintendo stuff and I thought that it might be cool to turn one of the controllers into a USB game pad. Now you can buy a USB NES style gamepad, but what's the fun in that. So, I started looking though my box of electronic parts and found a couple of Atmel Attiny 85 micro controllers. Sweet a chance to try out the AVR-USB library . Now you would think you need a clock crystal to sync the micro controller with the USB, but the AVR-USB library has an algorithm to calibrate the internal oscillator to within +/- 1% accuracy. Which is fortunate because if we had to use a cl...