NHD-C12832A1Z Breakout

NHD-C12832A1Z breakout NHD-C12832A1Z breakout - back

If you're in need of a small, low cost graphic LCD, Newhaven Display's NHD-C12832A1Z series is a great choice. It has 128 x 32 pixels in a pretty compact 40mm x 25mm package, 1.5mm spaced through-hole pins so it's easily hand solderable, and it's controlled with SPI so it only requires a few digital pins on an MCU to use it. The two big downsides are that, with it's small-pitch pins plus a couple larger through-hole tabs for the backlight LED contacts it's not at all breadboard compatible, and it has a maximum supply and IO voltage of 3.3V (ideally 3V), so level shifting is required for interfacing with 5V microcontrollers. This breakout board aims to take care of those two issues.


The NHD-C12832A1Z Breakout includes a TPS79530 fixed 3V 500mA low-dropout linear regulator to generate the supply voltage for the LCD. The TPS79530 has a rated maximum dropout voltage of 170mV and a maximum input voltage of 5.5V, so the board can be powered by either a 3.3V or 5V supply (or really anything in the range of 3.17V-5.5V). The supply should be able to source up to at least 450mA, as this is the rated maximum current draw for the LCD.

Also included on the board is a CD4050 buffer, which is used to shift the SPI signals from the input level of 3.3V or 5V to the LCD's 3V level.

The board includes all external components required by the display, including a 10KΩ pull-up resistor on the reset line, and a 330Ω current limiting resistor in series with the backlight LEDs.


The NHD-C12832A1Z series displays use the ST7565R controller, and are fully supported by the awesome u8glib graphics library, which can be used with both Arduinos and the Atmel ATmega series using straight AVR C. To get started check out Oliver's tutorials on the u8glib wiki page, and use the



Purchase the NHD-C12832A1Z breakout:

  • Coming soon...


NHD-C12832A1Z Breakout is licensed under CERN OHL v1.1

Power management with LiPoly batteries

I'm a huge fan of single-cell Lithium Polymer batteries; they're small, relatively cheap, and they come in a wide range of different capacities. However, their output range of 3.0-4.2V from discharged (with protection circuitry) to fully charged can be a bit of a hassle, especially if working with 3.3V devices. Of course there are plenty of power management ICs out there, from very bare-bones to extremely complex, but the majority of them are really not that well suited for the average home PCB fabrication set-up, whether it be due to their exceedingly tiny surface mount packages or there large number of required external components.

The majority of devices I make consist of some combination of 3.3V and 5V components. To power these with a LiPoly I need three things: a consistent 3.3V supply, a consistent 5V supply and a charging circuit. Of course there are many great modules and breakout boards that accomplish these tasks and more, for instance from Adafruit and SparkFun, but I'm not generally a fan of the different-breakout-board-for-every-component look, so I've put a fair bit of time into searching for the simplest to use PMICs, and I've discovered a few good options.


By far the easiest LiPoly charging solution I've found is Maxim's MAX1555, which can be purchased at SparkFun. It comes in a friendly SOT-23 package, and the only external components it requires are a few decoupling capacitors. To quote the MAX1555 datasheet:

The MAX1551/MAX1555 charge a single-cell lithium-ion (Li+) battery from both USB* and AC adapter sources. They operate with no external FETs or diodes, and accept operating input voltages up to 7V... With USB connected, but without DC power, the charge current is set to 100mA (max). This allows charging from both powered and unpowered USB hubs with no port communication required. When DC power is connected, charging current is set at 280mA (typ)...

The datasheet shows the typical configuration, which can be modified to use an LED as a charge indicator like this:


The great thing about this IC is that it is an in-system charger, meaning it will happily power your circuit while charging the battery (unless of course the circuit draws more than the charging current, in which case there will be a net drain on the battery!).

5V Supply:

Getting 5V from a LiPoly battery is not all that tricky either, especially using an IC like the MCP1640 adjustable boost regulator. Available in a SOT-23-6 package, the MCP1640 can supply 5V at up to 300mA from a single-cell LiPoly at a little over 90% efficiency, using only a few external components, like so:

(This circuit is straight from the MCP1640 datasheet)

So in the case of a circuit which only needs a 5V supply, the output of the charging circuit can be routed straight to this boost circuit, and all is well.

3.3V Supply:

This is where it starts to get a bit tricky. As the maximum voltage of the LiPoly is greater than 3.3V, and the minimum voltage is less than 3.3V, neither a regulator nor a boost circuit alone will work. One obvious option is to simply stick a 3.3V linear regulator on the output of the above boost circuit, but this is not generally the best idea. For one, if the boost circuit is 90% efficient, followed by a voltage regulator that might be 80% efficient or less, you're looking at an effective efficiency of 72%. That means that if the circuit draws all its current from this 3.3V supply, 28% of the power into the circuit is wasted!

The cleanest and most efficient way to get a 3.3V supply is straight from the battery using a buck–boost converter. The problem is that the majority of buck-boost ICs come in very small packages. Not only does this make them very hard to solder without stenciling and cooking in a reflow oven, but it means it is extremely difficult to etch your own board if it uses one. After hours of catalog searching, however, I have found a few buck-boost ICs that seem suitable for DIY use.

Most recently I stumbled across the MAX710 and MAX711. I don't know much about them yet, but judging by the datasheet they seem a bit outdated. They both have an input range of 1.8-11V, and the MAX710 has a selectable output of 3.3V or 5V, where as the MAX711 has an adjustable output range of 2.7-5.5V. Both can source a maximum of 700mA. Their efficiency is not all that impressive, and they sell for a whopping $8.61 on DigiKey, but they are the only buck-boost I've seen that come in the lovely SOIC package, which makes them super simple to etch for and solder.

I think the best buck-boost option I've seen is the LTC3440. Like many buck-boosts, the LTC3440 was designed for single-cell Lithium batteries, meaning it is optimized for an input voltage of ~3.7V. It has a maximum continuous output current of 600mA, and has an efficiency of ~95% when supplying 3.3V at 100mA with a 3.7V input. What's great about the LTC3440 is that it comes in a 10-MSOP package. Though the 0.5mm lead pitch doesn't leave much room for error, having exposed pads makes soldering pretty easy using a solder wick (great tutorial on skywired.net), and it shouldn't be too hard to etch.

I'm working on developing breakout boards for a few different combinations of these components, which I'll post write-ups for as I get them done.