What is Arduino?

What is an Arduino? I know it is a microcontroller.

How much memory does the Duemilanove and Mega have and what does that mean in terms of programming space?

What languages does it run?

Has anyone overclocked the Arduino?

Has anyone turned the Arduino into an SBC?

Are there any good books on programming the Arduino in assembly?

What advantages does it have over other chips or do they all do the same thing?

Why should I get one and will I be happy with it above other microcontrollers?

What is an Arduino? I know it is a microcontroller.

You got it :slight_smile:

How much memory does the Duemilanove and Mega have and what does that mean in terms of programming space?

This depends on whic model, you can see the specs of the different models here : http://arduino.cc/en/Main/Hardware.

What languages does it run?

Arduinos are programmed in C / C++

Has anyone overclocked the Arduino?

I think soo, but i dont know why :slight_smile:

Has anyone turned the Arduino into an SBC?

What's an SBC ???

Are there any good books on programming the Arduino in assembly?

There are books about Arduino, but i haven't seen any about assembly. Arduino is pretty fast even when programmed in C / C++

What advantages does it have over other chips or do they all do the same thing?

Arduino is an open source hardware microcontroller platform programmed with open source software tools. The hardware is cheap, the softwarre is free. The Arduino community is huge, helpfull and nice. Also a whole forest of add on products is available from various sources.

Why should I get one and will I be happy with it above other microcontrollers?

Because it's cool, and easy to use. Yes you will. I promise :slight_smile:

What is an Arduino? I know it is a microcontroller.

It is a product which contains an arduino board (with ATMega chip), and all of the software that goes with it.

How much memory does the Duemilanove and Mega have and what does that mean in terms of programming space?

A more comprehensive and easier to compare list of arduino and arduino clone boards:
http://www.duinoaday.co.uk/hardware.html

What languages does it run?

C++, the arduino programming language (based on processing - based on C++) and there are some other weird things people have run on it.

Has anyone overclocked the Arduino?

Yes: Antipasto Hardware Blog: My Overclocked, Liquid Cooled Arduino but it's pointless.

Has anyone turned the Arduino into an SBC?

What's an SBC? :stuck_out_tongue:

Are there any good books on programming the Arduino in assembly?

There are a lot of books about programming the arduino in the arduino language (C++ based)

What advantages does it have over other chips or do they all do the same thing?

What kind of chips are we talking?
There is a massive group of people who use arduino and there is example code for almost everything. There is so much code to steal!

Why should I get one and will I be happy with it above other microcontrollers?

Becuase they are brilliant, easy to use and you can come and chat to all of us on the forum or IRC if you have issues. You will love it. It may even take over your whole life!

Mowcius

Has anyone turned the Arduino into an SBC?

Assuming SBC stands for Server Based Computer - you can make it act as a HTML server if you attach an Ethernet shield but it is limited in what it can do due to the amount of memory available.

I believe he's referring to a Single Board Computer. The Arduino itself is really an SBC rather than a microcontroller, the microcontroller is the ATMEGA chip that is carried on the Arduino board. The Arduino is a combination of components that support the ATMEGA chip including a power supply, USB interfacing componets, crystal etc. There is a distinct difference between other devices or SBC's that use ATMEGA chips and the Arduino in that all Arduino's use a specific bootloader that can interface with the Arduino IDE.

I believe he's referring to a Single Board Computer.

I believe you're correct.

I am also surprised at Grumpy_Mike, mowcius, and MikMo for -not- knowing this...

:-?

Though I guess we all have our areas of interest and knowledge; all's good...

:slight_smile:

Regarding SBC's, though - while I suppose one could define the Arduino as an SBC and the ATMega as the microcontroller, I am not completely certain the Arduino can be technically classed as a true SBC.

This may be a personal bias, but I tend to think of an SBC as a single PCB with a microprocessor (such as a 6809, Z-80, 68000, etc), plus additional peripheral chips (MMU, address decoders, RAM, EPROM, etc), to make a "Single Board Computer"; the KIM-1 of eons past was an SBC, today's PC/104 boards are SBCs, the BeagleBoard is an SBC.

I also think of SBCs as being more general purpose, and generally having less dependence on the Harvard architecture for memory usage (I realize that modern CPUs all use a variant of HA internally, but for the most part this goes unnoticed by most programmers - whereas on many microcontrollers, like the ATMega, where HA is -very- apparent and noticed by the specific segmentation of memory into "program code", "data", "ram", etc).

Really, it doesn't make sense to ask if the Arduino can be made into an SBC; as a microcontroller technically -is- an SBC, shrunk down to a single IC. That doesn't mean it wouldn't be possible; I can envision setting up the data ports on a ATMega to act as address lines, r/w and control lines, and data lines, connected as a bus to other peripheral chips (ram, rom, eprom, etc) - but it doesn't make much sense to do it, especially since these functions can also be done using a fast serial bus (SPI or I2C). Plus, since the ATMega uses the Harvard architecture, you wouldn't gain anything for program running space, only extra data storage space.

