Dual screen possible?

I would like to add a remote controller on my RAMPS like the one described here: Manual joystick control fro MPCNC
But I would also integrate a small I2C OLED in this remote to get XYZ position for example.
From what I saw, MARLIN can drive I2C OLED but is it possible to have the 12864 LCD as main and I2C OLED at same time ?
How to select only X, Y, Z value on the OLED then ?


I think you will find Marlin will throw an error if you try to compile with more than 1 display enabled. Maybe use one of the new breed of touch screen displays connected serially to your RAMPS, this will give you jog control and coordinates display

1 Like

That second controller connected to the joystick is not running Marlin, it’s just running a simple program to query the joystick and send gcode to the main controller. I don’t see any reason why it couldn’t query for position and display it periodically, but you will have to write your own code to do it. You won’t be able to use Marlin’s OLED capability.

Thanks Guy,
I got the firmware from DUI’s joystick and by th end it look possible to add the I2C OLED on the ARDUINO nano (and get those positions from serial already sended by MARLIN).
I will experiment this as soon as possible and write some code to test

Hi all,
Just to inform that I have finish this dev, add OLED to get machine position on the remote ,
But also give relativ mouvement given by the joystick and cumulate until RESET pressing both Joystick same time
Stepping selection pressing XY joystick for XY
Stepping selection by pression ZE joystick for ZE
Button 1 send XY Homing
Button 2 send Z homing Z
Button 3 give send RESET coordinate
Can also change FeedRate with button 4

Now the problem is too much wire inside…

So now I am thinking to design a PCB for this and share the batch… anyone interested to get one PCB ?


That is a nice addition Francis R. I would find the 0.9" OLED too small for displaying that amount of information. I would have used a 1.8"TFT but that would need the body of the controller enlarging. Would you consider releasing your code so that I could take a look at modding it to suit my preferences please?

I am currently awaiting the joysticks and some suitable button switches to complete mine.

Well done, great job!


Hi Mike,
OLED is quite good, anyways as this is I2C control nothing change except enclosure and PCB.
Code is not finished yet as I want to add some more function like open/close comport to avoid potential conflict when running Gcode from computer ans also for security, play different sound on the RAMPS LCD buzzer…etc…
I just finished the schematic and PCB design is on the way with the 0.96 OLED.

If you want to use my firmware you need to find OLED I2C with SSD1306 chip, which is, view from here (In China) not so easy to find as more common are 0.96 or 1.3 with this driver.
One of the problems I had to face was to find a small footprint library for those OLED ( ADDAFRUIT has one excellent but burn all memory just for the screen…cannot do anything else except beautiful screen with that one on those small AT328.

I try with 1.3 and 0.96 and keep on the 0.96 because it was matching DUI’s enclosure with minor modification, I didn’t feel this too small as this is on the remote so close to eyes (even with glasses like me :wink: and OLED provide excellent contrasted characters.

here is my schematic for your reference.
SHEMATICS.zip (80.4 KB)

The firmware will be released as soon as possible.

1 Like

Hi Francis R… thanks for the schematic. I had already worked out the wiring though :-). I have several 0.96" ssd1306 displays from making greenhouse ventilation controllers a while back. I wasn’t aware that the adafruit driver was quite large and would cause a problem, according to the compiled data from the pendant without the oled it used 20% of storage space and 24% of the dynamic space. My greenhouse firmware including the adafruit drivers used 42% storage and 70% dynamic so I would have thought the adafruit driver would have fitted in the pendant firmware…just goes to show how wrong you can be! :slight_smile:

look forward to the final firmware.


ADDAFRUIT is excellent library, bur the fact is this prepare all display in memory, then send to OLED. In MY case because, maybe, I have a lot of things on the screen it use almost all memory available. But this is my experience… you can try by yourself !

I am working on PCB right now to prepare a batch of 10

Received 10 PCB yesterday and first assembly
Next is to adjust the enclosure to fit , 3D print then polish.
Last is to finish Firmware with some new feature I wanna add…stay connected :wink:

Tonight Only 7 Can be sold as it (PCB) or as Kit with all component or ready-made…
Feel free to contact me