monsonite

Help us develop a new Graphics Shield - Could it become Gameduino 3?

11 posts in this topic

Happy New Year to All,

 

In the last few days, there has been some accelerated development to try out the new EVE (embedded video engine) chip from FTDI - the FT812

 

James Bowman - (@GameDuino) and creator of the J1 Forth chips and I have joined forces - in a Trans-Atlantic collaboration, to develop a breakout board for the FT812 - and to get it working before New Years Eve.

 

Some of you may be aware that this is the updated version of the chip used in the GameDuino 2.  It has an impressive spec - and simplifies the whole process of generating sophisticated graphical displays and user interfaces

 

A common theme on the community feedback site for Gameduino - was that there was no means to drive a large screen monitor.

 

So we have addressed this and produced a shield for the Papilio Duo, that features the new EVE chip - and will drive a large screen monitor or television.

 

Whilst originally specified for 800 x 600 SVGA - James has managed to tweak the clock timing by about 8% and stretch it's capabilities to XGA resolution - which is 1024 x 768 60Hz.

 

James had a set of boards made from my Gerber files, and put the boards together in Northern California - whilst I worked on mine in London. 

 

By the early hours of Tuesday, my board displayed its first image - a big red blob at 800 x 600 -  and then a few hours later James reported that he had got it running 1024 x 778.

 

To celebrate the New Year, and to promote open source development - we will be sharing some of our prototype boards out amongst  Gadget Factory Community members.

 

There will be 5 available as competition prizes as part of a prize draw - details yet to be decided, and then further boards will be available later.

 

The boards will work with ZPUino on the Papilio Duo - running the GameDuino 2 Library.  Thy will also work on any development board that presents Arduino - like expansion headers - which is now a lot of boards - from many manufacturers.

 

The prototype boards are however limited, for the moment to just 3V3 logic - but this is being addressed in future versions. 

 

Moving forwards, we are in early stages of discussion with Jack to offer the Universal XGA Shield - as an exclusive product through Gadget Factory.

 

 

Best Wishes for 2016 - and a Prosperous New Year - from here in London.

 

 

Ken

 

 

 

 

 

post-38539-0-63917000-1451591397_thumb.j

post-38539-0-15599400-1451591410_thumb.j

post-38539-0-76036000-1451591439.jpg

post-38539-0-56935000-1451591537_thumb.j

post-38539-0-99605100-1451591566_thumb.j

Share this post


Link to post
Share on other sites

Ken and James, this is excellent! You guys sure moved fast on bringing these boards up. :)

 

Would you mind giving us a walkthrough of the major sections of the board? Or if you post the github location I can give it a try?

 

Jack.

Share this post


Link to post
Share on other sites

Hey Jack,

 

Greetings from London - already into 2016 by a couple of hours.

 

Over this weekend I hope to get the documentation in order for the new FT812 board - so that we can post all the relevant open source design details to the forum.

 

Have a great New Year - wherever you may be.

 

 

Ken

Share this post


Link to post
Share on other sites

Ok, so Ken sent me the design files and I just wanted to walk through the design here. 

 

First off here is a zip of the EAGLE design files:

VGA_PS2_SD_Shield_ver3.zip

 

We would love to get some feedback and any ideas for improvement here. I'm going to make some more posts doing a review of the sections of the design.

Share this post


Link to post
Share on other sites

So here is a picture of the entire PCB:

post-29509-0-15041800-1452023557_thumb.p

 

Looking at the schematic we can see the board is based on the Arduino footprint:

post-29509-0-50601000-1452023704.pngpost-29509-0-83128300-1452023703_thumb.p

 

I also see some headers that I'm not sure of the purpose, Ken can you give us more details?

post-29509-0-40726700-1452023819_thumb.ppost-29509-0-09079900-1452023820.png

 

At the heart of the board is the EVE FT812 chip (Datasheet):

post-29509-0-49000300-1452023912_thumb.ppost-29509-0-37941600-1452023913_thumb.p

 

We can see that the 24-bit output from the EVE FT812 is connected to a VGA port through a resistor ladder network (24-bit VGA woah!):

post-29509-0-47771200-1452024206_thumb.ppost-29509-0-64424700-1452024205_thumb.p

 

There is also a microSD slot on the bottom of the board:

post-29509-0-30740000-1452024316.pngpost-29509-0-84818200-1452024316.png

 

There is also two PS2 connectors for keyboard and mouse:

post-29509-0-71556000-1452024424.pngpost-29509-0-55693400-1452024425.png

 

Finally, there is a regulator for 5V to 3.3V. Ken can you go into more detail about the design decisions for this regulator?:

post-29509-0-81453100-1452024552.pngpost-29509-0-19470500-1452024553.png

Share this post


Link to post
Share on other sites

Here is what the ground planes look like.

 

Ground Top:

post-29509-0-71831900-1452025077.png

 

Ground Bottom:

post-29509-0-61528800-1452025076.png

 

3.3V:

post-29509-0-32874200-1452025074_thumb.p

 

5V:

post-29509-0-78164900-1452025075.png

 

Share this post


Link to post
Share on other sites

Here is a cool Demo that James put together for New Year's Eve using a prototype of this Shield:

 

 

The nice thing about this chip is that James has been able to run it slightly over spec and get 1024x768 out of it!

 

This is really exciting to work on this with Ken and James. We are really excited to get the Gadget Factory community involved with this to help us shape it. Dare I say that this could become Gameduino 3? How cool it will be to have a part in helping to define the Gameduino 3. :) Tell us what you like so far or what you would like to see added and we will see if we can work it into the design.

 

Jack.

Share this post


Link to post
Share on other sites

Hey Jack,

 

I know that you have been busy recently, with family and holiday - but thanks for posting up my design.

 

