Generic Nokia LCD hacking board Feb24

Generic Nokia LCD hacking board

Over the course of the last few months I’ve been presenting schematics and PCBs that you can use to attach various Nokia LCDs to popular microcontrollers. Today I’m going to go one step further and present the generic board that I use for hacking any Nokia LCD that happens to have...

stm32plus 2.0.0: a major release

The latest release is now 3.0.0. Be sure to check out the announcement here. I’m excited to announce that version 2.0.0 of stm32plus, the C++ library for STM32 devices has been released including lots of new features most significant of which is full support for the...

Reverse engineering the Nokia N93 QVGA LCD

Welcome to what will probably be the last in the series of articles in which I reverse engineer one of the Nokia QVGA cellphone displays from the pre-smartphone era. I think that by now I’ve covered every possible aspect of these incredibly cost effective little displays and hopefully...

Reverse engineering the Nokia N95 8Gb QVGA LCD

In this, the latest instalment of my Nokia QVGA TFT reverse engineering series, I will take on the 2.8 inch 24-bit TFT that is designed to work with the Nokia N95 8Gb mobile phone. Read on to see how it worked out. Background In the first of my reverse engineering articles I tackled the Nokia 2730 display. I successfully discovered enough of the command set to write a driver for the Arduino and the STM32. Flush with that success I moved on to tackle the Nokia 6300 and the Nokia N82. I was lucky in that these two shared the same pinout and command set as the 2730 so I could produce a development board with little difficulty. The N95...

An Ethernet PHY for the STM32F107 and STM32F4

A what? If you’ve never crossed paths with ethernet technologies before then you may not know what an ethernet PHY is. Well, it’s the physical transceiver that converts a well-known data-bus protocol implemented by your MCU into the physical signals that go down the wire. MCU...

Nokia N82 2.4 inch QVGA TFT on the Arduino

It’s been a few months now since I released the original two articles that detailed the design, build and optimised software library for the 2.0″ Nokia 6300 QVGA TFT connected to the Arduino Mega XMEM interface. Judging by the responses I’ve had, there’s a lot of you...

Interfacing the Nokia 6300 QVGA TFT to the standard Arduino

In two of my previous articles (here and here) I explained how we could connect the 8-bit 8080 interface presented by the TFT panel to the XMEM interface of the Arduino Mega to achieve a high performance full-colour graphical interface. I went on to present a high-performance open-source...

stm32plus: ILI9327 TFT driver

The code presented in this article requires a minimum of version 3.0.0 of my stm32plus library. The TFT panel The ILI9327 is a driver IC for 432×240 (WQVGA) panels. The panels are typically found in mobile phones; LG went through a phase of producing lots of phones with...

Nokia QVGA TFT LCD for the Arduino Mega. Design and build (part 1 of 2)

In two of my previous articles I showed you how to reverse engineer the Nokia 2730 LCD for connecting to a device with 3.3V I/O’s and then I showed you how to build a 16-channel level converter for connecting devices together that have differing I/O level requirements. This article...

Nokia QVGA TFT LCD for the Arduino Mega. Graphics Library (part 2 of 2)

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 May07

16 channel level converter with dual regulators

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 Apr28

avr-gcc 4.7.0 and avr-libc 1.8.0 compiled for Windows

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

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 Mar31

stm32f4discovery: Up and running with the ARM Cortex M4

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

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 Mar06

Reverse engineering the Nokia 2730 QVGA LCD

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

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...

PCB soldermask colours: which one should you choose? Jan05

PCB soldermask colours: which one should you choose?

I’m sure that all electronics hobbyists have, by now, noticed that anyone can get their PCBs printed at the online Chinese services such as Seeed Studio, ITead Studio and Elecrow. Many of you will have even used those services. I have, and I’ve used them often. Introduction When...

Exploring the KSZ8091RNA RMII ethernet PHY

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 Nov01

Hacking the HP Z800 Xeon motherboard into a standard case

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 Sep09

ST-Link v2. One programmer for all STM32 devices

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

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

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

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

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

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

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...