Few questions about the power of the Arduino

Hey everyone,

I am kind of new to this whole microcontroller thing, but I am really keen to get into it. I was looking at the Arduino and the Ybox2, and noticed the Ybox2 has an 80MHz clock speed, whereas the Arduino has only 16MHz.

What I am trying to understand is, 1) Does the Arduino use a propellor chip, 2) If not, can you create shield which allows you to increase the clock speed of your Arduino - or adds another chip (like the propellor).

Thanks in advance!

Arduinos use an AVR chip not a Propeller.

I do believe it's possible to overclock them, but I don't know how, nor do I know how much.

I can perform something on my Arduino that would take my GHz computer slightly longer. This is because the Arduino has much less overhead. If I were to bypass the Arduino libraries and program in assembly or whatever things would go even faster.

So clock speed just tells you how many cycles it goes through per second, it's related to the speed of processing but it's not a direct relationship.

You can have an Arduino interface with anything, such as another AVR, a propeller, a PIC, etc. Even my finger through the use of a button (and, thus, indirectly with my brain). :)

Ahh, so it is possilbe to "increase" the power by adding extra shield.

Thanks a lot! I am definitely buying an Arduino :P

In round terms, the Arduino has about the same processing power as a 30 year old computer. More in tune with deciding if a light is on or off rather than deciding if that is auntie Ethel running across the car park.....

Haha :P

Thanks for all the answers, but I have another question: Is there anywhere (for the UK) I can buy the Arduino Duemilanove unassembled?

Thanks

The thing that makes the Duemilanove so nice, from my perspective is that it is pre-assembled. There are lots of clones, like the RBBB, that use the same chip (the Atmega328) and include just the necessary components (crystal oscillator, capacitors, regulator, resistors, etc.) to make a fully functional, after programming, "Arduino".

They are harder to program than the Arduino, though, since extra hardware is required.

The Arduino has several surface mount components that need to be soldered on. Is that within your skill set?

There are enough issues with getting a functioning project going that I would not consider making an Arduino for my first project. Once the first project was working, and my Arduino compatible micro could be substituted, yes.

But, do yourself a favor, and start with a fully assembled and tested Arduino.

Yep, buy a fully assembled duemilanove for your first. I'm not aware of anywhere you can buy arduino kits in the UK, I bought a RBBB from the States, not a happy experience, customs stiffed me for import duty. I make my own Arduinos from stripboard and components I get from http://www.bitsbox.co.uk . I get bootloded chips from ebay...

http://www.oomlout.co.uk/arduino-compatible-component-bundle-arcb-p-227.html?zenid=f52f9cd8595edb5a0e87d3f8035e864c

This is a good bundle for £7.50. I've used them for a few purchases and they've always gone above and beyond what I might expect, so I'm passing on the recommendation. They missed one part with my first order, and when they sent it out the next day there was a free gift inside (as there was with the original order) so they deserve more business :)

I've also used bitsbox and again, they are also good to stock up with lots of misc parts you might need down the line. For a flat rate of £1.50 p&p, I bought quite a bit of stuff I'll probably need like wire, sockets, 555 timers, caps, resistors etc etc. The poundshop section is pretty good I thought.

Ahh, so it is possilbe to "increase" the power by adding extra shield.

I think this is a no actually.

I agree. Your not really increasing the power of the arduino with shields. Shields offer a quick and easy way to add commonly used hardware to the arduino which adds and/or increases its functions.

so it is possilbe to "increase" the power by adding extra shield.

I think this is a no actually.

It depends on how you look at it. A shield will not increase the processing speed of the Arduino itself, but you can "offload" functions to a shield so that the Arduino itself no longer has to spend as much time (or memory) implementing that function. For example, the propeller is relatively famous for being able to generate video "in software", which is a bit beyond what the Arduino can do (an arduino COULD generate video, but it wouldn't have much left over to do anything else.) There are several shields that you can attach to an arduino that will take over the details of video generation. Likewise, the Arduino "ethernet shield" includes a substantial amount of network and protocol processing...

IMO sticking a propeller on an arduino makes as much since as pairing up a pinto with a corvette

it would be like me using my pic32 as a usb shield for the arduino, your wasting 99% of one cpu to take a little tiny fraction of load off of a really weak cpu

The Arduino 16 MHz clock speed is fast enough for most purposes. An Arduino is typically interfacing for 'mechanotronic' control or data acquisition. The external devices are usually much slower than the Arduino.

Do not wory about speed until it actually causes a problem. Many performance problems are due to poor software design, not the Arduino hardware.

Joe

Many performance problems are due to poor software design, not the Arduino hardware.

I'd say that more than a few performance problems are caused not just by software design, but system level design included.

Too often an individual or group will come up with an idea, and rush to implement it without fully understanding what the constituent parts do; they don't understand the processes each unit or area manages, nor what those processes entail, or how the inputs and outputs to and from those processes affect the system as a whole.

Instead, they just throw money and hardware down the drain.

The better approach is to design the whole system (to the best of your knowledge and ability), breaking down sub-units of the system into processes, understanding those processes and what resources they require, and how they affect other processes or units, and how others effect them in turn. Those processes may be further broken down into their own sub-processes. Re-iterate, plan, and design as needed.

Once you understand the whole, you can then intelligently, rationally, and logically decide what parts or resources are needed to accomplish the goals of each area; maybe one are needs an entire PC, while another can get by with a microcontroller, and a third only needs a 555 timer, and maybe a fourth an LED or something. Doing this will save you time, effort, and money in the long run. While it can be arduous and mind-numbing to do, if you truely want to be successful you will do it.

This isn't to say you have to go this route; but sooner or later you will find yourself in this position, and it is better to have a handle of some sort on it beforehand, rather than finding out years down the road that all of the processes have grown "organically", and no one understands what is going on or how anything works, then you have to reverse engineer everything already accomplished just to understand how you got to that point - and then you find out where the problem lies because your process maps and flowcharts look like the squiggle from "The Dot and the Line"...

What I wrote above applies equally to processes and problems like a circuit design, a piece of software, a building, a corporation, or a country and its government. Unfortunately, humans in general are all-to-poor at proper planning like this (and it shows).