James and I have been collaborating over this for about 3 weeks on both sides of the Atlantic, and the prototypes are now really starting to perform.

 

Some Features of the Design

 

The board is produced on a 50mm x 50mm footprint - and forms a compact version of the classic Arduino shield - with the addition of a few extra pins.

 

I am doing a whole range of boards using this format as they are quick and cheap to design and make - and stackable.  They offer 7 more GPIO pins than the standard Arduino shield- and are great for quickly trying out new IC designs  - like the FT812.

 

The extra headers and resistor network on the underside of the pcb were to allow this board to be used as a VGA output on the STM32 Discovery F7 board.  We use the Disco F7 at work - and I thought it would be neat to add a big screen. These parts would generally be omitted in normal use on the Papilio Duo.

 

The version shown is one that I was toying with the placement of the microSD connector - as this is an important addition to the design - as it allows images and mpeg videos to be screened through the  FT812 chip.

 

The voltage regulator is a very standard MCP1702 3V3 250mA low dropout regulator from Microchip - costing a few tens of cents. It drops the 5V raw power to 3.3V for the FT812 IC - which is not 5V tolerant.

 

When I first powered up this board it was barely using 10mA - so there's plenty of current in reserve - and you have the possibility of running this off a Lithium battery if your application needs that kind of portability.

 

Video Resistor Networks

 

These are key to the creation of the analogue VGA video signal. You will see a row of 8 commoned resistors, for each of the Red, Green and Blue video outputs from the FT812 IC.

 

The resistor networks are basically a string of commoned resistors that increase from approximately 500 ohms in binary powers of two - up to 63.4K ohms - which is as close to 64K as  the standard 1% resistor values allow.  The 8 bit digital word presented to the resistor network creates a multi-input potential divider circuit - acting in conjunction with the 75 ohm termination resistor inside the video monitor.  With all bits set high, the combination of currents created in the network should sum together in their specific binary values and create a voltage of about 0.7V at the video input of the monitor.  This is a very simple way of creating a low cost video DAC - using nothing but Kirchoff's and Ohm's Laws! 

 

Now XGA!

 

James has done great work in stretching the capabilities of this board to a full XGA  which is 1024 x 768 at 60Hz.  This has been done with a minor tweak to the frequency of the external crystal.

 

The idea of this shield is that it provides a complete computing environment to complement the power of the FPGA - providing video, microSD, PS/2 keyboard and mouse interfaces.  I am currently also looking at breaking out the audio signal from the FT812 - and providing some support for a games controller.

 

Host processors!

 

This shield may be used with Alvie's ZPUino soft cpu - providing enhanced speed, over that of a standard Arduino - and we expect to be able to update and port James's GameDuino 2 library across to the ZPUino - so that it takes full advantage of all the new features of the very much enhanced FT812.

 

Alternatively - if you want to start off with either the ATmega32U4, or a simple 8-bit soft cpu (6502 etc)  - you get the full performance of the FT812 graphics engine - without putting a whole load of demand on the 8-bit processor.

 

If you are a Forth enthusiast, and have followed the progress of James's J1b processor - here is an opportunity to add this embedded video engine to a J1b Forth processor - and have a complete Forth computing environment hosted by the Papilio Duo.

 

Have your Say

 

Over the next few week's we will be taking on feedback, refining the design and producing some cool demos.

 

We also have a few of the prototype boards to give away - to those who really want to get their hands on an early unit.

 

Some of the broad ideas we would like to try on this new hardware:

 

Large screen games - using the existing Gameduino 2 Ecosystem

Retro Computer

Jpg and mpeg player

Virtual Instruments - such as oscilloscope, multimeter, logic analyser etc - all on the big screen

Forth Computer

FPGA Learning Platform - a combination of Papilio Duo and video hardware to learn basics of digital logic, FPGA and computer design - similar to "Nand to Tetris" course.

 

We are very excited about the possibilities for this new project and would love to hear what you would like to see go into it.

 

 

Ken 

Share this post


Link to post
Share on other sites

Hi All,

 

We have had a bit of discussion over on the GameDuino Community

 

http://gameduino2.proboards.com/thread/279/800-600-gameduino-shield?page=1&scrollTo=1103

 

Here are some suggestions arising:

 

 
The following have so far been has proposed for the future version:
 
1. SPI chip selects compatible with GD2 for SD and FT812
2. Support for analog joystick and Wii Nunchuck on A0 A1 (Analog) and A4, A5 (I2C)
3. 40 pin FPC connector to allow direct access to all LCD signals to allow plugging a larger LCD (eg 7") or HDMI adaptor
4. RTC suport - this could be a supercapacitor backed-up MCP74910 
5. Support for Li Po cell - for total portability  
6. 3 x 2 header and D14, D15 to pick up the R3 I2C and SPI signals
7. Extending the pcb by 0.7" to it's bottom edge would allow a Teensy 3.2 (ARM Cortex M4)  to be plugged in directly - for super compact operation.
 
 
 
Ken

Share this post


Link to post
Share on other sites

not sure how applicable it is, but the biggest pet peeve i have with the duo shield/arcade megawing is a lack of dip switches to change game options without resynth things.

will read up on the project. thanks for the links.

Share this post


Link to post
Share on other sites

Hi All,

I know that this is an old topic, but in the event that anyone is still thinking about this.  There is a vast community of people who need to overlay data on HD video in real time.  Currently, there is no inexpensive real time solution, the only inexpensive way to do this is to use a computer to add it after the video has been recorded.  There are a few real time solutions, but they are very expensive at over $1,000 US each.  So my question is, would it be possible to use one of the FTDI EVE chips to process a live video stream and add data over the video?  I believe that the market is truly quite large.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now