Hello again FPGA lovers! Today’s project is a challenging one where you build an autonomous search and rescue vehicle with FPGA! The projects involves the use of 2 vehicles, where one searches for the target with the aid of an FPGA, while the other uses minimal sensory aids to follow the search beacon and rescue.
The whole project has been divided into two steps, where the first step contains the hardware requirements. Apart from your FPGA, some of the other materials needed are an LCD screen, infrared thermometer, ultrasonic sensor, Dual DC motor drivers, logic converters, Rotary encoders and even a magnetometer. A detailed list of all used materials, their significance and connections are given in step 1 by the author.
The author has used VHDL (.vhd) for coding, and the code is available here. The zip file has been divided into the binary code and source code. You will find everything you need with detailed modules regarding each hardware part in the source code folder. The code can simply be uploaded onto the board and run for the search vehicle. The rescue vehicle directly follows the search vehicle and needs very little sensory aids.
The project’s documentation, presentation and source code is available here, and you can refer it for a detailed modus operandi of the project. This FPGA work is a combination of a number of interfacing techniques such as LCD with FPGA, DC motor drivers with FPGA and more. It is an apt project to test your mettle in the field of FPGA, and the result is truly worth the effort!
Welcome back to the track of using your FPGA to display things. Today´s tutorial will teach you how to use the LCD screen of a PSP to display colour graphics from an FPGA. The main goal is to show three colour stripes on the screen but the author goes beyond that and adds a quick intro about displaying more complicated graphics. That´s for you to explore and invent or wait for the next tutorial.
The great advantage of using an LCD screen, instead of traditional screen is getting rid of the annoying analog VGA signals. Everything here looks like zeros and ones. On the bright side, LCD technology is pretty similar to CRT and thus the controllers take almost the same input signals.
As any other project from this guy, this one is also very thoroughly explained. You will find the part list plus all the schematics, among other nice stuff.
Although the core of this project is programming the FPGA with VHDL to properly control the PSP LCD screen, there is also some handwork. Quick thing but funny as always. Going back to the brain, it´s very important that you follow the theory explained to properly understand what the code is doing. Yes, the code is given, but you should understand what is going on there if you want to display pretty cool things.
What´s left now is you to take action and show us what you can display on the LCD screen!
This great tutorial brings you all the information you need to add a screen to your FPGA. You will learn about how to choose the appropriate parts for this project, the schematics and as it couldn´t be otherwise, you will also get to know the theory. Mainly, this article explains the theory behind the control of the LCD screen.
The control of the screen is achieved using a VHDL module. It is very important that you understand the theory so you can improve your design. The source code is given for the control of the LCD screen, so all you need to care about is for reading this carefully.
Finally, some quick instructions for building this up are given. This is quite simple as this project is very easy to implement but it has a great potential on your hands…
Have fun with this article and show it to the world with your screen!
Papilio Pro user James Glanville recently posted a great project that he’s been working on, over at the Gadget Factory forums. He was nice enough to share his code and some photos for the project, in which he has got his Papilio Pro hooked up to an old laptop LCD display that he had sitting around the workshop.
Here’s an excerpt from James’ project, as posted on the forums:
Hi, I’ve been playing with my ppro, and have got it talking to an old laptop lcd I had. I was amazed at how easy this was, so I thought I’d post a few pictures and some code. So far it draws a picture of yoshi (stored in rom), and animates a square that grows as it moves. Not very impressive, but I feel like I’ve laid the groundwork for my next experiments.
The yellow cable is just the original cable that would plug into the motherboard, wrapped in heatshrink for strength, with the 4 differential pairs plugging into C8-C15 (You can’t plug this into any port, not all of them have a full set of differential pins for LVDS). The black circuit board is a 3.3v step down converter to power the lcd electronics. The brown one is an inverter for the cold cathode backlight (I broke the original by shorting the HV to something). The fan is there because I’m overvolting the inverter (18v instead of 12v), and it gets a little warm without.
James points out that this really is a great way to get a display going for your Papilio for next to nothing – discarded laptop LCDs are pretty easy to come by! If you don’t have one, maybe think about swinging by your local hackerspace or thrift store.
Papilio user James wrote in on the the forums about his LCD display project that he has been working on. James is using his Papilio, a junked old Epson EG2401 monochrome LCD display, and a buffer board that he built from scratch. It’s similar to another junked display project that we posted a while ago, yet totally unique because he’s using a different display, which brings its own challenges that had to be worked out. Here’s what James had to say about the project:
[I’m working on] an old Epson EG2401 display. It doesn’t really have enough pixels for Lena, and a single dual-port block RAM suffices as the frame buffer. I made a buffer board to produce 5V logic for the LCD (using 74AHC541s) and used a MAX232 to generate the needed negative voltage.
I’d already done this with an AVR, and was able to get reasonably good grayscale by only setting lighter pixels for some fraction of updates. I might try that as my next step here. Avoiding flicker does require “overclocking” the display a good bit past what it was rated for, mine seems very tolerant of such abuse (I only started getting glitches when I gave it a 32 MHz pixel clock with the FPGA controller).
James has posted his code for the project on his GitHub here if you’d like to take a look under the hood!
We always love featuring your projects here on the blog, for the world to see what flavors of coolness you guys are dreaming up. So please! Keep sending them our way. A big thanks to James for sharing his work with us!
Gadget Factory forum user Alex received a junked old Hitachi screen from his buddy and decided to see if he could get it up and running. The screen is one of those older monochrome, low-resolution (256 x 128) green LCDs and is missing a controller chip. On the back of the display there are eight Hitachi LCD drivers, six column shifters and two row shifters. With no controller chip, the screen could not be driven in a static mode where you could just write image data to the internal memory. Instead, Alex had to figure out a way to use the LCD more like a VGA display where you must constantly send it data to refresh the picture.
Appropriately enough, Alex chose to use a cropped version of Lenna which has become a standard for image processing benchmarking.
To assist in getting this project off the ground, Alex found some applicable documentation:
I couldn’t find a datasheet for it or pinouts so I went old school and tracked down datasheets for the chips on board and did some reverse engineering of the schematic using a continuity meter. A very good datasheet resource is the “Hitachi LCD Controller Driver LSI Data Book” which is a compendium of a large number of Hitachi LCD controller chips.
Cool project, Alex! I guess that display still has some life in it after all. Comments section is open, so fire away if you’ve got anything to add!
Papilio user Alex has managed to drive an LCD screen with his Papilio Plus Board. He used an old broken laptop that was left unused for a long time and took the LCD apart which is a 15″ panel with 1280×800 pixel native resolution to try to drive it with the Papilio Plus FPGA board and fortunately he found a datasheet online with everything needed to start the project.
The LCD panel is driven with four LVDS differential pairs and the Papilio Plus has a LVDS output and that was perfect to drive it:
“Additionally the panel is driven with four LVDS differential pairs, three for data and one for clock. Currently I have all the signals soldered to a small perfboard with a header that plugs into wing slots BH and AL. The reason I chose these slots is because I need differential signal pins and no single wing alone provides these.”
Alex plans to make a board with a switch mode regulator that would have a barrel connector for power, a small pot for adjusting the brightness and a HDMI connector. He also said that the LCD panel is not HDMI capable but the HDMI connector is ideally suited for passing the high frequency data signals required to drive the LCD.
You can take a look at the PCB design that Alex submitted to Batchpcb after the break.
As you can see in the slider above FlorianH got a PSP screen up and running with his DE0-Nano FPGA board. the screen is a cheap Sharp LQ043 which is a 4.3″ true color TFT display and FlorianH has long wanted to use it for something and finally got it hooked up to his FPGA board.
FlorianH did a great job on designing a breakout board which has some traces that are less than 10 mils thick to connect the FPGA to the screen but the hardest part of the process was to Solder the backlight connectors of the screen onto the board:
“By far the trickiest part is soldering the backlight connector onto the board. But with a little caution it’s actually quite easy. I did it the hard way with a small tipped soldering iron. When I ordered the parts I had anticipated some trouble with these connectors so I ordered 3 of them to be safe and I did in fact destroy one of them in the process.”
He also wrote a very nice documentation and shared so many pictures to expalain everything and he added a price table for all the components that he used for the project.