r/walkman • u/asivery • 22h ago
showing off Replacement OLED for 1-line Network Walkmans
Hi! I'm very happy to share with you my latest electronics project - the replacement display for the NW-E30x / NW-E20x / NW-S20x(F) and NW-E00x series Network Walkmans! I've been working on this one for the past two months, and I finally have something to show for it. There were two large problems I had to deal with, in order to make it work:
1. The power situation
OLED displays require high voltage (~9-12V) to drive the pixels. Sony's old displays put half of the electronics which create this high voltage in the actual display itself. Because of that, if you remove the old display, you also remove the power supply for it. I solved this issue by recreating the boost circuit with the help of the chip in the middle of my PCB. That chip is also responsible for preparing the data to actually put content on the screen. Thanks to that chip, this screen is very power efficient - my driver disables high voltage generation when the screen is off.
Here's some measurements (done on E305): ``` Display plugged in: Sleep mode - 0.4mA Playback, display active - 12mA Playback, no display - 6mA
Display not plugged in: Sleep mode - 0.1mA Playback, display active - 6mA Playback, no display - 6mA ```
2. The driver
This screen is pin-compatible with the original display, but it communicates with the Walkman in a different way. Because of that I had to modify these Walkmans' firmware to get it running. I wrote one common driver, but had to "tune" it to every device separately. This involved recovering, then reverse engineering the firmware, ripping out the old driver and installing the new one in its place. Finally, packaging the new firmware into the system upgrade image (MSFWUPGR.UPG), which can be used to update devices over USB. (Note that the firmware for NW-E300 / NW-E200 devices is still a tiny bit buggy - going through menus causes audio to skip*)
Side note: Sony has race conditions in their firmware. Multiple race conditions. š
In addition to recreating the displays, I've also added full support for them to Web MiniDisc Pro (https://web.minidisc.wiki). That makes it possible to write ATRAC / MP3 files onto these things straight from the browser, without installing any extra software, and works on Windows / Linux / MacOS or even Android devices.
For those wondering: AI has not been used at any point throughout this project. It just kills the fun for me.
* - These walkmans are, to the best of my knowledge, single-core machines. It's the RTOS' job to feed audio frames to the VME (Sony's special in-hardware codec processor). When my driver takes over, it doesn't yield to the RTOS' scheduler at any point, and the RTOS is not preemptive. Drawing on the display using my driver is more complex in comparison to Sony's original code, so the VME runs out of frames to decode, and it plays silence until the display code completes its job. This is only a problem on the E20x / E30x devices, because their system clock is twice as slow as the one in E00x / S20x ones - those do not exhibit the same bug.