First Arduino, which one?

I'm going to get my first arduino but can't figure out what's the latest one and what to get. At first I'm just going to learn how it all works.

My first real project would need to drive two stepper motors. They have to be able to spin perfectly in sync in one setting and then spin perfectly opposite in another setting.

On the spinning, we need to input how may spins in total it would make.

To visualize how it would work, think of spinning a rope in one setting and then twisting a rope in the other.

I'm thinking a tft touch screen for the selection of settings.

So any advice on which arduino unit to get would be great.

Thanks

cgchris99: I'm going to get my first arduino but can't figure out what's the latest one and what to get. At first I'm just going to learn how it all works.

The "latest one" is technically the Due (IIRC) - but you don't want that one. You want the one with the most support, and the quickest for newbies (like yourself) to get acquainted with. Later you can purchase a more powerful Arduino with more capabilities as your needs increase, and as your experience grows.

For those reasons, you should start out with a standard Arduino Uno, from a major supplier (don't be tempted to go cheap with a chinese clone/knockoff - there are differences that can trip up a newbie). If you are in the US, then something from Adafruit or Sparkfun would be where to start; if you are elsewhere in the world, there are other large suppliers that can help.

cgchris99: My first real project would need to drive two stepper motors. They have to be able to spin perfectly in sync in one setting and then spin perfectly opposite in another setting.

On the spinning, we need to input how may spins in total it would make.

To visualize how it would work, think of spinning a rope in one setting and then twisting a rope in the other.

I'm thinking a tft touch screen for the selection of settings.

So any advice on which arduino unit to get would be great.

Most of this can be done with a standard Uno - sans the touchscreen (but even there, with the proper device - maybe something communicated with via SPI or I2C).

But first - you need to get familiar with the hardware and software aspects. So, get the Arduino, get a starter kit of parts (or build up your own - or use what you have if you already play with electronics and/or other microcontrollers) - and dive in with the examples, and tutorials online.

Once you are really comfortable with the system - then work on getting your steppers to move, and expanding out to the touch screen and other peripherals.

Hope this helps, and good luck!

Since you want to use a TFT touch screen, I suggest the MEGA R3.

Most shields for these screens are built for the Mega. Depending on the shield you choose, you'll still have some spare pins to drive 2 steppers (you'll need 8 pins for that).

See stepper motor basics before you spend money on motors or drivers.

An Uno will easily control stepper motors.

Also keep in mind that you should NOT power any sort of motor or servo from the Arduino pins - the Arduino cannot provide enough current.

...R

