expanding i/o ports by integrating multiple arduinos

Hi, I'm new to pic controllers. I just received my new arduino mini in the post today and would like to know something. I want to build a curcuit that includes multiple inputs (buttons) and then controls multiple outputs. Also, I need to run an lcd screen and multiple flashing leds.

Can I use more than one arduino mini by assigning each chip a read and write pin therefore programming the first arduino to output Eg. "12" or "12on" via it's assigned output pin while the second arduino constantly reads its assigned input pin to receive the value "12" or "12on" thereafter displaying a certain word on the lcd screen.

Ideally, I want to run three arduino's. One for user inputs (buttons) the second responds to the received value by outputting high/low via its other i/o pins, and the third writing to the lcd or enabling a flashing led. Ideally this would work best with the "input arduino" outputting to both the "output controlling arduino" and the "lcd arduino" Has anyone done anything like this before? can an arduino output either a numeric or alphanumeric (or both) value via a single pin?

thanks in advance, Darren, Australia.

Hi Darren,

Your description is a little confusing but yes you could use three Arduinos to do this.

However, from what you've said there's absolutely no need to. Unless you have serious speed requirements one Arduino could do all that plus spell check War and Peace in the background.

The first thing we need to know is "How many inputs and outputs?"


Hi Rob. Thanks. Ideally I need 16 inputs, including 2 analogue and 14 outputs + lcd. This doesn't include I/O between arduino's.

16 inputs, including 2 analogue and 14 outputs

How can 16 inputs include 14 outputs?


ha. sorry...my mistake.

I need 16 inputs, 2 of which are analogue. plus I need a further 14 outputs.

thx, Darren.

16 inputs (analogue or digital) => 1x 4067 MUX => 5 pins 14 outputs => 2x 74xx595 shift register => 3 pins LCD => 4 data, RS, RW, E => 7 pins

total of 15 pins. Arduino has 20 so it should fit, you could use the 8-bit LCD interface if you wanted to.

I don't think you need the added complexity of multiple Arduinos but you do need to add some external hardware.

If you really want to go multi-processor that can be done as well.


You can also use a resistor network and a single analog pin to read multiple buttons. Getting 6 or 7 buttons per pin shouldn't be a problem, I'm not sure what the practical upper limit (maybe 9? 19mV drop or so) But you should be able to fit all of your buttons on 2 analog pins without muxing.

serial LCD 1 pin!

you could use the arduino Mega although that is probably overkill

a nice little board with more than enough pins is the Teensy++

Hi Ya'll Thanks for the replies. Rob unintentially pulled me up with his earlier post involving shift registers. As a newby I hadn't heard of these. well......after 14 hours of straight studying through the night, I recon I've got most of it figured out. Simply ay! Thanks Rob, I realise now how inexperienced I am after asking such a basic question to begin with. haha.

I'll go that way; can't wait. I ordered them today and should get them tomorrow. Hope this thread helps other newbies out there.........Just search the arduino.cc site for "shiftIn" and "ShiftOut"