Archive for March, 2010

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.

mini2440 – My new ARM toy

March 7th, 2010 15 comments

Last week I recieved a new ARM toy. I unpacked it a minute after I got, and started messing with it straight ahead – and that’s why I’m first writing about it now 🙂
It’s called mini2440 and it has a Samsung S3C2440A ARM920T chip, clocked at 405 MHz (Max freq. 533 MHz), and a 3.5″ touch screen display on top. There is also 2MB NOR flash, 64MB SRAM, and 128MB NAND flash (you can get up to 1GB) on the board.

The mini2440 board

The mini2440 has alot of connection possibilities, as there is both a USB slave, USB master (OTG), ethernet, RS232, SD card slot and sound output. All these are routed to real connectors, but there is also alot of GPIO’s which is routed to small pin headers and connectors. There is also a microphone soldered to the board!
You can read more about the mini2440 board here:

The mini2440 board without the LCD


As the ARM920T hasn’t any flash itself, it is connected to a NOR and a NAND chip. In the NOR chip there is a bootloader called Supervivi, which makes it easy to upgrade the NAND chip and set boot-options in the NOR, using the USB and serial (RS232) port.

The Supervivi menu

The mini2440 comes preinstalled with Linux 2.6.3 and a graphics layer called Qtopia. But as I haven’t messed alot with Linux I started investigating other opportunities.
Some of the operation systems (also RTOS’s) which can be installed on the mini2440 are for example:

  • Linux 2.6.3 and Qtopia (Linux)
  • Embedian (Linux)
  • Angstrom (Linux)
  • Android (Linux)
  • Windows CE 5.0
  • Windows CE 6.0
  • uCos (RTOS)

Of course it is also possible to write code for the board without using an OS – this can be done in different ways

  • Writing code for the 2MB NOR chip, and then boot from that
  • Writing code for the NAND chip – this requires a specific bootloader which is placed in the bottom of the NAND chip

Right now I haven’t tried any of theese, but I have removed the Linux and installed Windows CE 5.0 and afterwards Windows CE 6.0. The great thing about Windows CE 6.0 is the .NET 3.5 Framework. This does the application development much easier, and I’ve already made my first “Hello World” application!



It took me hours to get started, as the CD which came with my mini2440 only included the Chineese manual.
But then there is two amazing sites:

  • And also the IRC channel on Freenode called #mini2440

Theese helped me getting started – but remember, the mini2440 is not for beginners. It requires a clear mind, and alot of time!

So to help you who may find it difficult to get started, I’ve uploaded some usefull documents and files.

In the following weeks I will upload more things, and write a couple of guides to get started… Especially guides about getting started with Windows CE 6.0 development, as I’m doing right now!

Categories: mini2440 Tags: , ,