Ensoniq Display

Since 2020/21, I have been developing an OLED display replacement for the Ensoniq EPS16+, driven by a passion for preserving and enhancing classic gear. What began with an Arduino Uno, an LCD, and a logic analyzer quickly evolved into a deep dive into the inner workings of the EPS16+.

The process started by disassembling the 16+ and carefully studying its schematics to locate where the serial data related to the display could be intercepted. After countless hours of trial and error, and working out the baud rate, I finally started seeing promising results: streams of hex serial commands. The real breakthrough came when I identified strings of ASCII characters mirroring what was displayed on the original VFD screen.

After deciphering the serial data, my next challenge was to fully understand and map out every command and function. This proved to be the most gruelling phase of the project, consuming weeks and filling what felt like an entire book of notes. But once I had a firm grasp of every aspect of the EPS16+ UI, I was finally ready to start coding.

I began with a basic program that read ASCII character strings and, using the U8G2 library, printed the characters to an LCD screen. The initial results were promising, but I soon noticed some lag due to the limited speed of the Arduino. Just when I needed a performance boost, Raspberry Pi’s RP2040 microcontroller was released, providing dual-core functionality. This allowed me to dedicate one core to reading serial data and the other to handling the display output, significantly improving the system’s speed. This was a game-changer for several reasons:

1. Dual-Core Functionality: The RP2040 features two ARM Cortex-M0+ cores, allowing for true parallel processing. This enabled me to dedicate one core to reading and interpreting the serial data, while the other core handled the display output, significantly reducing lag.

2. Higher Clock Speed: With a clock speed of up to 133 MHz, the RP2040 offered a substantial performance boost over the Arduino Uno's 16 MHz.

3. Enhanced Memory: The RP2040's 264KB of RAM provided ample space for more complex display buffering and data processing.

Around the same time, I upgraded to an OLED display, which not only looked better but also fit perfectly into the 16+, whereas the LCD had been too large.

One of the most critical aspects of the project was ensuring that the OLED display could match or exceed the responsiveness of the original VFD. This was particularly crucial for features like the VU meter, which reacts to live audio input and requires immediate visual feedback.

Once I finalized the basic code structure for utilizing the RP2040’s dual-core functionality and transitioned from the U8G2 library to Adafruit GFX, I spent the following months meticulously writing code to handle every command and function required to emulate the original VFD display. This included managing character strings, underline and cursor behaviour, VU meter animations, and much, much more.

As the project neared completion, I encountered a series of bugs that required significant time and effort to resolve. It was a challenging back-and-forth process, but I eventually ironed out all the issues, bringing the coding phase to a close.

With the software side complete, the next task was hardware design. This involved creating a custom PCB, ensuring proper power management, and figuring out how to neatly fit everything into the EPS16+ enclosure.

For the power supply, I aimed for the most efficient solution to step down the voltage to the required 3.3V. I designed a custom buck converter that draws power from the EPS16+, reduces the voltage, and provides stable power to the RP2040 microcontroller and the OLED display. A buck converter is a DC-to-DC power converter that efficiently steps down voltage while minimizing energy loss. This was crucial for several reasons:

1. Efficiency: Buck converters are highly efficient, typically achieving 90% or better power conversion efficiency. This minimizes heat generation and power consumption.

2. Stability: The custom buck converter design ensures a stable 3.3V supply, critical for the reliable operation of the sensitive digital components.

3. Integration: By designing a custom solution, I could ensure it fit perfectly within the space constraints of the PCB along side the RP2040 microcontroller and all it's required components.

For the PCB, it was a matter of getting the correct measurements and fitting all the components to it. After several revisions, I finally arrived at a design that met my expectations.

This project has been a long journey—one that spanned many life milestones. During the process, I spent six months travelling in the Philippines, got married, secured a visa for my wife to join me in the UK, and now we’re expecting our first child at the end of 2024.

Despite the challenges and the fact that it was a solo effort, I’m incredibly proud of the final product.

Next Steps and Community Involvement

I am excited to finally bring this OLED display replacement to the Ensoniq community, but I need your help for the final stages. While I have thoroughly tested the display on the EPS16+, it has only undergone limited testing on the EPS classic and ASR10 due to lack of access to these models. I am calling on beta testers who own these units to assist in final testing and refinement.

In the meantime, the initial release will be for the EPS16+ only, with plans to expand compatibility as testing is completed. To manage production, I will be offering the display through a pre-order system, with assembly beginning after each purchase. As a one-person business, I appreciate your patience with the longer lead times this approach will require.

Get Involved or Pre-Order Today

If you’re passionate about vintage gear and want to help preserve the legacy of the Ensoniq samplers, I encourage you to get involved. Whether you’re interested in becoming a beta tester or pre-ordering the OLED display for your EPS16+, your support is invaluable.

Thank you for being part of this journey. Please reach out with any questions, suggestions, or interest in the beta testing program.