LCD on a MakerBot

IMG_4702

I tested this today for the first time: A LC-display on my MakerBot.

The display is connected via the I2C bus of the extruder controller:

IMG_4705

The trim-pot is for the LCD’s contrast adjustment. The rest of the connection is pretty straight forward (4 wires: SDA, SCL, VCC & GND).

The display is a 4×20 alphanumeric LCD with a HD44780 controller. The I2C-to-8bit-parallel interfacing is handled by a I2C LC-Display Adapter, I ordered online for about 13€ + shipping.

The nice thing about I2C-interfacing is the easy wiring over the already available I2C-bus on the extruder controller board (or the motherboard…). No need for a bunch of Arduino pins…

I drive the LCD/I2C with a modified firmware on the extruder controller. The I2C is nicely supported by Arduino’s Wire library.

Since the main data I’m interested in is available on the extruder board (temperatures, extruder motor status), I decided to connect the LCD directly to the extruder controller (and not the motherboard). There are also 3 unused pins (2 digital, 1 analog) on the board for handling button input in the future. On the motherboard (v1.2) I only found one…

However, I ran into some unexpected problems when extending the extruder controller’s firmware: I ran out of memory!

The current firmware is only a few hundred bytes smaller than the available memory on the ATmega168 (about 14kB). I finally managed to install my modified firmware by disabling some unused code and libraries (unused at least by me). But I’m still only less then 100 bytes under the capacity of the controller which is definitely not good.

So I’ll have to move my mods over to the motherboard and try to transport the temperature and motor state data over the RS485 connection. Since this already makes problems when doing it for ReplicatorG (open control panel to read temperatures leads often to hangs during builds), I’m not sure if this will work…

Anyway: It’s fun to see the the LCD in action:

  1. freds says:

    Hi

    Since you are short of space, you can use AVDUDE to directly load your program instead of the Aurdino boot strap. That will free up 2K worth of code space.

  2. Great!! Love your work. If you short of space, why not to use ATmega328 on extruder board?

  1. [...] did some real world testing (i.e. print some objects with the modified firmware) with the I2C-LC-Display setup on my [...]

Leave a Reply

You must be logged in to post a comment.