Display video using your FPGA on a TFT LCD screen using two PMOD connectors.
PDF of the TFT LCD Project
Adobe Portable Document Format - 2.57 MB - 07/09/2017 at 16:09
Arty board demo project
x-zip-compressed - 39.78 MB - 06/07/2017 at 17:40
I didn't think there was any interest in this project until someone asked me about where to purchase the boards. It may not be a serious inquiry but It got me excited anyways.
I just requested a quote for a fabrication and assembly run of 10 boards with a few small fixes.
I found this online LCD store http://www.buydisplay.com/ The LCDs here look very reasonable. If anyone is interested in an LCD for their project look here. There also seems to be some LCD controller boards that do similar things that this board does. They are not in a form factor that's compatible with PMOD but if you are looking for an LCD display for an MCU project consider looking at their boards. You can probably use them to create nice GUIs for MCU based projects.
It looks like they have a 4.3" screen similar to what I use. I'm going to try it out to see if my board plays nice with their board. If so the cost of the screen is $14 instead of $38!
If they end up selling well enough I'll invest in a larger run. After watching EEVBLOG 887 I'd like to shoot for a $100 price tag. I think that's a reasonable amount compared to the functionality of other PMODs. Unfortunately it won't be profitable for a 10 unit run but it should let me know if there is interest.
I've updated both the PDF of the Project as well as the hardware design on github
After a lot of debugging on both the pmod_tft core and the on_screen_display core I finally got a video out demonstrating everything.
I had success with this board before using some software/HDL tools I wrote in the past but I realized that it would not have a big enough impact because it couldn't be used with the Vivado tools. So I adapted the cores to be used to with AXI.
For the PMOD TFT core users can configure it with the AXI Lite Slave interface and can stream video using the AXI Slave stream interface.
I recently needed to work in the Vivado block diagram environment. At first the machismo factor came in and I didn't want to be any part of a development environment too simplified but after completing a project for a client of mine I found I was spending less time working on the interface between my cores and more time on the cores themselves.
I ended up creating an IP repo that lets anyone use the core by just dropping it in to the block diagram.
If anyone is interested there are great videos on how to get started with the Vivado block diagram environment on Digilent.
About the time I was finishing up with an Arty demo someone told me about Pynq. It's a Zynq based devboard in a similar form factor to the Arty board but a team at Xilinx has been putting in a lot of effort to ease the software/hardware bridge by developing a Jupyter style interface. If you haven't had a chance to play with Jupyter hub you're in for a treat.
Jupyter is a programming environment that can be run from your web browser that is hosted by a remote machine. In the case of the Pynq board go to Pynq's webpage on your local network and start editing Python code that will interface with the FPGA.
The first part of the demo in the video was done entirely within a web page I did the following steps: