import time # Used for adding delays (sleep) in the codeimport board # Used for handling board I/Oimport displayio # Used for enabling Display communicationimport terminalio # Used for providing a font when writing textimport adafruit_adxl34x # Used for communicating with the ADXL345 accelerometerimport adafruit_displayio_ssd1306 # Display driver used for communicating (displayio) with the SSD1306 OLED displayfrom adafruit_display_text import label # Used for writing text on the SSD1306 OLED display

### Setup the SSD1306 OLED display. #### If the microprocessor is reset, the display pins are not automatically released, this makes them available for use again.displayio.release_displays()# Define display_bus enabling communication with the SSD1306 OLED display.display_bus = displayio.I2CDisplay(i2c, device_address=0x3c)# Initialize the SSD1306 OLED display.oled = adafruit_displayio_ssd1306.SSD1306(display_bus, width=128, height=64)

### Writing to the display #### Create the main Group that will contain all the other Groups.displayContainer = displayio.Group(max_size=10)oled.show(displayContainer)

# Define a Bitmap that stretches the entire width and some of the height of Display.title_bitmap = displayio.Bitmap(128, 28, 1)# Create a Palette and set color to white. Bitmap can handle 256 colors.title_palette = displayio.Palette(1)title_palette[0] = 0xFFFFFF# Create a TileGrid from the Bitmap and Palette. Draw it using displayio.title_background = displayio.TileGrid(title_bitmap, pixel_shader=title_palette, x=0, y=0)# Add the TileGrid to the displayContainer GroupdisplayContainer.append(title_background)

I solved it! A good nights sleep was all I needed. I had spent most of the day wiring everything up and reading documentation on how to use circuitpython and the libraries needed. Today I realised I should just throw some python at the issue. After trying that and failing I went back to reading documentation, lmao! Pretty obvious but still satisfying considering I'm a uber noob at python. :)

The code still needs some polish but basically I combined the 3 seperate readings into one, then I add it as a Label and remove it again. Repeat. Only thing left to do is make the readings fit on the OLED display(too many digits) but that is easy.

import time # Used for adding delays (sleep) in the codeimport board # Used for handling board I/Oimport displayio # Used for enabling Display communicationimport terminalio # Used for providing a font when writing textimport adafruit_adxl34x # Used for communicating with the ADXL345 accelerometerimport adafruit_displayio_ssd1306 # Display driver used for communicating (displayio) with the SSD1306 OLED displayfrom adafruit_display_text import label # Used for writing text on the SSD1306 OLED display

### Setup the SSD1306 OLED display. #### If the microprocessor is reset, the display pins are not automatically released, this makes them available for use again.displayio.release_displays()# Define display_bus enabling communication with the SSD1306 OLED display.display_bus = displayio.I2CDisplay(i2c, device_address=0x3c)# Initialize the SSD1306 OLED display.oled = adafruit_displayio_ssd1306.SSD1306(display_bus, width=128, height=64)

### Writing to the display #### Create the main Group that will contain all the other Groups.displayContainer = displayio.Group(max_size=20)oled.show(displayContainer)

# Define a Bitmap that stretches the entire width and some of the height of Display.title_bitmap = displayio.Bitmap(64, 64, 1)# Create a Palette and set color to white. Bitmap can handle 256 colors.title_palette = displayio.Palette(1)title_palette[0] = 0xFFFFFF# Create a TileGrid from the Bitmap and Palette. Draw it using displayio.title_background = displayio.TileGrid(title_bitmap, pixel_shader=title_palette, x=0, y=0)# Add the TileGrid to the displayContainer GroupdisplayContainer.append(title_background)

# Create a Label with a string of text (no scaling) and add it to the displayContainer Group.# Labels are centered verticallytitle_text = "ADXL345\nreadings:"title_label = label.Label(terminalio.FONT, text=title_text, color=0x000000, x=5, y=30)displayContainer.append(title_label)