-
Improving Color and Demoing Live
12/13/2017 at 02:47 • 0 commentsI had the pleasure of demoing PaperBack last weekend for attendees at the Silicon Valley Hardware Meetup at Evil Mad Scientist Laboratories. Thanks to Supplyframe, @Tindie , and Hackaday for organizing.
All of the new changes are reflected in the PaperBack repo.
I demoed some recent work on the color rendering for 4-bit color mode (16 'colors') on the EPaper to good reviews. Above you can see 'Starry Night' adapted for the greyscale screen.
I also built a proof of concept for a demo at my employer, Twilio, where you can text in an MMS and I'd render it in 1-bit (black & white) on the display.
The infrastructure on that one is:
WiFi -> ESP32 -> ngrok -> Flask
That one is a bit more complicated to get working (and hackier, given the constraints!). If you're interested, send me a message and I promise to help you get you going with it.
I also received some feedback on where to take PaperBack next... Faster framerate? HDMI?
What do you think?
-
Contest Movie Posted Plus New Firmware
10/16/2017 at 08:08 • 1 commentPresenting the PaperBack Contest Movie:
Build Instructions
I wrote up build instructions for making PaperBack. You should be able to find them on the main page of the project.
Remember, it's modular - if you just want to drive a 6" EPaper Display you only need to build the breakout board and source an ESP32. If you'd like to go further and display VGA you'll need the second board.
New Firmware on VGA Converter Board
If you take a look in the VGA firmware directory of the Github Repo, you'll see some updates to both the VHDL and the C++ for the ATmega.
The C++ rolls up a number of tweaks that interplay with the VGA signal. We now set the full range of VGA OFF -> ON to .7V, and tweak some of the clamping timing to better detect black. See the improved video in the... video.
The VHDL now supports the red user switches. I added some useful-to-me (and hopefully you!) resolution/color depths:
Switch 3 (Furthest from Microcontroller)
Switch 2
Switch 1 (Closest to Microcontroller)- On On On - 16 color, ~10 seconds between frames
- On On Off - 16 color, ~5 seconds between frames
- On Off On - 4 color, ~10 seconds between frames
- On Off Off - 4 color, ~5 seconds between frames
- Off On On - 4 color, ~1 frame per second
- Off On Off - 2 color, ~10 seconds between frames
- Off Off On - 2 color, ~5 seconds between frames
- Off Off Off - 2 color, ~1 frame per second
Additionally, I tweaked the greyscale algorithm from the MST9883, so it now looks much better. All the more reason for you to build a PaperBack or two!
-
It's Working! VGA Input on an EPaper Display! (and Simple Build Instructions)
10/09/2017 at 00:32 • 1 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:
- Microcontroller Code (Arduino IDE)
- FPGA Code (Lattice Diamond OR run the SVF with any JTAG device or something like a FlashCat or Bus Pirate)
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!
-
We're On the PCB! (Also, SRAM Working)
10/04/2017 at 04:14 • 0 comments
That... went faster than I thought.
It's now running on the PCB (this FPGA is a 144 TQFP Lattice MachXO LCMXO1200C), and I even am generating the black and white refreshes by writing to/reading from the SRAM. Here's the hardware; it should be safe to build now: https://github.com/dqydj/PaperBack_EPaper_Display/tree/master/hardware/PaperBack_Converter
I'm going to rush ahead and see if I can get it to MVP instead of posting now. If I get stuck I'll upload the VHDL driving the above... but let me take a shot at getting VGA going(!). -
An Update: FPGA Dev Board EPaper
10/03/2017 at 04:42 • 0 commentsGetting close now! Here's a (handheld - sorry) movie of a refresh from an FPGA. The board is a LCMXO2280C-B-EVN development board.
Now to figure out how to get that code over to the converter board (no problem, right?!?).
Here's what we've got for the second goal (VGA):
- EDID works
- FPGA epaper refresh works
Here's what we need:
- FPGA screen capture VGA 800x600 to SRAM
- FPGA add SRAM read to screen refresh
Wish me luck - it's crunch time. I'll publish some code when I have it working on the second PCG (the 'Converter' board).
-
EDID: Working!
08/04/2017 at 15:41 • 0 commentsI thought adding EDID - which is how monitors identify themselves to display sources - was going to be a difficult step. (For VGA/DDC2, this is on pin 12 & 15 and uses I2C). It wasn't...
Above, there's PaperBack letting a laptop (which conveniently has VGA built in) know its size, supported resolutions and timings. (Yes, I crafted that serial number 'PNP4321').
I had SDA and SDL connected to the ATMega onboard the second board, and based my code on Rocky Hill's Arduino EDID emulator. For the EDID itself, I used Deltacast's EDID editing application to craft a v1.3 EDID... but you could write a valid block yourself from the documentation out there.
Best Product Update
Unfortunately for PaperBack and me, we didn't make the Best Product finals. Luckily, there are a few more rounds of the Hackaday Prize - wish me luck and perhaps I'll make it through to the finals in another round!
-
PaperBack: Deadline Family Photo
07/24/2017 at 07:23 • 0 commentsAs the clock ticks down on the 2017 Best Product deadline (and with the business plan now on paper), I also wanted to share PaperBack's physical progress.
I build all three OSH Park boards for the VGA Conversion PCB, and tried to get an aesthetic shot of the whole family without waking up... my sleeping family.
Here's how it looks:
Aren't they a good looking bunch?
That image means I'm switching to the software domain next, and attempting to get the VGA conversion going. I wouldn't suggest building the second board yet - let me be the guinea pig who breaks stuff first! - but I've also posted PCB #2 to Github.
Go check it out - and stay tuned!
-
PaperBack: Draft Business Plan
07/24/2017 at 06:54 • 0 commentsI wrote up a brief business plan for PaperBack... albeit more in the form of an investment pitch. Now I'm just a hobbyist building a product I'd love to own - but if I were to scale up, this is where I'd start; enjoy!
Executive Summary
PaperBack is a 6" secondary desktop monitor based on an ePaper Display.
In one mode PaperBack works as an Internet Connected Display. With a second board, PaperBack can be converted into a 6" VGA Monitor.
Mission Statement
PaperBack is either an internet connected or a desktop ePaper Display.
Designed around a 6" ePaper panel, PaperBack promises lower energy consumption than a standard desktop monitor. PaperBack has the ability to run off a Lithium Ion battery, but for static images requires zero energy to maintain a current image.
Additionally, PaperBack does not emit potentially harmful or discomforting blue light. As some wavelengths of blue light are sleep disrupting or annoying, PaperBack should be very usable at the end of the day.
Finally, PaperBack is educational. We've written extensively on our development process as well as open sourced all hardware designs and schematics. All firmware is licensed with the MIT license, and everything non-physical needed to build PaperBack is available for free online.
Target Market
One of PaperBack's target markets users who display static images and text on a secondary display, such as people in the scientific and engineering communities. Reference materials, schematics and engineering drawings pair well with ePaper and can be left on screen indefinitely without an additional power requirement.
A second target market is for users looking for an internet connected display. Many applications are possible - calendars, weather stations, picture galleries, virtual whiteboards, info displays and more. The nonexistent power requirement for static images is perfect for slowly changing information and informational setups.
Other Similar Products
Currently, the Dasung Paperlike is the only product we are aware of that fills a similar niche. The PaperLike is a 13.3" ePaper Display with up to 1600x1200 resolution, and 4-Bit Greyscale (16-Colors).
It boasts similar refresh rates to PaperBack. It ships with a number of contrast modes, some of which speed up refreshes greatly. The Paperlike uses USB for power, and has a USB display driver - but not a standard desktop display interface.
The next version of the Paperlike does add a standard interface, HDMI. It is not yet released.
The Paperlike is not yet widely available in the United States and the first version cost more than $1,000. The next version (HDMI) can currently be purchased for $899.
In the internet connected configuration, there is some crossover with ePaper eBook readers. The number of models is too extensive to list, but some eReaders have app stores and applications which target similar functionality. We hope that superior integration in Internet Connected mode gives PaperBack the edge.
Product Sales Summary
- Educational
PaperBack sold as an educational product should not have much margin built in. Educational build materials are available online, and a user can bring their own parts and programmers to build PaperBack in any configuration.
Selling a PaperBack Build kit is an option, with a small margin built in for book printing, sourcing, programming, shipping, and handling.
- Internet Connected Display
PaperBack's primary sales configuration is as an internet-connected display. Products sold in this configuration do have the option to later upgrade to VGA displays.
An app store would be the ideal way to extend the capabilities of the Internet Connected PaperBack configuration. At launch, PaperBack would need some demo applications; priorities are an image gallery and a calendar. These applications would also be open sourced to give developers a base for their own programs.- ESP32 Development Board
This style of PaperBack can be sold with and without the ESP32
Development Board necessary to provide the internet experience. Ideally, this product would fit the exact same monitor case as the VGA monitor option (as it is the same form factor minus the second PCB.
- ESP32 Development Board
- VGA Monitor
The final configuration of PaperBack is as a VGA monitor. In this mode, a second PCB is attached to the first with the board edge connector. In this mode, the ESP32 must not be present; the second PCB will drive the screen directly. Everything is encapsulated in a small monitor case.
PaperBack will have a 'full' color 4-Bit 16-Greyscale mode with slower refreshes, along with a faster refreshing mode with less depth.
The VGA Monitor will be sold both as a kit and as an upgrade kit for people who buy just the Internet Connected Model and would like to upgrade. The hardware will be directly equivalent; VGA Monitor purchasers will be able to disconnect board #2 and connect an ESP32 to use PaperBack in Internet Connected mode.
Future Models
If PaperBack is successful, the next version should use a larger ePaper panel.
The 9.7" ED097OC1 compatible ePaper Panel is an obvious next panel choice. Although refresh rates will scale and be similarly slow (at the same relative rate per pixel), resolution increases to 1200x825.
Technical Details
These technical details are the same across modes and are subject to change as more firmware and models are added.
- 6" Diagonal ePaper Display
- 4-Bit (16 Color) Greyscale Color Data and Display
- 800x600 Resolution
- Refresh rate approximately 1 frame per second
- Weight: to be decided
- Dimensions: to be decided
- Power Consumption: to be decided (and measured)
- Educational
-
VGA Converter Board Update: First One Built
07/22/2017 at 23:17 • 1 commentIt looks pretty good, doesn't it?
I've also got it docked with the first PCB, the power & breakout board - and you'll note I've removed the ESP32 from the headers.
If all works out, PaperBack is a two-in-one product. With the ESP32 inserted it'll be an internet-connected ePaper screen; with the ESP32 removed and the second board docked it'll work just like a VGA desktop monitor (with slow refresh rate - it's still ePaper!).
Wish me luck - it's time to start programming all those parts to fit them together...
My best guess is I won't finish coding this weekend; I'll be sure to put the parts in the BoM though for the prerequisites of the Best Product deadline Monday. I should have plenty of time for the integration before the final deadline! -
New PCBs are Here: VGA Input Board!
07/18/2017 at 02:53 • 1 commentLook what just came in the mail - 3 PCBs from @oshpark ! Thank you again for the generous coupon, they look excellent!
This second PCB is the VGA input board; if everything goes well we'll capture VGA frames then blast them over the header on the right to the ePaper screen.
Just like a regular monitor! (You know, except not 60 frames per second. It's still ePaper...)
I won't be able to put it together until Saturday, but I'll post the BoM for the 2 boards in the meantime.