Just finished a DIY build using a Creality 1.1.4 board and the display
//Creality E0
#define extEnable 14
#define extStep 1
#define extDir 0
//Creality Z-axis
#define selEnable 26
#define selStep 3
#define selDir 2
//Creality Y-stop
#define trigger 19
The display is more complicated.. using u8glib and the commands are quite different. Haven't made all of this switchable by #define
void oledclear(){
#ifdef Creality
oled.firstPage();
do {
} while( oled.nextPage() );
#else
oled.clear();
#endif
}
void displayText(int offset, String str)
{
oled.firstPage();
do {
oled.drawStr(0,22,str.c_str());
} while (oled.nextPage());
}
Setup:
#ifdef Creality
oled.setFont(u8g_font_6x10);
oled.firstPage();
do {
oled.drawStr(0,22,"3DChameleon Mk4"); //print a welcome message
} while (oled.nextPage());
#else
// enable OLED display
oled.begin(&Adafruit128x64, OLED_I2C_ADDRESS);
//... rest of normal display setup
displayText(0, " Ready!");
#endif
libs:
//#define Creality //enable for Melzi board
#ifdef Creality
#include <U8glib.h>
#endif
#include <SSD1306Ascii.h> //i2C OLED
#include <SSD1306AsciiWire.h> //i2C OLED
#ifdef Creality
U8GLIB_ST7920_128X64_1X oled(30, 17, 28); // Creality Melzi with single ribbon cable
#else
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
#define OLED_I2C_ADDRESS 0x3C
SSD1306AsciiWire oled;
#endif
So, technically with 4 drivers, you could connect 2 Chameleons for 8 colors?
Fantastic!!!
Bill