Schematics for UltiPanel with rotary encoder

by bkubicek, published

Schematics for UltiPanel with rotary encoder by bkubicek Dec 28, 2011


Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

65668Views 4844Downloads


This are the schematics for a Panel that works with with Marlin under the defines "NEWPANEL". The only user interaction is a pushable encoder. I would recommend one that has 20 rotational clicks. You might need this if you want to create a similar design for your printer. For Ultimakers, it will hopefully be available through the Ultimaker Online Store soon.

Because you want to have different interconnection for non-Ultimakers, my current board file is not very useful for other printers.

In this video first seconds, you can see the thing in an laser cut enclosure: http://www.youtube.com/watch?v=MTuq1QIE9TE


I use the following parts:

  • HRS 163 reverse Type normal size SD Card.
  • EC11E15244B2 alps encoder
  • A 4050 level shifter: 74HC4050D
  • A 20x4 LCD with backlight
  • R_LED depends on your LCD, some have a resistor soldered onboard to have the backlight working with 5V out of the box .

GPIO Pins you need:

  • 3 for the encoder
  • 6 for the LCD
  • 1 for the Piezo
  • 5 for the SD card (fixed pins: MOSI, MISO, SS, SCK; free pins: card detect)

Voltages: 3.3 (low current), 5V (large current for backlight), GND

It probably would work on most arduino mega based RepRap PCBs.

All Apps

Upgrade this Thing with Thingiverse Apps

No results.

Thank you, Thank you, a Thousand times Thank You!

I have been hunting for this for a week of evenings, you're the absolute Man/Woman for posting this!

bought a Display for my Persa mendel I seem to be having problems allowing marlin to recognize my LCD display
12864 LCD display controller with adapter Mendel,Prusa 3D Printer

This is a raw LCD panel, a pushbutton encoder, an SD card, and a transistor-switched piezo beeper--all connected to the controller's pins and enabled in Marlin by #define NEWPANEL?

not sure what the question is, but probably: yes. Thats the original design that was then licensed to ultimaker, which then changed some bits.

I'm sorry that it wasn't much of a question. I've a 14x2 panel lying around and I was wondering how to hook it up and use it. Marlin-wise, it looks like the way you would need to go about this is to reverse-engineer the c-preprocessor code for #ULTIPANEL and #NEWPANEL, to avoid errors on shift-register encoders rather than just #define ULTRA_LCD.

For those of you that want to build the board, I found the files at:


I have no idea how current they are and haven't built it yet, but am planning to cut it on my CNC machine on the next week or so. I wouldn't mind buying one from Ultimaker, but I can't get past paying $58 for shipping.

good morning.

I have to tell, that the you construe control is really nice.

I'd like him too built.

Might I ask for transmission PCB to format .brd ??

Well please

would there be anyway to combine this with the serial lcd board, like let it handle all the stuff and pass it over a serial pin (think we need only one pair then) some electronics seem like they have very little in the amount of availible pins? Would be cool and a power upgrade to this whole design :-D :-D ;)


my first design (thats the 4th version) had a dedicated microcontroller onboard, to communicate with the lcd, and gather the encoder pos. However, its quite impracital: You then have two firmwares, if you don't waste an arduino there, you need to program a bootloader, then you need a additional communication protocol between the two microcontrollers. Keep it simple was the idea, so the microcontroller was thrown out.

The second design had a parallel shift register to gather all the switch states (originally, there were 8 buttons). Well, maly people did not like the "design" and basically begged me to use a click encoder and a very simple menu structure.

I think the result is good as it is, because its quite easy to add the functionalyity. About the pins: Well, if you have a setup with few pins, also the microcontroller is probably low in memory/program space. I am absolutly not sure if it can handle all the size of the LCD code in marlin.

1284P got 20 mhz speed and enough space however if we want to evolve the reprap/ ultimaker we need the extra pins for different extruders or other things I was thinking of long term evolution

a 3 buck 328 should be enough to handle lcd sd card and encoder and send it over some sort of serial communication to the main board :)

the catch with the higher pin count 8bit AT megas is that there usually limited to 16 mhz the 1284p can run at 20 mhz. short of going 32 bit that would be the simplest solution while keeping pins open


i love this idea.

any news on when or if it will be available.

i think there are many person who would like a board or a kit

Any idea yet as to when this might be available for purchase through the Ultimaker store ?

Am I right in thinking that if the mainboard doesn't have 3.3v this will need to have a 3.3v regulator onboard?

yes, 3.3 is needed for the sd card..

Could you post the board files too? Or the dxf you used to mill it?

We do have a few Ultimakers ;)

Yes, please.

I can't meake a decent .brd with Eagle Light :)

I also sent bkubicek a personal message, but so far he hasn't replied. I have had all the parts waiting for quite some time now. They're starting to get impatient :P

Replying to myself... nice.

I built it, but it doesn't work with the firmware you can upload via ReplicatorG. I had more luck with Erik's Marlin off of Github (compile and upload via Arduino IDE). The menusystem works, I can print, etc. but the printer behaves erraticly. Ignoring limit switches, weird part placement, that kind of thing. So I'm back to normal Marlin f/w and printing "tethered".

its all down to how you configure the machine. Most likely, you want the "endstops only for homeing" option turned off.

I would really like to have the board files as well, so I can make one. Pretty please? ;)