STM32 Mini Computer
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.
The buttons on the right side of the menu is from Microchip’s Graphics Library, which I ported to the STM32.
httphd://www.youtube.com/watch?v=v3PYSW7yE4k
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
Hi Tomas,
I’m runnig the demonstration software for the STM3210E-Eval. I displayed the main menu & the icons and now I need to change these icons with some other icons according to my application to load them after that to the Internal Flash.
Can you please help me with this ??
Best Regards
Excellent window system. Good project. Just try to LCD Wf57e.
I quickly start a pay-for STM32F107 and LCD WF57E. Today it happened. From the library refused. It is very slow. Thanks for the video.
Hello, I’m from Brazil. Engineering Study. I bought an LCD identical to this one. I’d like to learn to control it. not found much material. In my case I intend to control using PIC 18F4550, think possible?
I thought of using SPI. and store images on SD card.
What are the limitations?
Could you give me some tips or materials to help me succeed?
Never fuse with graphic LCD …
Thanks
Yes it is possible and with good results!
Take a look at Microchips Graphics Library – you need to have MPASM and C18, but you can get those as free student editions!
Those will get you started, but I can also help you…
Best Regards
Thomas Jespersen
Hello. I still have some questions and doubts about the control of this LCD. Well, i am using, as i said before, the microcontroler PIC18F4550 @ 5V, but i need 3.3V for the power supply of the LCD, so the question is, what regulator do you recomend me to use in order to get the 3.3V necessary? If you used one, which one did you use, or do you have any other sugestion or tip to give me?
Best Regards
Lucas Romeiro
In this project I’m using an LD33V voltage regulator, but if you are going to control the display with a 5V controller, you have to make some voltage translations on the digital lines (such as Clock, Latch, data…)
This can be achieved with a couple of resistors though – http://en.wikipedia.org/wiki/Voltage_divider
http://delphys.net/d.holmes/hardware/levelshift.html
Hello, you used some program to make the menus? need all possible information, I program in C.
know this program: http://www.ramtex.dk/gclcd/glcd0129.htm
It seems to be interesting and very useful. most do not know very well …
communication of your lcd is spi?
Thanks
@Mariem
Sorry for the late response, your comment was lost in my Spam filter 🙂
Unfortunately I haven’t tried the STM3210E-EVAL board, but I’ve took a look at the code, and it looks pretty straight forward.
But I don’t know exactly what you are trying to do and needs help with – could you please explain?
Thomas
Hi Thomas.
Are you sharing the code, etc?
I’ve found a similar board/LCD display (not the same models) and thought about trying out a demo using an STM32.
Thanks. 🙂
@Marty McLeod (micro_engineer)
I’ve now uploaded this project with some extra things like viewing images or playing MIDI or MP3 files from SD card.
You can download the project here
@Lucas Romeiro
Hi Lucas.
No I didn’t use any program to make the menus. They are made from scratch, by using some of the functions from Microchip’s Graphics Library, ported to the STM32.
You can download the project now – so have a look 🙂
The current display setup is communicating using a standard 8080-interface, which includes a 16-bit data bus, CS, RS, WR (Clk for Write), RD (Clk for Read)
Hello,
Great job!
I just wondered what did u use to make the code? did u use an ide like eclipse, coda or so?
i’m switching from arduino/java to the world of uC.
Regards
@Lo
Hi Lo.
Yes, I use the Raisonance RIDE IDE. This IDE makes it alot easier to get started, as you don’t have to mess with makefiles and such.
The IDE also includes the GCC ARM compiler, so you can just press Compile, and then you have a HEX file, ready for programming.
Thomas
@Thomas Jespersen
Hi Thomas, thank’s since i did check your project, it is great to port the microchip library to stm32, i have read somewhere in the blog that you first tried to code for the ili9320..Do you still have these port?
My stm32 board is the exact same than your exept it has a ili9320, and i d’like better use the ported microchip library than micrium os/gui, wich is a commercial thing.
I was near buying a microchip or even 4dgl lcd (seems great too) but your microchip library to stm32+coocox could be an good/better solution. Please let me know
Regards
Hi Lo.
I have worked with the ILI9320 on the Arduino, but not on the STM32 yet.
I have recieved a ILI9320 or ILI9320 display (can’t remember), which I’m going to connect to the STM32 in the nearest future.
When I’m going to play with that, I will of course write a library for it, and then also implement the Microchip graphics library.
Best Regards
Thomas Jespersen
Hi! Excelent project. I try to make HY32D Display and STM32F103. Please help port to this on Keil. Thank a lot of!
@Eugene
Hi Eugene.
It looks like the HY32D display uses the SSD1289 so you would have to write or find a driver for this specific controller.
This might actually be a good start: http://code.google.com/p/stm32radio/source/browse/trunk/stm32radio_examples/examples/4_gui_examples/ssd1289.c?spec=svn74&r=74
From that code you can have some good indication of which registers you have to write to, to set up the display properly!
Or why not take a closer look at the Sample Code for the Mini STM32 module by Micro4You: http://www.micro4you.com/files/STM32/Mini_STM32_V4_2012.2.28.rar
It comes with a 3.2″ display also using the SSD1289 and the code is made for Keil, just as you requested 🙂
Best Regards
Thomas Jespersen
hi
great work, can you tell me which compiler did you used, can i use coocox for this project?
thank you
@Qasim
For this project I used Raisonance Ride7 compiler as it was free of charge at that moment without any limitations. Unfortunately things have changed so it is not unlimited anymore.
But you would for sure be able to port this project to CooCox relatively easy. As long as you make sure to use the CooCox provided project and core processor files (system_stm32f10x.h etc.) you should be good to go.
Regards Thomas
You mentioned in your code that You have a problem writing to the flash.
I’m wondering why the flash address You’ve chosen 0x7F808
AS I’ve learned flash adress area starts from 0x80000000
Whould it be better to name table like const TblCfg[1024], locate it at beginning of flash area
and write to it?
Bob
@rosaldo
Dear Bob.
You are indeed right. This project was made a very long time ago where my experience with the STM32 toolset were more or less limited.
So especially when going to write and save parameters directly to the flash I had no clue.
Though now I have learned and discovered much better methods including compiler specific definitions for assigning a special area in the flash for use with parameters etc.
Just like you mention with a constant table that, thru the linker script, is then assigned to a specific address.
Regards Thomas
Owww Great work! please I have a project to study” the creation of a stopwatch on stm 32L”! and I am null .. if you have this project or source code please help me. thank you :))))
@Tom
Hi Tom.
I don’t have the source code for it, nor have we tried working with the L1 series.
When it comes to compiler choices you could have a go with the free but limited Atollic TrueStudio or you could start a bit more advanced and set up an Eclipse base free and unlimited GCC environment.
Best Regards
Thomas Jespersen
Hi,
How easy would this port to the STM32F4 discovery board?
How would this compair with the PIC32?
Regards,
Colin
Hi Thomas, i want to know how you make the clock runs at the same time with the program? Because i can’t do it, with a make the clock stay running i can’t go out the while or for without stop it.Can you help me?
@Colin Forster
It would be fairly easy due to the same structure of the code, between Cortex M3 and Cortex M4.
You would only have to replace the Standard Periphiral library and make sure that my code works with this new library.
@Fernando
Hi Fernando.
In this project I’m using the RTC of the STM32 to set the time and keep it running even when the power is gone, sue to a backup battery.
I am just setting the RTC and then the system takes care of the rest – and I can simply read the time.