# OLED SSD1306 128x32 e ATTiny85

**URL:** <https://forum.arduino.cc/t/oled-ssd1306-128x32-e-attiny85/1067201>\
**Category:** Generale\
**Created:** [December 19, 2022, 3:19pm UTC](https://forum.arduino.cc/t/oled-ssd1306-128x32-e-attiny85/1067201 "2022-12-19T15:19:35Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![fabio978](https://avatars.discourse-cdn.com/v4/letter/f/dbc845/32.png) [@fabio978](https://forum.arduino.cc/u/fabio978)\
**Post date:** [December 19, 2022, 3:19pm UTC](https://forum.arduino.cc/t/oled-ssd1306-128x32-e-attiny85/1067201/1 "2022-12-19T15:19:35Z")

</div>

Ciao a tutti,  
da qualche giorno sto cercando di far funzionare un display OLED 128x32 su un ATTiny85, ma senza successo.

Ho provato infnite librerie, ma il display (purtroppo non ho il modello esatto/datasheet) non vuole proprio saperne di accendersi/mostrare qualcosa.

Sono sicuro che il display in se funzioni in quanto collegato ad un ESP8266 funziona regolarmente.

Avendo anche una dev board Digispark (sempre con ATTiny85), ho voluto provare e con quella il display funziona.

A sto punto mi chiedo: sono necessarie le resistenze di pullup su SDA/SCL? In tutti gli esempi di collegamento trovati in rete non vengono mai mostrate, ma in qualche guida ho letto che sono necessarie. A questo punto mi chiedo invece come possa funzionare senza sulla Digispark, che per quanto ho capito non ha alcuna resistenza di pullup integrata..

Grazie mille!

---

<div class="post-metadata">

**Author:** ![gpb01](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/gpb01/32/830685_2.png) [@gpb01](https://forum.arduino.cc/u/gpb01)\
**Post date:** [December 19, 2022, 3:46pm UTC](https://forum.arduino.cc/t/oled-ssd1306-128x32-e-attiny85/1067201/2 "2022-12-19T15:46:33Z")

</div>

Buonasera,

... so che sei un vecchio utente della sezione **Italiana** del forum 🙂 , ma ... purtroppo non riesco a trovare il tuo post di presentazione 😕, per cui, cortesemente, come prima cosa, leggi attentamente il [REGOLAMENTO](https://forum.arduino.cc/t/regolamento-come-usare-questo-forum/145566) di detta sezione, (_... e, per evitare future possibili discussioni/incomprensioni, prestando molta attenzione al punto 15_), dopo di che, come da suddetto regolamento, fai la tua presentazione [NELL'APPOSITA DISCUSSIONE](https://forum.arduino.cc/t/re-presentazioni-nuovi-iscritti-fatevi-conoscere-da-tutti-part-2/) spiegando bene quali esperienze hai in elettronica e programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.

Grazie,

Guglielmo

_P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposita discussione, nel rispetto del succitato regolamento nessuno ti risponderà (eventuali risposte o tuoi ulteriori post, verrebbero temporaneamente nascosti), quindi ti consiglio di farla al più presto. 😉_

---

<div class="post-metadata">

**Author:** ![fabio978](https://avatars.discourse-cdn.com/v4/letter/f/dbc845/32.png) [@fabio978](https://forum.arduino.cc/u/fabio978)\
**Post date:** [December 19, 2022, 3:53pm UTC](https://forum.arduino.cc/t/oled-ssd1306-128x32-e-attiny85/1067201/3 "2022-12-19T15:53:32Z")

</div>

Buonasera Guglielmo,  
chiedo scusa se non mi sono presentato, ero convinto di averlo già fatto a suo tempo ma.. probabile non l'abbia fatto! Ho rimediato ora 😉

---

<div class="post-metadata">

**Author:** ![gpb01](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/gpb01/32/830685_2.png) [@gpb01](https://forum.arduino.cc/u/gpb01)\
**Post date:** [December 19, 2022, 4:04pm UTC](https://forum.arduino.cc/t/oled-ssd1306-128x32-e-attiny85/1067201/4 "2022-12-19T16:04:22Z")

</div>

> [@fabio978](#):
>
> sto cercando di far funzionare un display OLED 128x32 su un ATTiny85

... normalmente quei piccoli OLED montano come controller un **SSD1306** e le varie _breakout board_ che si trovano montano già le resistenze di pull-up sul bus I2C (_resistenze che sono obbligatorie_). Su ATtiny85 devi poi usare i pin relativi a PB0 (SDA) e ~~PB1~~ PB2 (SCL) per la comunicazione.

Premesso questo, che "_core_" stai usando? che libreria stai usando per pilotare l'OLED? Ti serve solo testuale o anche la grafica?

Guglielmo

---

<div class="post-metadata">

**Author:** ![fabio978](https://avatars.discourse-cdn.com/v4/letter/f/dbc845/32.png) [@fabio978](https://forum.arduino.cc/u/fabio978)\
**Post date:** [December 19, 2022, 4:13pm UTC](https://forum.arduino.cc/t/oled-ssd1306-128x32-e-attiny85/1067201/5 "2022-12-19T16:13:11Z")

</div>

Parli delle breakout board con ATTiny85 o del display? Nel primo caso quindi le resistenze di pullup potrebbero già essere presenti sulla board Digispark (e quindi giustificare il funzionamento del display)?

Si su ATTiny85 sto usando PB0 e PB2 (tu hai scritto PB1, è un typo?), ma senza successo. Per programmare il chip uso uno Sparkfun programmer (USBTinyISP), altri sketch semplici come il classico blink o fade funzionano correttamente.

Ho provato sia ATTinyCore di Spence Konde che la attiny di David Mellis (già usata con successo per altri progetti con ATTiny85 molto più semplici).

Per questo progetto nello specifico devo solo mostrare un valore numerico sul display, quindi niente di complicato a livello grafico.

---

<div class="post-metadata">

**Author:** ![fabio978](https://avatars.discourse-cdn.com/v4/letter/f/dbc845/32.png) [@fabio978](https://forum.arduino.cc/u/fabio978)\
**Post date:** [December 19, 2022, 5:32pm UTC](https://forum.arduino.cc/t/oled-ssd1306-128x32-e-attiny85/1067201/6 "2022-12-19T17:32:25Z")

</div>

Ho fatto ulteriori tentativi, e forse ho spostato il problema su qualcosa di differente: praticamente ho 2 display 128x32 uguali, uno "volante" che uso per le prove, e uno già saldato su un custom PCB, dove vado a posizionare l'ATTiny85 dopo averlo programmato.

Mi è venuto anche il dubbio che il display potesse non funzionare lasciando il tutto collegato al programmer (ad es. perché c'è un LED connesso permanentemente su PB0), ma anche messo sulla PCB il risultato è il medesimo, quindi pensavo fosse un problema di circuito o sketch.

Invece ho voluto provare a mettere il tutto su breadboard, e lì invece funziona!

Quindi a questo punto qualcosa non va sulla custom PCB (lo schema è estremamente semplice), oppure il display saldato su questa non funziona.. proverò in primis a sostituirlo con l'altro e vedo cosa succede.

---

<div class="post-metadata">

**Author:** ![gpb01](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/gpb01/32/830685_2.png) [@gpb01](https://forum.arduino.cc/u/gpb01)\
**Post date:** [December 19, 2022, 5:40pm UTC](https://forum.arduino.cc/t/oled-ssd1306-128x32-e-attiny85/1067201/7 "2022-12-19T17:40:36Z")

</div>

> [@fabio978](#):
>
> Si su ATTiny85 sto usando PB0 e PB2 (tu hai scritto PB1, è un typo?)

Si, scusa, ho corretto il post PB0 e PB2 ... come da datasheet del ATtiny85 ...

Guarda io uso tranquillamete gli ATtiny85 con i display OLED basati su SSD1306 e non ho mai avuto problemi.

Uso il "_core_" di Spence Konde che è il migliore e ti permette di usare la libreria "Wire" standard senza doversi inventare nulla d'altro e, usando io essenzialmente **testo** , uso la libreria [SSD1306Ascii](https://github.com/greiman/SSD1306Ascii) per gestire l'OLED (_leggerissima, compatta e ben funzionante_).

Quindi ... ricontrolla i collegamenti e usa uno degli esempi di libreria perché ... DEVE funzionare.

Guglielmo

---

<div class="post-metadata">

**Author:** ![fabio978](https://avatars.discourse-cdn.com/v4/letter/f/dbc845/32.png) [@fabio978](https://forum.arduino.cc/u/fabio978)\
**Post date:** [December 19, 2022, 5:57pm UTC](https://forum.arduino.cc/t/oled-ssd1306-128x32-e-attiny85/1067201/8 "2022-12-19T17:57:11Z")

</div>

Grazie per il suggerimento della libreria! Intanto cerco di capire cosa non va sul PCB e poi farò delle prove anche con quella! 👍

---

<div class="post-metadata">

**Author:** ![fabio978](https://avatars.discourse-cdn.com/v4/letter/f/dbc845/32.png) [@fabio978](https://forum.arduino.cc/u/fabio978)\
**Post date:** [December 20, 2022, 9:34am UTC](https://forum.arduino.cc/t/oled-ssd1306-128x32-e-attiny85/1067201/9 "2022-12-20T09:34:16Z")

</div>

Ho utilizzato il display "volante" su un nuovo PCB (per essere sicuro non ci fossero problemi sulle saldature, ecc) e finalmente funziona! Quindi alla fine ho buttato un sacco di tempo pensando fosse un problema di sketch mentre alla fine probabilmente qualcosa non va sull'altro PCB, o più probabilmente, è il display che non funziona più (l'avevo testato prima di saldarlo e funzionava)

---

<div class="post-metadata">

**Author:** ![fabio978](https://avatars.discourse-cdn.com/v4/letter/f/dbc845/32.png) [@fabio978](https://forum.arduino.cc/u/fabio978)\
**Post date:** [December 20, 2022, 9:36am UTC](https://forum.arduino.cc/t/oled-ssd1306-128x32-e-attiny85/1067201/10 "2022-12-20T09:36:44Z")

</div>

> [@gpb01](#):
>
> Guarda io uso tranquillamete gli ATtiny85 con i display OLED basati su SSD1306 e non ho mai avuto problemi.

Per curiosità, qual è il tuo setup per programmare gli ATTiny85? Perché appunto usando lo Sparkfun programmer, non si riesce a testare lo sketch appena caricato (almeno per quanto riguarda il display) e spostare il chip ogni volta è un po' una menata..

---

<div class="post-metadata">

**Author:** ![gpb01](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/gpb01/32/830685_2.png) [@gpb01](https://forum.arduino.cc/u/gpb01)\
**Post date:** [December 20, 2022, 10:19am UTC](https://forum.arduino.cc/t/oled-ssd1306-128x32-e-attiny85/1067201/11 "2022-12-20T10:19:22Z")

</div>

> [@fabio978](#):
>
> Per curiosità, qual è il tuo setup per programmare gli ATTiny85?

Cosa intendi? Come è fatto lo stampato?

... dipende dai casi: se ciò che colleghi sui pin NON disturba la programmazione ICSP, basta prevedere il classico connettorino a 6 pin per la programmazione; se invece ciò che è collegato disturba ... o zoccolo e metti e levi la MCU, o jumper/dip\_switch sui pin incriminati e, nel momento della programmazione, isoli i pin da tutto il resto.

Guglielmo

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [June 18, 2023, 10:19am UTC](https://forum.arduino.cc/t/oled-ssd1306-128x32-e-attiny85/1067201/12 "2023-06-18T10:19:26Z")

</div>

Closed on June 18, 2023, 10:19am UTC

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
