After a couple of miss-starts, I finally got the Sony ICD-UX70 mp3 player/recording working properly. It was necessary to use a transistor and relay for each of the functions.
Code
I wrote code which can seek to a specific track using these transport functions. Since the AVR microcontroller must keep track of the current track, there will be a problem anytime the unit is turned off. It will be necessary to reset both the current track and the maximum number of tracks. It would be possible to add some EEPROM (or perhaps use some Arduino trickery) to make sure the track count isn’t lost. In any case, though, there are certain tradeoffs that occur when hacking external hardware.
Track Transition Speed
Each track transition takes 150ms. It doesn’t seem to be possible to drive the recorder any faster than that. It simply ignores the fake button presses. This means that seeking 20 tracks will take 3 seconds.
Next Steps
- Code to allow control recording functions (and increase the total track count each time)
- Code to control playback (very easy)
- There is an indicator LED on the unit which I hope I can detect using a photocell.This may be necessary in order to prevent the unit from getting confused. I want to prevent the microcontroller from executing new transport functions before recording or playback is finished.





