Arduino Mega 512K SRAM in shield format

Some time ago now I presented the design, development board and software driver for an add-on to the Arduino Mega that gave it access to 448Kb of additional SRAM arranged in 8 banks of 56Kb. My design was realised by a compact add-on board that plugged into the relevant block of pins on the...

stm32plus 2.1.0

The latest release is now 3.0.0. Be sure to check out the announcement here. Due to the use of c++0x features the minimum compiler requirement is now version 4.7.0 of gcc stm32plus version 2.1.0 has now been released and is available from my downloads page. This article will...

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