4

I'm looking to make an FPGA (or similar) physical prototype, but including a small touch screen display.

(Picture a 2" or similar touch screen display. For example, imagine say some sort of small battery-powered toy with a small touch screen display.)

What's the best solution out there for today?

halfer
  • 19,824
  • 17
  • 99
  • 186
Fattie
  • 27,874
  • 70
  • 431
  • 719
  • Joe, why not ask here: http://electronics.stackexchange.com/ And what is your question? How to select LCD, or only touchscreen? How to connect it to FPGA? You need at least ADC to work with plain 4 or 5-wire touchscreens, or some external touchscreen chip ([it can have i2c interface](http://electronics.stackexchange.com/a/34856/1994) or SPI for example). You can start from reading schematics of some commercial FPGA+Touchscreen solutions, like ... [nanoboard](http://wiki.altium.com/pages/viewpage.action?pageId=9535948) – osgx May 10 '14 at 05:12
  • Fantastic suggestion on the electronics board, Osgx, thanks. Also, could you delete your comment and make it an answer so I can "bounty" it ? – Fattie May 10 '14 at 14:07
  • In answer to your question I guess I'm looking for one or more examples of "what I could buy" which performs these tasks ... (probably very obvious to you as an expert in the field!) – Fattie May 10 '14 at 14:08

1 Answers1

5

First: There are several types of cheap touchscreens: resistive and capacitive (intro from 3m). And under touchscreen I mean touch panels (digitizers) - the thin multilayer panels which feels touches, but don't display anything. Touchscreens can be combined with LCD/OLED screens to get display with touch capability. Resistive touchscreens are sensitive to pressure, and you can use any stick to press them, they also had problems with multitouch (sensing several touches at same time). Capacitive touchscreens are often used now in smartphones (since iPhone), and they sense capacitance of human body, working only with fingers or special conductive styli.

Resistive touchscreens usually have 4-wire or 5-wire analog interface (short description) to touchscreen controller. If you want to plug this directly into FPGA board, you need ADC (analog-to-digital converter, sometimes up to 10-12 bit precision) to measure coordinates of touch point.

Capacitive touchscreens usually have more complex interface with complex medium-frequency signals (25-200 kHz). Simplest panels still have 5 wires, but Cypress's "Touchscreens 101" lists two more advanced panels with 11 and 20 pins. It will be very hard to implement (and calibrate) your own touch controller in FPGA even with good ADCs and DACs.

So, our second step is the touchscreen controller ASIC: the device between microcontroller or FPGA and the touchscreen. Controller will do all needed magic to detect touches and translate information about them into some digital protocol, like COM (RS-232) or USB in ancient controllers for PC, or simple SPI and I2C for microcontrollers and FPGAs (you should know how to implement SPI/I2C for FPGA; the fpga4fun site may help you: spi, i2c). Many small touchscreens sold now may include some controller, integrated into their PCB or flex wire.

Third step: if you want to make prototype with LCD display and touchscreen, especially with small size LCD (up to 6″), the touch panel may be already integrated into display. And because virtually all LCD have the controller to output some information to display (again, fpga4fun has some introduction into using LCD with FPGAs), they probably will have integrated touchscreen controller too.

Now we can start speak about your case: "what I could buy". If you already have FPGA board, you can search for some LCD+touchscreen for some popular hardware prototyping platform, e.g. for ardoino or raspberry pi. For example, adafruit shop has both separate touch panels, lines and buttons even without controller: http://www.adafruit.com/category/60. Also they have several LCD+touch like 2.8" TFT with STMPE610 touch controller (both SPI and I2C, selectable via pin). There are several on sparkfun.com too. Make sure that you understand how to connect the LCD to FPGA, both electrical and protocol requirements. Check is there touch controller, or you need to implement it in the FPGA with ADC (and there should be ADC on your FPGA board).

If you don't have FPGA board or if you have no any FPGA experience, it can be better (and costly) to find FPGA kit with optional LCD+touch, but not from chinese vendors. There are lot of chinese kits in cheap section of ebay's search "fpga touch", but they may have not so good tutorials and demo projects as right vendors. There are 7" kit from Terasic (2000 USD, VEEK-MT-C5SoC), or 7" 250USD LCD+touchpanel module for 1800 USD DE3 or 600USD DE2 FPGA boards. And for Digilent, there is 150 USD VmodTFT 4.3" TFT+touch (manual) compatible with Digilent boards with VHDCI connector, like 300 USD Nexys 3 board, 450 USD Atlys board, or 1100 USD Genesys superboard.

PS: Are you sure that you need FPGA? There are several arduino prototypes with TFT/LCD/OLED, like the smallest "microview".

osgx
  • 90,338
  • 53
  • 357
  • 513
  • Amazing answer with a wealth of information! :O Thank you. Right off the bat, (a) correct, I am absolutely unsure if I need FPGA: as you say perhaps Arduino is the solution? or something else? (b) yes, I did mean a "touch screen + display combo". Again thanks I am digesting your answer!!! – Fattie May 11 '14 at 10:00
  • If you have no knowledge of verilog or VHDL, FPGA is longer way. There are different microcontrollers, and many of them can be programmed in C; they have GPIO pins and can talk in any protocol if their clock frequency is high enough. If you need result faster, I think it can be easier to use some popular platform like 30-60 USD arduino and 40 USD "2.8" TFT Touch Shield" or "1.8" 18-bit Color TFT Shield" extension board. They are bit overpriced, but still cheaper than FPGA and easier to start. – osgx May 11 '14 at 10:53
  • You're kidding, something like the "2.8" TFT Touch Shield" is a display, with a touch screen .. and it's around $50?! Priceless information thanks!!! I guess this is the one you mean ... http://www.makershed.com/2_8_TFT_Touch_Shield_For_Arduino_p/mkad36.htm – Fattie May 11 '14 at 16:50
  • There's one for $35 ! http://www.adafruit.com/products/1770 – Fattie May 11 '14 at 16:54
  • Joe Blow, it is still 40USD, and this one is without touch controller ("*4 pins are required for the touch screen (2 digital, 2 analog) or you can purchase and use our resistive touchscreen controller (not included) to use I2C or SPI*"). Also you need arduino board to drive this. They [have software controller](https://github.com/adafruit/Touch-Screen-Library) for touchscreen, but it will occupy some precious resources of microcontroller. I checked TFT displays with touch on adafruit, not on makershed. Also note "*they are bit overpriced*". – osgx May 11 '14 at 18:11
  • Joe Blow, you can restart bounty, the only limit that new bounty should be at least twice than previous and still in allowed bounty interval. If you have more questions, ask them at electronics.stackexchange.com and please, add more detail about your final targets. – osgx May 11 '14 at 18:25