From 2c000e3aaf6ab1c8fe5d8f5b99cef53dae8ff7b3 Mon Sep 17 00:00:00 2001 From: David Montero Crespo Date: Thu, 20 Aug 2026 15:03:09 +0200 Subject: [PATCH] docs(ssd1306): a datasheet per variant, each with its own pinout Both SSD1306 modules are real parts and both belong in the catalogue - the mismatch was in the docs, not the parts: - the 8-pin Adafruit breakout was served a datasheet listing a 4-pin I2C pinout (VCC/GND/SCL/SDA) that is not its header at all; it now documents its own 9-way pinout with the I2C and SPI role of each pin; - the 4-pin I2C module had NO datasheet, because docs resolve by component id and ssd1306-i2c-4pin.md did not exist - so the part showed nothing. It has one now. Each points at the other so it is obvious which one you want. --- .../displays/ssd1306-i2c-4pin.md | 22 +++++++++++++++ .../component-docs/displays/ssd1306.md | 27 ++++++++++++------- 2 files changed, 40 insertions(+), 9 deletions(-) create mode 100644 frontend/src/components/component-docs/displays/ssd1306-i2c-4pin.md diff --git a/frontend/src/components/component-docs/displays/ssd1306-i2c-4pin.md b/frontend/src/components/component-docs/displays/ssd1306-i2c-4pin.md new file mode 100644 index 00000000..b0cef743 --- /dev/null +++ b/frontend/src/components/component-docs/displays/ssd1306-i2c-4pin.md @@ -0,0 +1,22 @@ +--- +brand: Solomon Systech +buy: https://www.amazon.com/s?k=SSD1306+128x64+OLED+I2C+4+pin +--- +SSD1306 monochrome OLED (128×64) on the **4-pin I²C module** — the cheap +0.96" board most people have. The glass panel is bonded onto the PCB, so the +part is a single piece: no separate display to wire. + +| Pin | Role | +| --- | --- | +| GND | ground | +| VCC | 3.3–5 V | +| SCL | I²C clock | +| SDA | I²C data | + +- Default I²C address **0x3C** (some boards are 0x3D — check the silk). +- 128×64 pixels, ~1 KB framebuffer, self-emitting: no backlight, so an unlit + pixel is truly off. +- Drive it with Adafruit_SSD1306 (`&Wire`, reset `-1`) or U8g2. + +**Tip:** need the SPI pins, or a reset line? Use the 8-pin **SSD1306 OLED +(Adafruit breakout)** part instead — same controller, more pins broken out. diff --git a/frontend/src/components/component-docs/displays/ssd1306.md b/frontend/src/components/component-docs/displays/ssd1306.md index cba63f86..8aab1f38 100644 --- a/frontend/src/components/component-docs/displays/ssd1306.md +++ b/frontend/src/components/component-docs/displays/ssd1306.md @@ -2,17 +2,26 @@ brand: Solomon Systech buy: https://www.amazon.com/s?k=SSD1306+128x64+OLED+display --- -SSD1306 monochrome OLED (128×64). Talks **I²C or SPI** — pick with the -`protocol` property. Drive it with Adafruit_SSD1306 or U8g2. +SSD1306 monochrome OLED (128×64) on the **Adafruit-style breakout**, which +brings the controller's full pinout out to a 9-way header. Talks **I²C or +SPI** — pick with the `protocol` property. Drive it with Adafruit_SSD1306 or +U8g2. -| Pin (I²C) | Role | -| --- | --- | -| VCC | 3.3–5 V | -| GND | ground | -| SCL | I²C clock | -| SDA | I²C data | +| Pin | I²C role | SPI role | +| --- | --- | --- | +| Vin | 3.3–5 V | 3.3–5 V | +| 3v3 | 3.3 V regulator output | 3.3 V regulator output | +| Gnd | ground | ground | +| Data | SDA (data) | MOSI | +| Clk | SCL (clock) | SCK | +| SA0 | address select (0x3C / 0x3D) | — | +| DC | — | data/command | +| CS | — | chip select | +| Rst | reset (optional) | reset (optional) | - Default I²C address **0x3C**. - 128×64 pixels, ~1 KB framebuffer, self-emitting (no backlight). -**Tip:** switch `protocol` to `spi` to expose the SCK / MOSI / DC / CS / RES pins. +**Tip:** switch `protocol` to `spi` to drive it over SPI. If you only need +I²C and want the plain 4-wire module, use the **SSD1306 OLED (I2C, 4-pin)** +part instead.