Is Arduino nano suitable to drive 3 lcd displays and 9 buttons?

Hello everyone,
I'm new here, and although I'm a professional developer, this is actually my first time dedicating some time to an hardware project.
I need to drive 3 separate LCD displays to show a countdown. I've found various 4 Bits Digital Tube 7 segments led that suit my case, but I'm not sure if the Arduino Nano is the best bet for this job.
Other than this, each display will have 3 buttons to control each timer (minus, plus, ok).
From the spec it seems to be plenty of I/O for my needs, CPU is powerful enough for a simple clock. I'm more worried for the flash memory size, due to my ignorance on the subject, but I'm sure that I'll wrap my head around.

Any help is greatly appreciated.

What type of LCD do you intend to use?
Is your program too big to fit into the nano's memory?

If you use displays that run on max7219 chips, you can have well more than three. Here is the first result when I search for "max7219 7 segment"

So far as buttons, you can use 6 digital pins in a 3X3 grid to read 9 buttons easily.

Yes, a nano should do the job nicely.

You could also used LCD displays with addressable I2C interface boards. Three displays will need only two data pins from your Nano, A4 and A5, leaving lots of pins for buttons. The displays are individually addressed.

@er_name_not_found He said LCD, not LED... :grinning: But described 7-segment LED, so... :crazy_face:

Agreed, but he also said, to show a countdown, so I made a product assumption.

I'm sorry, I've let the autocorrector fool me. The need is what @er_name_not_found suggested, something like this is good enough
https://www.amazon.it/Digitale-7-Segmenti-Modulo-Display-Segmenti/dp/B075H2WP4X

3 of them and 9 buttons should be ok

1 Like

As others have noticed, you seem to be confusing LCD and LED displays.

"4 Bits Digital Tube 7 segments" is a commonly seen Chinese miss-translation of "4 digit 7 segment LED display".

Please post a link to the specs of the displays you have found.

Also describe your project in more detail. Forum members may point out pitfalls you have not considered.

I think that 32kb is large enough. I can picture the grand schema of the code in my mind, but I'm not sure about all the libraries and overheads that will be put during compilation time. Here lies the doubt on Flash size on the question, but I'm pretty sure is the inexperience to make me these assumptions

Again, I'm very sorry for my oversight. Is a LED display what I've considered as best suitable output device for my project

6 pins will be needed for 3 of these displays, but it may be possible to reduce this to 4 pins.

For 9 buttons, 6 pins will be needed, if the buttons are connected as a 3x3 matrix. The buttons do not need to be physically arranged as a matrix, they can be as you want.

Nano will have more than enough pins and memory, from what you have described so far, but please tell us the rest of the project, in case that changes things.

9 might be better, if this is a situation where buttons may be pressed near-simultaneously by contestants in a game, for example.

This is precisely why @kennyrulez must explain the project in more detail.

Well, this is the desiderata, because I'm not sure is the right way to do it, just a fantasy MVP.
Each display has 3 associated buttons: 1 for adding minutes, 1 for removing minutes, 1 to start the countdown with the added minutes. Maybe, if I want to be very brave, add the long press on the "start" button to reset the associated timer, but a power cycle is good enough.

In the end, it's a multiple countdown timer to keep track of one to three different intervals. I haven't even designed a case to enclose all of it, or what kind of power supply I need to drive the whole project.

So really, three independent timer modules with one brain is your concept. Okay.
Will they be co-located, or distant? How far? If these are three timers scattered around a room, it's a different case from three sides of a cube on a desk, for example. The latter, one Arduino, hands down. Around the room? Build three independent devices. Somewhere in between, then you need to consider the working length of the communication technology. So we're back to more questions about the application - but electrons are cheap, ideas are free, and you don't want to buy hardware you don't need, or conversely, build something that won't work because you've violated design rules.

You do not need hardware to determine the needed flash size. You can write your sketch and compile it for the intended board. It will give you the size. If it's too big, you will have to pick another board.

The only problem is that you can't test. For that you can probably use a simulator like wokwi (although nothing beats real hardware :wink:).

My hobby is cooking, and often I need to set multiple alarms on my phone based on what I need to check.
Most of the time I need to set 2 timers, say 10 minutes and 20 minutes, so i thought that 3 could be a great, yet sporadic, use. Hypothetically, I can add a buzzer to go off when one of the timers reach 0, but realistically I can carry around this timer and looking at it.
Then, I thought I'll 3D print some case, enclose all the hardware and the battery pack and bring it with me when needed.

That's something I haven't thought of, and I'm grateful with everyone here for the advice. I'll try to compile a MVP binary, check the size and buy the hardware based on this result

@kennyrulez Based solely on your description, I wouldn't have any concerns about a Nano doing what you're describing. Mine are doing a heck of a lot more than that. HOWEVER, it does require some coding discipline, and an organized approach.
The bigger problem is powering your 3 LED displays. LEDs are power hungry, so you're going to want to run this from a wall wart, not a 9V battery. Is that okay? If not, I urge you to rethink the idea, using LCD displays and quite possibly blanking each display, etc. except when there is an active countdown running. These are design decisions that are best done before hardware is purchased.

May I suggest 20X4 LCD I2C display?
LCD Display on Amazon

This is why I'm grateful with all of you for suggestion. I've looked online and the range for a single TM1637 4-digit 7-segment LED is 30/80mA. If I use the worst case scenario, a 9V 2800mAh battery will last ~10h, which is indeed a poor design choice. Having a wall connection is a bit of letdown, as portability, although not necessary, would be nice.
I'll explore other possibilities like the one @2112 suggest