HX1230 Monochrome LCD in Arduino Projects

Introduction: HX1230 Monochrome LCD in Arduino Projects


  • any Arduino
  • HX1230 96x68 pixel LCD (also known as Nokia 1202, STE2007)
  • a few wires

Step 1: Connections

  1. RST to D6 or any digital
  2. CE to D7 or any digital
  3. N/C
  4. DIN to D11/MOSI
  5. CLK to D13/SCK
  6. VCC to 3.3V
  7. BL to 3.3V or via resistor to any digital pin
  8. GND to GND

Connections are similar to Nokia 5110 LCD and most of SPI displays. The only difference is that there is no DC (data/command) pin. This information is sent via 9-bit SPI.

LCD works best at 3.3V, 5V is safe too but requires changes in contrast settings. The easiest way is to use Arduino Pro Mini powered from 3.3V source.

Step 2: Comparison to Nokia 5110 LCD

HX1230 is advertised as Nokia 5110 LCD replacement. This is not entirely true because HX1230 has different controller/command set and requires other library

Advantages of HX1230:

  • much smaller display PCB but screen size is almost the same
  • no zebra strip, display is soldered to PCB
  • little higher resolution 96x68 vs 84x48
  • better aspect ratio, pixels are square
  • only 1 LED used for backlight
  • 1 wire less required to connect it to MCU (no DC pin)
  • usually cheaper than N5110 - $1.60 vs $1.80

Step 3: Arduino Software

Prepared 2 different libraries:

Watch next step video to check libraries features

Step 4: Watch the Video


  • proportional fonts support built-in (requires fonts from PropFonts library https://github.com/cbm80amiga/PropFonts)
  • simple primitives (pixels,lines,rectangles,filled rectangles,circles,filled circles,triangles,filled triangles)
  • fast ordered dithering (17 patterns)
  • ultra fast horizontal and vertical line drawing
  • bitmaps drawing
  • many example programs

Be the First to Share


    • Meatless Challenge

      Meatless Challenge
    • Sculpt & Carve Challenge

      Sculpt & Carve Challenge
    • Remote Control Contest

      Remote Control Contest



    Question 1 year ago

    Thanks for sharing this library. I downloaded it with the PropFonts library. When I compile each of its sample, I get an error that says:" error: narrowing conversion of '-5' from 'int' to 'uint8_t {aka unsigned char}' inside {} [-Wnarrowing]"

    I am using Arduino 1.8.13 on 64 bit Windows 10


    1 year ago on Step 1

    Thanks for nice article. Please help me with the contrast. You write 5V is safe too but requires changes in contrast settings. I'v tried to do this according to STE2007 datasheet (8.12). But don't understand what exactly I have to do.


    1 year ago

    Very nice demo, will try this as soon as I receive the lcd's.