Micro-Controller help

Hi Everyone,

I am new to the Arduino community, I am doing my senior project in school. I would like to use Arduino micro-controller, but I am not too sure about which one to use, my project is going to involve 6 motors (4 Servo, 2 Stepper), a key pad, and a LCD display. Can one micro-controller handle all of these components at once? Or do I need multiple micro-controllers? If one can handle it would would be the best?

Thanks a lot in advance.

Yes, one micro can handle all that. Break out how much IO is needed for each device. For example, the keypad - is it 3x4? 4x4? One needs 7 pins, one needs 8. The LCD display - does it need 4-bit wide data + control lines? 8-bit? Serial / I2C / SPI interface? 6 motors - do they all need to work at one time? What Voltage/Current do they need?

Do some more research, then ask again.

Thank you very much for the reply, yes we did some research and we are going to be using the following

The keypad - Matrix Keypad, 3x4, 7 pins

LCD Display - 16 characters wide, 2 rows - 4-bit mode with seven I/O pins from the Arduino

4 Servo Motor (3 pins), VCC, GND, INPUT… require 4v to 6 volts to operate - each out of 4 Servo Motor, 2 will be operating at the same time, while other two stay off.

2 Stepper Motor Bipolar(4 pins)- Voltage rating : 7.4 V to operate - each both stepper motor will operate at same time, while all 4 servo motor stay off.

Do we need to use a Motor Drive to Operate all the motors? Would Arduino Pro and Aruino Motor Shield be sufficient?

Thanks again

Welcome to arduino forum! For stepper motors you need driver circuits but for servos you don't. I can see that your project will most likely use up all the pins on an UNO. I suggest the following serial LCD keypad but to be clear, it is my design:


You will have the display, 16 keys, 4 LED indicators, and a speaker, all for 2 serial port pins. If a button is pressed, you get a character from serial read. Serial is easy to process. The panel also integrates menus/lists for you to easily display a list by sending the list text to the panel and just wait to get the return. The panel processes the button presses and LCD update.