Which brings up another point: Are there any Atmel processors that could be used and ported to the Arduino platform that -do- support external memory for expansion of program -and- data storage space? Are there any that support code execution from an external eeprom or other memory device? It would certainly be nice to have an 8-bit microcontroller with the ability to expand its memory up to the limits of its address space (without it being "pre-defined"); also, if such a thing were possible, you could do a segmented/paged address scheme to expand beyond that limit (boo, hiss, I know it is a hated thing, but you gotta admit its a slick hack - especially when it was common back in the day, when RAM was DIP-based and expensive!).

:smiley:

cr0sh

Good point on SBC's usually having separate ram from the processor. I would agree with you and not classify the Arduino as a full SBC. I am, however, finding I am using them in-place of SBCs in several different applications where the additional features of something like - say the beagle board would not be used.

I am also surprised at Grumpy_Mike, mowcius, and MikMo for -not- knowing this.

The prblem with being old is that people are always inventing names for stuff you did years ago before they had names. Here is a picture of my first Single Board computer, the board in question was a piece of floor board, and the year was 1975. It had 256 bytes of RAM and no ROM.

The difference between a controller and computer is a matter of the architecture, Harvard:-

Separates data and programming in different spaces. Where as Princeton architecture von Neumann architecture - Wikipedia is what you would call a "proper computer"
This makes no distinction between data and program apart from the context in which the CPU encounters it. Therefore with the board above it was able to take it's own code and turn it into notes. So it played it's own code, something you can't do with the unmodified Harvard architecture.

Mike, I think that thing needs its own spot in the Exhibition forum!

;D

The prblem with being old is that people are always inventing names for stuff you did years ago before they had names.

Yeah, I'm starting to experience that myself...

Separates data and programming in different spaces.

I guess I didn't make that too clear, but that is what I was trying to convey (poorly, as it were!). I also keep forgetting that the "Von Neumann" architecture is referenced to Princeton, so thanks for clarifying that as well.

I am probably going to have to take a copy of that pic for my "archives" - its just such a great homebrew example (btw, thanks for also posting about that coin detector and the linear array yesterday; that went into my archives for later possible reference - just have to find a similar array - I haven't looked to see if that TLS array still is made or not)...

:slight_smile:

Hey! Thanks, that's the best description I've ever heard, and it comes with an awesome picture.

In case someone is wondering, you can buy SBCs off the shelf these days, for more info check out the WikiPedia article on Single Board Computers. The telecom industry uses scads of them.

Floorboard ? Ha we were dreaming of floorboards.

My first single board computer had no borard, at all it was build in a matchbox, had 4 bytes of memory (2 RAM and 2 ROM) it was programmed with toggle switches and used fireflys in stead of LEd's.

(I'm lying my first was a Sinclair ZX81 :-))

Cool SBC Grumpy, i remember a nerd friend messing around with a board with a hex keypad doing things i could not even relate to.

I would not classify the Arduino as a true SBC, at least by my definition and in the spirit of the original concept. Why? Because in the original examples starting in the 70s a SBC was a standalone device that was programmed via input switches or at best via a dumb terminal using a rom based monitor program.

The Arduino would not be possible without a PC to program it. So while the AVR micro-controllers are really great and all, they have to stand on the shoulders of the PC to actually utilize.

Lefty

Grumpy . . . that is one bad ass HMI (Human Machine Interface) on that thing.

I'm sure at the time that project was bleeding edge technology for a home brew project.

A more comprehensive and easier to compare list of arduino and arduino clone boards:
http://www.duinoaday.co.uk/hardware.html

I looked at the list and and I didn't see the Seeeduino Mega or Seeeduino V328 in there.

I'm not sure if I want one of them or the Duemilanove. I'm not sure what I can do with the difference in memory.

I'm not really sure what the Arduino is and the comparison sheets just look like a bunch of ingredients for someone who doesn't know a lot about cooking. I'm not really sure if I wouldn't be happier with an Xmos board.

Thanks to all that responded though.

Mike, is it still functional? I'm wondering what you used it for?

I didn't see the Seeeduino Mega or Seeeduino V328 in there

Sorry, I will check and add them later if they are not in there.

I'm not really sure what the Arduino is and the comparison sheets just look like a bunch of ingredients for someone who doesn't know a lot about cooking.

I know what you mean! :stuck_out_tongue:

I'm not really sure if I wouldn't be happier with an Xmos board.

No, go with an arduino! ;D

Okay. Why?

Cos you are on the Arduino forums and I don't see an Xmos forum...

Mowcius

Well I've been buying components for my other two microprocessors and I only want to spend so much so it may be Arduino or a different brand that I buy. I don't know a whole lot more from coming here so I hope I don't make a mistake in the decision I'm going to make because a lot of it seems to be up to me now.

I don't think you will find anyone on here who regrets buying an arduino. You can always go for an arduino 'clone' which is not official but most are as good (some are better for certain things).

Mowcius