The Uno is the simplest, and is not terribly expensive, and has the best support. It is easily sufficient for driving stepper motors (note that you do need external power source for motors - the Uno's onboard supply is not sufficient)

However, as others have mentioned, if you want a TFT LCD, you're probably better off with a Mega (the frame buffer for a TFT LCD of the common sizes is larger than the flash and sram of an Atmega328p). If you're thinking of a plain old B&W LCD like the Nokia5110 LCDs that can be had for $3 on ebay, the uno would be my reccomendation, no question.

I was thinking about using the TFT so I would not need so many mechanical pushbuttons. I thought I could use the TFT to create a menu selection system.

cgchris99: I was thinking about using the TFT so I would not need so many mechanical pushbuttons. I thought I could use the TFT to create a menu selection system.

Do you mean a touch TFT ?

I have seen Threads here where people have trouble with LCD Menu libraries slowing the Arduino to the point where it is not able to control a stepper properly. It may well be that this was due to poor program design.

I suspect the touch TFT would be even more complex to control.

I don't know the answer to all this, I'm just mentioning it so you can consider it. I think it would be wise to figure out how to control the motors using the Arduino Serial Monitor before considering a touch system.

...R

Yes, I was considering the touch TFT. That's not good that there appears to be problems controlling motors using the touch TFT. I was hoping to avoid going to mechanical buttons and 4 line LCD but if it works better?

I'd suggest the mega2560. It's a mature product with plenty of space and I/O pins. You'll find libraries available to interface it to more devices than you can shake a stick at and the extra memory and capabilities are worth every cent of the small price difference (compared to the UNO.)

If you want to develop an application that will run on smaller chips you can still can debug the code using a mega2560. You can't do this the other way around.

cgchris99: That's not good that there appears to be problems controlling motors using the touch TFT.

I did not state my concerns quite like that. All I tried to do was suggest that there might be a problem.

Regardless of what ultimate control system I was going to use I would first develop the project using the Arduino Serial Monitor so as not to get menu code problems mixed up with stepper control problems. The important thing is to get the motors to work.

...R

Since you're a newbie , I probably shouldn't be telling you this , but if you get $3 ATmega328 DIP chip with the OPTIBOOT bootloader installed, and an FTDI BASIC (5V version) , (plus 16 Mhz xtal and two 18 pf caps), you can breadboard the equivilent of an UNO . (I'm probably going catch hell from my colleagues for telling you that)

Truthfully, you should get the UNO and wait till you get more experience before you do this. You also might want to consider getting a screw shield. SCREW SHIELD

raschemmel: (I'm probably going catch hell from my colleagues for telling you that)

Not because the advice is technically incorrect, but because a newbie will almost certainly fail to get it to work whereas an Uno "just works"

...R

Robin2: Not because the advice is technically incorrect, but because a newbie will almost certainly fail to get it to work whereas an Uno "just works"

Agreed, the newbie won't know if the problem lies with their sketch, the upload process (actually that's another can of worms that the newbie would have to negotiate) or simply their own circuit being wrong, or dodgy connections.

The extra few dollars is worth every cent for ruling out most of these issues at the start.

also dont get fooled by the number of i/o pins, when you need more pins you can use an I/O pin extender chip to get more I/O pins.

i recommend the arduino uno but if you have little space you can also use for example the arduino nano.

i have the same experience by both but the nano is more wiring up than buy and click because the many shield the arduino uno has.

if you really want to learn working with arduino, don't buy shields just buy boards or even learn to create it yourself.

a dual steppermotor board like these wil let you see how things are wired up because you have to wire it up yourself:

this guy used an stepper ic to control a stepper motor with an external power supply for the stepper motor only:

and this guy even did it with transistors to control it but best thing is just using an stepper ic chip.

so my advise is just grab an arduino uno, dont buy shields but buy arduino compatible boards, wire it up and learn.

Well now we are getting the heart of the matter. We both know there are basically two schools of thought
that apply to student newbies.

School-1: I have an assignment . All I care about is to complete my assignment with as little expense and
effort as possible. I don’t care how anything works. I just want my grade, end of story.

School-2: I have an assignment . I want to complete my assignment but I would like to learn. I don’t mind
spending a little money in the process.

raschemmel: Well now we are getting the heart of the matter. We both know there are basically two schools of thought that apply to student newbies.

School-1: I have an assignment . All I care about is to complete my assignment with as little expense and effort as possible. I don't care how anything works. I just want my grade, end of story.

School-2: I have an assignment . I want to complete my assignment but I would like to learn. I don't mind spending a little money in the process.

Indeed! you understand what I want to make clear to everyone.

Indeed! you understand what I want to make clear to everyone.

Oh we're aware of it. Trust me. We are VERY aware of it. In fact, we should require all students to identify their Class (school-1 or 2 ?) at the beginning of every post so we don't waste time trying to teach them anything.

I don’t mind spending a little extra to learn the right way.

cgchris99:
Yes, I was considering the touch TFT. That’s not good that there appears to be problems controlling motors using the touch TFT. I was hoping to avoid going to mechanical buttons and 4 line LCD but if it works better?

Depending on how you design your UI control scheme, you could get away with a single button (if all that was needed was menu navigation and selection - ie, short presses scroll thru the items, a long press selects).

If more advanced stuff is needed, two or three buttons will usually suffice; or use a incremental encoder with integrated button (where you can rotate it CW/CCW - then push the knob for “select” or whatnot). Lastly, you could use an analog joystick, which typically also has an integrated button where you push the stick down to “click”.

Ultimately, a multi-line character-based LCD will be much easier to control; even one of the common 128 x 64 graphical LCDs is pretty easy to control - compared to some of the full-color LCDs with touchscreens (some of them, in order to have full control and options - you have to set up a separate dev environment for them, as they usually have an integrated microcontroller that you can code for).

with an graphical lcd and a 3-axis thumb stick it should be easy to go down menu's en click etc.

something like this display: or grab like an nokia 5510 display that works with arduino too there already boards with them you can just wire it up.

i even saw a nokia 6100 display which looked nice and more graphical then the example below. i wil post that pic too and this link might be handy its a little explanation how he put it together:

nokia 6100 lcd

graphical lcd:

this is the 6100 nokia display: