Can the Arduino UNO be connected to an LCD & a speaker at the same time?


I am building a project for school with the Arduino UNO. I am very new to this whole process but I am a quick learner and open to any and all suggestions.

My issue is I believe I bought the wrong board for my project. My goal is to wire an LCD display, a speaker for sound output and a switch board. I would like to program the the switches to play a certain sound through the speakers when turned on. Also, at the same time, I would like to have the LCD display the name representing that sound. When the switch is turned off the sound stops and the LCD message disappears.

These are my questions:

Is this possible with the ARDUINO UNO?

If so, How many switches and sounds could I wire and program?

If want to play sounds that are longer than 10 seconds would the arduino UNO be capable or would i need an SD card with its own module?

I want to thank you in advance for any support or guidance you provide.

Arduinos can't run speakers you need to find a sound card of some kind.


You can play small speakers not very loud or you can wire 2 speakers output to a -snip- salvaged stereo cable and plug into powered PC speakers or hack the cable of one such. Check 2nd hand stores for speakers or take $20 to Walmart and see how much change you can get.

What resistors to use between Arduino and stereo input? The speakers use 100 ohms plus whatever the speaker coil acts as while the impedance on the stereo jack in unknown to me but probably much less, I would start with 10K ohms and work down till I got enough sound.

You can use Arduino pins with resistors to control cheap transistors to carry many times the current that a pin can supply.

Eventually you can use a piezo speaker.

For multiple long sounds I'd recommend a MP3 player module.

This was very helpful thank you.

Does anybody know if there are enough pins on the arduino UNO for such a project or would i need a MEGA board?

Could i achieve the same thing with an LCD display with selection/navigation buttons?

I hope that you can count the number of signals to the external devices, in order to know how many output pins are required ;-)

More outputs also can be served by shift registers or port expanders.

You can get LCDs with serial, SPI or I2C interface (sometimes called LCD with backpack) that use 2 to 4 pins to run.

SPI and I2C are serial buses. Many devices can 'ride a bus' with one as the driver.

SPI at default speed can move 512KB per second. Driver is master, riders are slaves and the serial communications pins are MOSI (master out slave in) and MISO (master in slave out). The other 2 pins are CLK (clock) and SS/SEL (slave select/select). Only selected slave devices read MOSI or write to MISO, only 1 should write to MISO at a time but many could be selected and read MOSI at the same time.

If you want to use SD cards with Arduino, those are SPI interface devices.

I2C is slower, every device has a number and an I2C bus can possibly have 127 riders.

There are chips that you can hang daisy-chains of on an SPI bus that work as IO pins. People use led-driver versions to drive RGB led cubes faster than 24FPS and post videos on Youtube. Several hundred pins on 8x8x8x3-colors, all at speed is possible with a 328P Arduino and the right code and add-on hardware.