Close

It's Working! VGA Input on an EPaper Display! (and Simple Build Instructions)

A project log for PaperBack: A Desktop EPaper Monitor

EPaper monitor driven by either VGA or an Internet Connected ESP32.

pkPK 10/09/2017 at 00:321 Comment


I'm so happy to announce that... VGA input is working!

For proof of life, and as per graphics project tradition, here is Doom running on PaperBack. (See the video here on Youtube).

"Your scientists were so preoccupied with whether or not they could, they didn't stop to think if they should." - Ian, Jurassic Park

Freshly Posted: Code to Build an EPaper VGA Monitor

 
I've posted everything you'll need to program PaperBack to the repo. Under the new /firmware_VGA/ directory you'll find the code for the ATmega328p (controls EDID and display adjustments) and the Lattice MachXO FPGA.

I slowed down the refresh rate for the code posted above... the Doom demo is running at almost exactly 1FPS. The posted code runs at about 1 frame every 5 seconds, give or take (the clock rate in the FPGA is 21 MHz +/- 3 MHz).

These lines in draw_screen.vhd control the refresh rate:

    -- HARD TIMING CONSTANTS
    constant ROLLOVER_SCREEN: integer:= 96000000; -- Controls refresh rate
    constant SAFE_REFRESH: integer:= 35000;

Don't edit SAFE_REFRESH  unless you change the rest of the code, but the difference between SAFE_REFRESH and ROLLOVER_SCREEN controls how quickly another refresh will start. Divide ROLLOVER_SCREEN-SAFE_REFRESH by 21,000,000 (clock rate) to determine how long the period will be.

How to Build PaperBack

PaperBack is built to be modular; one board houses the EPaper interface and an optional socket for an ESP32 dev board. The other contains all of the parts necessary to sample VGA and display on the EPaper Display.

DO NOT plug the ESP32 in if you are using the VGA Board. Either way, build both

Hardware is here (Gerbers & IP for KiCad)

If you want to try the ESP32 integration first, here is the firmware. Remove it before pluggin in the VGA board.

For the VGA board, you need to program both the FPGA and the Mictocontroller:


Go Build It

Although the project is 'done', it isn't 'really done'. There are some comforts I'd like to add, such as an onboard switchable framerate. But that's all software - or at least, whatever you consider VHDL to be. The hardware you see is now buildable and tested by me, your guinea pig.

Please, go try it out! Or, even better - build a couple boards and bring it to the 2017 Hackaday Superconference. I'll be there and I'd love to talk!

Discussions

oshpark wrote 10/09/2017 at 10:06 point

Very exciting to see it in action!

  Are you sure? yes | no