Posts Tagged ‘Display’

STM32 Mini Computer

March 31st, 2010 28 comments

Hi again.
Today I’m going to talk about my mini computer I started making with the STM32.
It’s powered by the STM32F103RET6 stamp board from Futurlec, and it is clocked at 72MHz. Right now there isn’t any “real” applications or games in it, but theese are under development.

You can see some pictures about it here, but I’ve also made a video where you can see it in use.

Mini Computer - The Menu

The buttons on the right side of the menu is from Microchip’s Graphics Library, which I ported to the STM32.


Edit, 29. September 2010:
I’ve now uploaded this source with some extra things like viewing images or playing MIDI or MP3 files (requires VS1053 chip) from SD card.
You can download the project here

Categories: ARM Tags: , , ,

Arduino Mega and ILI9320 Display

March 28th, 2010 33 comments

Hi everybody.
Last week I started making a ILI9320 library for the Arduino Mega, as I was hoping it would work with my 2.8″ Display (with a ILI9320 controller of course).
After a couple of hours I’ve made the code doing the timings correctly, and then I made a simple PutPixel routine. It worked, so I continued to make a Text function, and afterwards different polygons commands.
When I had made all these commands I began to optimise everything, as the Arduino isn’t running fast enough, so a complete screen clear takes about 2-3 second. After a couple of days optimizing, I got it down to 1 second, and other commands such as rectangle was alot faster. I had also made a function so I could “scroll” the screen – which is descriped in the ILI9320 datasheet!

Here you can see some pictures of the final version, and download the code here: Arduino Mega and ILI9320 code

Arduino Mega and a 2.8-inch display (ILI9320)

A close up of the Hello World screen

And here is a user posted video of the library in action on an ATMEGA16A.
Thank you to ‘Maarten van ingen’ for showing us this video.

320×240 Color Display – SSD2119

January 27th, 2010 55 comments

I finally got the display I bought on eBay to work. It took me a lot of hours as the man I’d bought the display from told me that the display controller was an ILI9320, so I started making code for the display like it was using an ILI9320 controller.

But as it didn’t work, I started debugging using my Raisonance RLink, and just when I looked at the Device variable – a variable which holds the controller number, and is loaded at the initialization process of the display, it showed me that it was an SSD2119 controller.

So I found the SSD2119 datasheet and started recoding using the new Command calls found in the datasheet… Finally it worked and showed some life 🙂

So right now I have a working SSD2119 code with SetPixel, Text, Circle, Rectangle, Fill and some working Touch Screen commands for the onboard ADS7843 touch screen controller.

Please take a look at this image to see the display in action:

SSD2119 seen from top

SSD2119 from top

SSD2119 Pringles example

The current GUI commands I’ve made is:
void Lcd_Text(u16 x, u16 y, u8 *str, u16 len,u16 Color, u16 bkColor);
void Lcd_Line(u16 x0, u16 y0, u16 x1, u16 y1,u16 color);
void Lcd_Circle(u16 cx,u16 cy,u16 r,u16 color,u8 fill);
void Lcd_Rectangle(u16 x0, u16 y0, u16 x1, u16 y1,u16 color,u8 fill); // Slower than Lcd_ColorBox
void Lcd_Square(u16 x0, u16 y0, u16 width, u16 color,u8 fill);
void Lcd_ClearCharBox(u16 x,u16 y,u16 color);
void Get320240PictureCode(u8* pBuffer,u32 BufferCounter,u32 BaseAddr);

void Lcd_FastRectangle(u16 x0, u16 y0, u16 x1, u16 y1,u16 color,u8 fill); // Faster than Lcd_Rectangle
void Lcd_FastSquare(u16 x0, u16 y0, u16 width, u16 color,u8 fill); // Faster than Lcd_Rectangle
void Lcd_FastClearCharBox(u16 x,u16 y,u16 color);

void DispPic320_240(const unsigned char *str);
void DispPic(u16 x0, u16 y0, const unsigned char *str);

DispPic320_240 and DispPic uses a byte array to show a image – the byte array is converted from a 24-bit .BMP (bitmap) file using a program I’ve made in Visual Basic .NET!

You can download the STM32 code for a Paint Demo application I’ve made here: SSD2119_PaintDemo
OBS.: The project files in there is for Ride7, but the code can be used together with ARM-GCC

Categories: ARM Tags: , , ,