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

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

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

512Kb SRAM expansion for the Arduino Mega (design)

Often when prototyping with an Arduino you run into the memory limitations inherent in a microcontroller programming environment. The Arduino Mega series goes a long way to solving the program size issues, offering as it does 128Kb and 256Kb formats. But what about the SRAM? Even the mega only...