OLED Display - Longus/FluidNC GitHub Wiki

The OLED Display feature lets you use a small OLED display module to show basic status about the machine operation.

Important: The OLED display code is a work in progress. It currently cannot be configured using the normal FluidNC text file configuration methods, but rather must be enabled via an include file and the firmware recompiled. We intend to fix this as time permits, but it is a complicated problem because OLED displays are too small to display everything that someone might want to see. Thus there are many possibilities for how one might want to configure one.

To use the OLED Display at the present time, you must be able to recompile the code yourself. We are not officially supporting the OLED yet, so please do not file issues about it or expect help on Discord.

OLED Devices

The current code handles these OLED Displays:

The 0.96" OLED can display more information than the 0.66" one; the latter is very limited but is useful for showing things like the WiFi IP address and very basic status.

Enabling the 0.96" OLED

In the source file FluidNC/src/Config.h, uncomment (remove the two leading '/' characters from) these two lines:

// #define INCLUDE_OLED_IO
// #define INCLUDE_OLED_BASIC

and recompile FluidNC

If you want to change the display's I2C address or the GPIO pins that connect to the I2C bus, change this line in FluidNC/src/Custom/oled_basic.cpp

    init_oled(0x3c, GPIO_NUM_14, GPIO_NUM_13, GEOMETRY_128_64);

The first GPIO number is for SDA, the second for SCL.

Enabling the 0.66" OLED

In the source file FluidNC/src/Config.h, uncomment (remove the two leading '/' characters from) these two lines:

// #define INCLUDE_OLED_IO
// #define INCLUDE_OLED_TINY

and recompile FluidNC

If you want to change the display's I2C address or the GPIO pins that connect to the I2C bus, change this line in FluidNC/src/Custom/oled_tiny.cpp

    init_oled(0x3c, GPIO_NUM_21, GPIO_NUM_22, GEOMETRY_64_48);

The first GPIO number is for SDA, the second for SCL.

Other Modifications

Any other changes, such as adapting to a display with a different geometry or displaying different information, will require source code modifications. Some such modifications might be confined to the oled_tiny.cpp or oled_basic.cpp files. Others might require deeper changes elsewhere in the source tree. Please do not undertake such modifications unless you are an experienced programmer. We do not have time to provide guidance for that.