Update to some of the Libraries

Hey guys i have updated some of the Libraries i have done.

The 74HC595 is a “8-bit serial-in, serial or parallel-out shift register with output latches; 3-state.” In other words, you can use it to control 8 outputs at a time while only taking up a few pins on your microcontroller. Normal use 3 pins, or 5 pin with Enable and Clear. (With the assistance of Cesars)

This library enables an Arduino board to communicate with the Arduino TFT LCD screen. It simplifies the process for drawing shapes, lines, images(COMING SOON), and text to the screen. The Arduino TFT library extends the Adafruit GFX, and Adafruit ST7735 libraries that it is based on. The GFX library is responsible for the drawing routines, while the ST7735 library is specific to the screen on the Arduino TFT. The Arduino specific additions were designed to work as similarly to the Processing API as possible. This is just a Wrapper for the Arduino TFT Library…

For use with Freetronics OLED128 128x128 pixel OLED display(Just a test Lib, Stay tuned for Arduino TFT Lib to be released soon to support TFT LCD’s in general)

This is an example of the Adafruit 16-channel PWM & Servo driver Just a simple wrapper

Basic Functionality for NeoPixel Strip (See Examples)

Just a quick example of a preset select/Pack/Unpack Patch…Can Be adjusted in code to more or less inputs

This is a touch display Wrapper for the common Adafruit TouchScreen. Can be used to map display to touch values and make Keypads and Menus.(More examples to come)

Memsic MX2125 Dual-axis Accelerometer library for Arduino

And soon to come:

Supports boards:
SUPPORT_0139 //S6D0139 +280 bytes
SUPPORT_0154 //S6D0154 +320 bytes
SUPPORT_1289 //SSD1289,SSD1297 (ID=0x9797) +626 bytes, 0.03s
SUPPORT_1580 //R61580 Untested
SUPPORT_1963 //only works with 16BIT bus anyway
SUPPORT_4532 //LGDP4532 +120 bytes. thanks Leodino
SUPPORT_4535 //LGDP4535 +180 bytes
SUPPORT_68140 //RM68140 +52 bytes defaults to PIXFMT=0x55
SUPPORT_7781 //ST7781 +172 bytes
SUPPORT_8230 //UC8230 +118 bytes
SUPPORT_8347D //HX8347-D, HX8347-G, HX8347-I, HX8367-A +520 bytes, 0.27s
SUPPORT_8347A //HX8347-A +500 bytes, 0.27s
SUPPORT_8352A //HX8352A +486 bytes, 0.27s
SUPPORT_8352B //HX8352B
SUPPORT_8357D_GAMMA //monster 34 byte
SUPPORT_9225 //ILI9225-B, ILI9225-G ID=0x9225, ID=0x9226 +380 bytes
SUPPORT_9326_5420 //ILI9326, SPFD5420 +246 bytes
SUPPORT_9342 //costs +114 bytes

Adafruit SleepyDog
Arduino library to use the watchdog timer for system reset and low power sleep.

Currently supports the following hardware:

  • Arduino Uno or other ATmega328P-based boards.
  • Arduino Mega or other ATmega2560- or 1280-based boards.
  • Arduino Zero, Adafruit Feather M0 (ATSAMD21).
  • Arduino Leonardo or other 32u4-based boards (e.g. Adafruit Feather) WITH CAVEAT: USB Serial connection is clobbered on sleep; if sketch does not require Serial comms, this is not a concern. The example sketches all print to Serial and appear frozen, but the logic does otherwise continue to run. You can restore the USB serial connection after waking up using USBDevice.attach(); and then reconnect to USB serial from the host machine.
  • Partial support for Teensy 3.X and LC (watchdog, no sleep).

Adafruit Trinket and other boards using ATtiny MCUs are NOT supported.

Would anyone be interested in a MQTT PubSubClient ?


You’re a library sorcerer! :mage: Thank you for all of them!

What’s for MQTT there was interest some time ago. I’m not sure whether it is actual or not. @tobias, @moi-yashik2 ?


No Problem :smile:
I use it a lot in my home automation. Mainly for sensor devices but its uses are endless when combined with something like NodeRed https://nodered.org/
I have adapted a lot of devices for it normally i use ESPEasy https://www.letscontrolit.com/wiki/index.php/ESPEasy
on a ESP8266 or ESP32( I would love to see XOD support this board, i have tried to get it to work with limited success )

1 Like


BTW, do you see any potential of mixing XOD and NodeRed. I have no deep experience with NodeRed, so cannot come with a bombastic idea. I think XOD can be used for low-level device development so that the device can be further orchestrated in a wider network by NodeRed. Not sure if it makes sense.


yes… And yes :slight_smile: it makes a lot of sense. Mqtt is widely used and accepted in this environment. it would not take a lot to mix the two together and be able to create some amazing projects with Zod handling the low level and node-red linking to everything else. I’ve run out of time tonight it is 3 a.m. here but I will take a look at it tomorrow. :slight_smile:


Hi all
MCUFRIEND_kbv is up now. Just have to do some more examples.
P. S. This is an extended version Of The Adafruit GFX library :blush:

Just finished

Adafruit SleepyDog Arduino Library
Arduino library to use the watchdog timer for system reset and low power sleep.

This still needs some testing (from what i have tried works fine but…)
I have a feeling the sleep function may cause Unwanted side effects with some things…
Any feedback would be greatly appreciated :smile:

1 Like

Cool and thank you again!

Do not hesitate to start a new thread for a library. I suspect it will work better when someone would search for a feature in the future: the relevant library of the great bradzilla84 will immediately pop up.

Sounds good lol, Will do :blush:

1 Like

I am new to XOD but finding it to be very good and am using it to control part of a model railway

I am using your bradzilla84/i2c-pwm-servo-16ch library and it work great for both LED’s and separately for servos

The question I have is I am aware that it is possible to connect multiple boards together as long asa they only support either LED’S or servos separately

The first board uses the default address 0x40

I know how to change the address on the second board to 0x41 but I can’t find were to update the address in any of the nodes

Can this be done and how do I do it?

It’s much appreciated the effort by all involved in this development way of righting C++

I am using XOD because I did not wish to lean C++

I did my degree in electronics and computer engineering in the mid/late 70’s so was not keen to learn another computer language but XOD has been very intuitive

From the documentation, the library uses the default address & doesn’t allow you to change it. To use multiple boards, a pin would need to be added for address and the library updated to use that address when creating a device object.

@bradzilla84 Amazing Work!
Can you share some knowledge on how to use your TFT wrapper with cheap lcd

I have 1.44" SPI 128x128 V2.1 working on TFT_ILI9163C.
It works perfectly without any additional hardware but it needs more PINs (MOSI) and a little hack in the code. I use it with Arduino IDE and upload a code using library from

My question is - is there a way to make it work with your wrapper in XOD?
I can’t make it work with just 3 pins (CD, DC, RESET)

Hi Brad,
Any idea why the set rotation won’t work with my display?
Coding with the Arduino IDE works fine, am i doing something wrong?

Thanks in advance!

Hi Bradzilla84, thank you for your work. I have a 128 x 128 oled made by Waveshare it can be either I2C or ISP I am trying to drive it with your ftoled 128 library but not having much success, is there another library I could try? I am new to ZOD but I did get the 1306 all working and displaying four lines of text in ZOD so I am learning