Library For Driving SSD1289 LCD Displays With Small Microcontrollers

[H. Smeitink] got his hands on a 320×240 color TFT LCD screen. He set out to drive it with a small PIC microcontroller but didn’t find a lot of help out there to get up and running quickly. This is surprising since it’s a really nice display for quite a low price (under $16 delivered on eBay at the time of writing). He decided to write his own library and support tools to help others.

The display includes an SPI touch screen, but since that works separately from the LCD controller, touch input is not supported in this package. The driver that he wrote is coming from a mikroC toolchain point of view, but it shouldn’t be too hard to port to your platform of choice. We took a quick look at the code and it seems all you need to do is tweak the defines to match your hardware registers, and implement your own delay_ms() function.

But he didn’t stop with the driver. You’ll also find a C# program which converts images to an array for easy use on the display. Incidentally, this is the same display which [Sprite_TM] got working with the Raspberry Pi.

Using An HD44780 Character LCD With The Raspberry Pi

[Tech2077] is one of the lucky ones who already got his hands on a Raspberry Pi. He’s been looking into different interface options with the GPIO header and just posted a guide to using an HD44780 character display with the RPi. We like this approach because instead of doing some hard-core LCD work he’s using prototyping equipment you probably already have on hand.

Getting a character LCD running should be really simple. The gotcha is the logic level gap between the devices. If you’ve been working with Arduino, your add-ons are probably meant for a 5V power rail  and logic levels. The RPi outputs 3.3V logic. You could use a level converter (you’d need at least 7 pins to be converted in this case) or you can be a bit more clever. [Tech2077] grabbed an I2C port expander that uses just 2 of the RPi lines to address even lines of the display (four data bits plus three control bits). This is a bit of a hack, as the 3.3V logic is 0.2V below the recommended minimum for a digital 1 on the port expander. But it seems to work just fine! If it didn’t, a couple of NPN transistors would do the trick as well.

Addressing the new peripheral is just a matter of loading the i2c module and writing some Python.

[Sprite_tm] Connects An LCD To A Tiny Linux Board

One of [Sprite_tm]’s colleagues recently challenged him to connect a small LCD touch screen to a Raspberry Pi. Sadly, [Sprite_tm] has yet to take delivery of a Raspberry Pi, but he did manage to connect an LCD to a Linux board without video capabilities.

Because [Sprite_tm]’s display has a 16-bit parallel interface, and 16 GPIO pins are hard to come by on the Carambola Linux board, a few shift registers had to be brought into the build to make the LCD work. These shift registers are connected to the Carambola board via an SPI interface; a very simple way to connect all the LCD pins to the Linux board.

Of course, there’s no way for Linux to speak to the LCD without a kernel driver; [Sprite_tm] wrote a framebuffer driver so the LCD can be used as a console, an X session, or used by any other program that can write to a framebuffer device.

Like all good driver authors, [Sprite_tm] is giving away the patch to enable SPI-ified LCD panels on the Carambola along with the shift register schematic. With any luck we’ll also see the Raspi drivers when [Sprite_tm] takes delivery of his Raspberry Pi.

Driving A Nokia QVGA Screen With Arduino (or Any UC)

This is a Nokia 6300 screen. It’s a 320×240 display that has about 2″ of diagonal viewing area and boasts 24-bit QVGA TFT technology. It’s going to look fantastic in your next project and it won’t be hard to get up and running thanks to the hardware and software guide which [Andy Brown] put together. He chose this display because of its features, but also because it’s really easy to source and can be had for $5-7 delivered. The guide is aimed at working with the Arduino MEGA, but we’re sure you can port it for just about any microcontroller you’d like.

Much like the FPGA PSP display we just looked at, [Andy] chose to design his own PCB to host the LCD. This makes it a snap to attach the LCD — literally, since he managed to source the correct snap-in connector. The board also hosts a constant-current LED driver which takes care of the backlight, and allowed him to build in a level converter (since the screen communicates at 3.3V but Arduino uses 5V logic).

The software tutorial is lengthy but impressive. We’re surprised at the performance he gets out of the AVR chip. See the screen cycle through a set of demos after the break.

Continue reading “Driving A Nokia QVGA Screen With Arduino (or Any UC)”

Driving A PSP Screen With An FPGA

Here’s [FlorianH’s] setup for driving a PlayStation Portable screen with an FPGA. He’s using the DE0-Nano board to do this, and the first order of business was to establish a way to connect the two. He did a great job of etching his own breakout board, which has some traces that are less than 10 mils thick. Soldering the connectors for the screen was a bit of a challenge, and he shared several pictures of the process for your enjoyment.

With everything hooked up he fired it up with just a couple of lines of code to draw a test pattern. From there it was on to building a more intensive driver. [FlorianH] mentioned to us that he’s just starting to learn about FPGAs after having worked extensively with 8-bit microcontrollers. He’s been documenting his work on his site, and finds himself frequently referencing his own material so remember how he did things. Our vicarious enjoyment is an unintended (but welcomed) consequence of that habit.

Remote Shutter Module Uses LCD Screen For Setup

Here’s a full-featured remote shutter project which [Pixel-K] just finished. It seems that he’s interested in taking time-lapse images of the cosmos. Since astrophotography happens outside at night, this presented some special design considerations. He wanted something that he could configure in the dark without zapping his night-vision too much. He also wanted it to be easily configured with a pair of gloves on.

The project enclosure is a 4x AA battery box. He removed the partitions between each cell, leaving plenty of room for the guts. Inside you’ll find a lithium battery and a micro-USB recharger board. It powers the Arduino mini pro which drives the 1.8″ LCD screen and actuates the optoisolator which is responsible for triggering the camera. On the right you can see the clear knob of the clickable rotary encoder. All of the user settings are chosen and selected using just this one knob.

He’s already tried it out on a 6-hour shoot and had no battery life problems or other issues.

Pimp My Scooter

[Glen] built this shiny party machine out of a pretty sad-looking scooter. We’d bet you’re wondering why we think it’s a party machine when it looks so common? The only real giveaway in this photo is the custom exhaust, but hidden in the body of the beast is 720 Watts of party power plus a whole bunch of extras.

When he gets where he’s going, [Glen] parks his ride and lifts up the seat to unfold the entertainment. Attached to the underside of the saddle is a 720 Watt audio amplifier. It drives one big speaker under the seat, as well as two tweeters and two mid-range speakers that were fitted into the front console. But these days a party isn’t a party without some video, and that’s why you’ll also find a 7-inch LCD screen suspended from the upright seat. Tunes and videos are supplied by an iPod touch up front, or the PC he built into the ride. All it’s missing is a gaming console!

Continue reading “Pimp My Scooter”