Help Needed – Displaying Numbers on OLED from Voice Commands Using Nicla Voice

Hi everyone,

I’m working on a project using the Arduino Nicla Voice board and recently tried connecting it to a generic Adafruit 128x64 OLED display (SSD1306, I2C). The idea is to display a simple number on the screen in response to a recognized voice command — for example, if a word is spoken, the board would display a specific number like 15, 30, etc.

However, I haven’t been able to get the OLED screen to turn on or display anything. I followed the common examples using the Adafruit SSD1306 and GFX libraries, double-checked my wiring (SDA to SDA, SCL to SCL, 3.3V power), and even tested different I2C addresses, but the screen stays completely blank. No errors, no output.

Since I’m not a technical expert, I’d appreciate any help in layman’s terms, especially around:

  1. Whether there are known issues with Nicla Voice and OLED displays like this.
  2. The simplest way to get a number to show up on screen based on a voice command.
  3. Any basic code examples to help display a number on the OLED when a trigger (like voice input or any simple signal) is received.

Thanks in advance for any guidance you can offer — especially explained in a non-engineering way! - Kate

Read the pinned post re 'How to get the most from the forum'

Hi! Welcome to the Forum.

Although you gave us a good idea of what you want to do and listed your hardware, the information you provided will allow only guesses (bad wiring, defective OLED, missing oled.begin(), etc...).

Please take a look in the topic How to get the best out of this Forum and post good pictures of your circuit/wiring and the code/example you're using.

The first tip I can give you is that the best way to accomplish a project is dividing it in small steps. So:

  1. use voice recognition examples until they are working perfectly;
  2. use "hello world" kind of examples until printing numbers on the OLED works great;
  3. put the codes together.

Break the project into at least two parts.
Part one is to display something on the LCD. I use the LiquidCrystal_I2C for that and it has several example sketches.

Part two is the voice part. I know nothing about that and hate it, too prone to failure/misunderstanding. Just do whatever is needed to 'hear' and Serial.println( 'what was heard' );