SparkFun 16x2 SerLCD - Black on RGB 3.3V

The SparkFun SerLCD is an AVR-based, serial enabled LCD that provides a simple and cost effective solution for adding a 16x2 Black on RGB Liquid Crystal Display into your project. We’ve seriously overhauled the PCB design on the back of the screen by including an ATmega328P that handles all of the screen control, meaning a backpack is no longer needed! This display can now communicate in three different ways: serial, I2C, and SPI. This simplifies the number of wires needed and allows your project to display all kinds of text and numbers.

The on-board ATmega328P AVR microcontroller utilizes 11.0592 MHz crystal for greater communication accuracy with adjustable baud rates of 1200 through 1000000 but is default set at 9600. The firmware for this SerLCD is fully opensource and allows for any customizations you may need.

Note: Since the SerLCD is a 3.3V device, please make sure you convert to 3.3V logic depending on your chosen microcontroller or single board computer. Otherwise, you may risk damaging your board.

Get Started with the SparkFun SerLCD Guide

  • 16x2, Black on RGB Display
  • The AVR ATMega328p (with Arduino-compatible bootloader) is populated on the back of each LCD screen and handles all of the LCD control
  • Three communication options: Serial, I2C and SPI
  • Adjustable I2C address controlled via software special commands (0x72 default)
  • Emergency reset to factory settings (Jumper RX to GND on bootup)
  • Operational backspace character
  • Incoming buffer stores up to 80 characters
  • Pulse width modulation of backlight allows direct control of backlight brightness and current consumption
  • Pulse width modulation of contrast allows for software defined contrast amount.
  • User definable splash screen
  • Open-sourced firmware and Arduino-compatible bootloader enables updates via the Arduino IDE

SparkFun 16x2 SerLCD - Black on RGB 3.3V Product Help and Resources

AVR-Based Serial Enabled LCDs Hookup Guide

August 2, 2018

The AVR-based Serial Enabled LCDs are a simple and cost effective solution for including a Liquid Crystal Displays (LCDs) into your project. These screens are based on the HD44780 controller, and include an AVR ATMega328p with an Arduino compatible bootloader. They accept control commands via Serial, I2C and SPI. In this tutorial, we will show examples of a simple setup and go through each communication option.

User contributed Eagle library

You can find a user contributed Eagle library for this part here!


Mechanical drawing

You can find a basic mechanical drawing for this LCD here.


Additional libraries needed to compile the SerLCD firmware

You can find the additional libraries needed to compile the SerLCD firmware at the link below. LiquidCrystalFast and SoftPWM libraries


Core Skill: Soldering

This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.

1 Soldering

Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels


Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

2 Programming

Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels


Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

2 Electrical Prototyping

Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels


Customer Comments

  • I’m confused. Since all interfacing is done via an ATMega328, why would this device be harmed by 5V?

    • If the ATMega328 is running at 3.3V anything above that is technically out of spec and can cause harm. But I think the bigger issue is that the LCD needs to be powered at 3.3V. In other words use voltages above 3.3V at your own risk.

      • Hey M-Short, Thanks for chiming in here, but just to be clear, these can be powered safely from 3.3V up to 9V on the “RAW” power input pin. The data lines (RX, TX, SDA, SCL, etc.) should all be talking 3.3V logic.

        It is important to note that the “+” pin on the FTDI header, is actually the VCC for the chip, and is supplied downstream from a 3.3V voltage regulator, so that pin should definitely never see above 3.3V. The hardware overview has more info, and the pinout graphic is a nice reference. Thanks!

Customer Reviews

5 out of 5

Based on 1 ratings:

Currently viewing all customer reviews.

Super easy to work with

I was looking for simple LCD option that was 3.3V I/O compatible and would operate off of some very simple I2C commands. The beauty of this product is the simplicity of hooking it up to a 3.3V compliant Arduino device using I2C for communication. Well designed, and easy to use. Recommend it for any Arduino based project where you want to display some status or information.