In part 1 of this two part series I presented the hardware design and build for the Nokia 6300 TFT that shows how we can connect it directly to the external memory interface of the Arduino Mega and that by doing so we achieve the fastest possible interface between the TFT and the Arduino...
16 channel level converter with dual regulators
posted by Andy
If, like me, you’ve spent a lot of tinkering with things like TFT modules and other highly integrated peripherals then you’ll be familiar with the depressing section in the device datasheet that looks like this: The DC characteristics table tells you the voltages that a device expects to receive and these days it’s common for multiple voltage levels to be expected and sadly for those of us that still occasionally use the Arduino, 5V (TTL) level tolerance is becoming rarer as manufacturers switch over to ever lower CMOS voltages. Even though I mostly use the STM32 3.3V ARM MCU it’s still quite common to see a...
avr-gcc 4.7.0 and avr-libc 1.8.0 compiled for Windows
posted by Andy
At the time of writing, April 2012, the gcc team have released version 4.7.0 of the compiler package and the avr-libc developers have also released version 1.8.0 of the avr-libc library. Version list Tool Version Configuration avr-gcc 4.7.0 –with-gmp=/usr/local...
stm32plus: ILI9481 TFT driver
posted by Andy
The code presented in this article requires a minimum of version 3.0.0 of my stm32plus library. The TFT panel The ILI9481 is a driver IC for 480×320 (HVGA) TFT panels. These panels are typically found in mobile phones (for example the iPhone 3G although the display in...
stm32f4discovery: Up and running with the ARM Cortex M4
posted by Andy
The stm32f4discovery is the ARM Cortex M4 evaluation board from ST Microelectronics. I’ve been following the progress of the Cortex M4 since its launch, looking for the right time to dip in give the new MCU a test drive. That opportunity came with the launch of the stm32f4discovery...
stm32plus: FAT32 & FAT16 drivers
posted by Andy
The code presented in this article requires a minimum of version 2.0.0 of my stm32plus library. Filesystem drivers stm32plus comes with a full featured, object-oriented FAT32 and FAT16 driver written by myself from scratch based on a close adherence to the official Microsoft...
Reverse engineering the Nokia 2730 QVGA LCD
posted by Andy
You may have noticed that I have a bit of a ‘thing’ for the little TFT displays that you can commonly get on ebay. There’s something satisfying about writing your own driver code and seeing one of these little panels come alive with your graphics. Why the 2730 LCD? It’s high resolution (320×240, 200ppi) which means that graphics will look good. It’s used in a lot of models: Nokia 5000, 2730, 5130, 5220, 7100. Good for availability. It’s cheap, as low as £3.99 on ebay. It supports 262K (18-bit) colour mode. It looks like I can find the connector for it. Don’t underestimate the difficulty of...
stm32plus: A full photoframe application
posted by Andy
The code presented in this article requires a minimum of version 2.0.0 of my stm32plus library. About this article For this next article in the series of stm32plus C++ demonstrations using the STM32F103 series of ARM Cortex M3 microcontrollers I thought that I’d take a...
Exploring the KSZ8091RNA RMII ethernet PHY
posted by Andy
In my previous two articles (here, here) I’ve provided schematics and Gerbers for a breakout board that supports the Micrel KSZ8051MLL ethernet PHY. The KSZ8051MLL is an MII PHY manufactured in a reasonably easy to work with 48 pin quad-flat package. One of the burdens of MII is that it...
Hacking the HP Z800 Xeon motherboard into a standard case
posted by Andy
About four years ago now the company I work for were investing in some new servers for a project that we were working on and what turned up were quad LGA1366 socket Xeons with support for up to 192Gb of memory. In most cases two sockets were populated with Intel Xeon X5670 CPUs, hex core...
ST-Link v2. One programmer for all STM32 devices
posted by Andy
Over the last few years I’ve amassed quite a collection of STM32 development boards. Third party boards dominate my collection for the F1 series whilst I have official ST discovery boards for the F0, F4 and F1 Value Line. We’ve been lucky with the official ST discovery boards...
An FPGA sprite graphics accelerator with a 180MHz STM32F429 controller and 640 x 360 LCD
posted by Andy
A very warm welcome to my most ambitious project to date. In this project I’m going to attempt to design and build a sprite-based graphics accelerator that will function as a co-processor to an MCU. Using cheap off-the-shelf components I’m hoping to achieve a level of gaming performance that compares well to popular commercial hand-held gaming consoles. I’m hoping that I’ll learn a few new tricks along the way, and, if the ideas currently zinging around inside my head all land the right way up and in the right order then I should be able to write a demo or two, maybe even a small game as a proof of concept. Naturally...
An open-source Cortex-M0 halogen reflow oven controller with TFT LCD
posted by Andy
Introduction It’s been so long since I had the idea for this project that I can’t remember why I had the idea in the first place. At least I blame it on the passage of time although this engineer is getting on a bit now so it could easily be memory rot on my part. So here we are then, a reflow oven controller. Let’s quickly recap what a reflow oven is for those that are new around here. The two main processes used in industry to build printed circuit boards are wave soldering and reflow using a very large industrial oven that you probably can’t afford and if you could afford to buy it you probably couldn’t...
The KSZ8051MLL Ethernet PHY revisited
posted by Andy
It’s been more than a year now since I brought you my design for an ethernet PHY based on the Micrel KSZ8051MLL. The design was an unqualified success and I’ve been using it successfully with both the STM32F107 and the STM32F4 series MCUs coupled to the TCP/IP stack that I wrote...
stm32plus 3.2.0: Supporting the STM32F0 Cortex M0
posted by Andy
A few months ago I made the decision to start supporting the lower priced, hobbyist friendly STM32 devices in my stm32plus C++ library. These lower-end devices come in lower pin-count, smaller packages that are easier to work with and they have reduced clock speeds that make for fewer PCB...
stm32plus 3.1.1: Supporting the STM32 VL Discovery
posted by Andy
If you’ve been following the releases on my stm32plus github repo then you’ll already be aware that version 3.1.1 has been released. The main feature of this new release is support for the STM32 Medium Density Value Line devices, exemplified by the STM32 Value Line Discovery board...
Reverse engineering the Sony Ericsson Vivaz high resolution 640 x 360 cellphone LCD
posted by Andy
Welcome to another in my series of cellphone LCD reverse-engineering articles. In this article I’m going to present everything you need to hook up the high-resolution 640×360 LCD from the Sony Ericsson U5 Vivaz to your project. About the phone and LCD The Sony Ericsson U5 Vivaz LCD...
Reverse engineering the LG KF700 480 x 240 widescreen cellphone LCD
posted by Andy
Hello and welcome to my first published non-Nokia cellphone LCD reverse-engineering effort. All my articles in this series focus on bringing you all of the details that you would need in order to connect a low-cost cellphone LCD to an MCU for use in your own projects. This one is no different. I will explain the pinout and the signals. I will tell you about the connector and where you can buy it and I will tell you about the controller IC and of course I will give away the complete source code driver for that controller. Let’s get started. The LG KF700 The KF700 was released in 2008 and is now a discontinued model. It featured a 3.0...