PI vs Arduino?

Can someone well versed with boat give an outline as to what makes each unique and what benefits one has over the other? Idk if this is correct but I was able to gather is that raspberry PI is a low powered Linux box where as arduino is an arm based microcontroller used to allow regular objects to communicate with sensors,switches,etc but then I have found people using pi for the same purposes (building robots,rc cars, home automation). So is raspberry pi an arduino with extras?

arduino is an arm based microcontroller

Nope. Pi runs on ARM. Arduino runs on AVR microcontrollers.

So is raspberry pi an arduino with extras?

You can treat Raspberry Pi as motherboard with pre-installed CPU and memory, and in a size of a credit card. So, basically, Pi is a small PC (32-bit CPU, USB, SD slot and stuff).

Arduino is just a microcontroller (for example, ATmega328P itself costs ~$2, and it's an 8-bit MCU) on a board that has convenient connections, voltage regulator and built-in programmer. Programmer is actually at least 80% of the price of an arduino.

You can use Pi for what Arduino does, but it's an overkill and probably a PITA.

And Arduino is totally, 100%, open source hardware. Raspberry PI isn't (last time I checked a few months ago, maybe they've released specs in the meantime).

Also, Arduino is planning to release an ARM board featuring a 1 GHz ARM cpu made by Texas Instruments (made in America, if that is important to you), Arduino Tre, which is entirely open source.

Thank you for your replys that makes more sense .... As for that new arduino board its probably as overkill as a raspberry pi for me ... I'm new to this stuff even though I have a decent understanding of basic circuits and programming to some extent ... Although if you'd like you can make recommendations on what I should start with as I'm looking to pick up a board and learn the basics to them then go about automating my room (lights,fans, and everything else) can you recommend a single good starter board that I should pick up? Some say the uno is a good one to start with while others recommend the Leonardo (not sure what the difference between the 2 of them is) while others recommend the mega as the extra connections will come in handy when using a single board to automate many things (+ the extra ram the mega has)... Or if you can point me to a place where I might acquire this knowledge more easily ... As I'm constantly on instructables and the number of cool things people do with arduino boards is awesome.

Start with uno, as it's cheap, and if you need something more powerful, you will buy it later when you know what you need.

If you want cool... You can learn basic assembly programming with it, by programming your small projects in AVR assembler instead of Arduino IDE.

Ardiuno is microcontroller platform for things where you really don't need anything like an operating system to do such as I/O, basic automation, and basic control systems

Raspberry Pi on the other hand is a micro computer that has small number of GPIO so you can do some of same things as an Arduino. It can handle slightly more complex tasks but is more complex to use (IMO anyways)

Based on what your planning to do I would recommend an Arduino, something like the Arduino Mega has should have plenty of power and I/O to get most jobs done. If you want to be able to mess with ARM there is Arduino Due which is base on Atmel's SAM3 ARM CortexM3 based microcontroller

Both the Raspberry Pi and the Arduino platforms are pretty old and expensive for the performance at this stage. There are plenty or Arduino clones or Arduino compatible (can mean same header layout for shield compatibility, can mean same dev tools or software) devkits, and there are some Raspberry Pi clones that actually perform better (Banana Pi etc...).

There are also a number of devices that, depending on what you want to do with them, offer great features whilst not being Pi or Arduino compatible. I've received a whole lot of STE ARM M based devkits recently, and they have great features for tinkerers, for an ultra low price. They are not open source, but nonetheless, for linux users, all the dev tools are free and open source with the exception of a plug-in. Open source hardware is pretty expensive in comparison with hackable proprietary hardware. A big part of the linux community is always reverse engineering drivers and releasing open source variants for these kind of products. So before buying any dev hardware, check the linux community for what's available. Buying devkits is like buying Android phones and tablets, you don't buy based on the spec, you buy based on the community software that is available for it.

Anyone with a linux PC has all the tools needed to make a full logical analysis of simple devices like devkits, and therefore the number of open source community software is exponentially growing. If you don't use linux on your PC however, always buy a premium open source devkit like Arduino, or you'll be either restricted in what you can do with devices (like a 32 KB code limit on free versions of development software), or you'll have to pay premium prices for unlocked development software (which is pretty expensive). In linux, most devkits have open source tools available, sometimes with some hacked plugins, sometimes with official plugins, sometimes with reverse engineered open source community drivers, and sometimes by flashing the devices with open source firmware to unlock them.

I would also recommend uno. If you want to go into microcontrollers I would also recommend that you move to programming it in C instead of the Arduino thingy. While Arduino IDE will get you started in a minute, and C will be pain in the ass (assuming that you don't have programming experience) it will give you freedom to easily move to other platforms and is a generally useful knowledge. Atmel also has great and free IDE  on their site, called Atmel studio.

Yeah I don't have much experience with Linux so I need a product and community like arduino .... As for being overpriced I figured as much and I do intend on picking up a Chinese arduino shield compatible board ... Any recomendaations on a Chinese board? And can someone explain how the Leonardo is any different then the uno in laymens terms? As other forums are saying that even if you dont pick up a Chinese knock off its cheaper and better than an Uno but I don't understand how

Differences are described on Arduino official website quite clearly.

Leonardo is better.

Leonardo has few more analog and PWM pins and HID, but if you fry your MCU you can replace it without soldering on UNO.

Analog inputs allow you to read voltage from analog devices i.e. temperature sensors. PWM allows you to control some analog devices like DC motors through digital signal modulation. HID is protocol used for devices like mouse and keyboard, it could be useful but that depends on what you are planing to do.

Chinese should be OK, they all use same components, offset in price comes from cheaper manufacturing. If it has a few reviews saying it's OK, then it probably is.

Like I said before, start with Arduino IDE, you can do a lot with it, and it won't scare you off by being too complicated and requiring too much time and effort. Arduino is made for that reason. And just blinking led with code you wrote will make you feel empowered. Then, if you realize that you like that stuff, move to C on familiar hardware, and after that you can go to things like ARM, cpp and making crazy robots :)

Easy and cool stuff to start with could be case modding and making custom cooling and lighting for it.

 

Cool thanks for all the replies .... since I've already created this thread I may as well ask ... It's not the greatest of questions so please don't ridicule me .... As I'm looking through all the stuff I want to buy my final question is how do I go about using a single board for lots of different inputs and outputs? Let me Explain ....

I've found a Chinese Arudino Mega for around $15 including shipping so physical input and output ports isn't an issue and neither is memory for storing lots of code but in automating my whole room different things are in different places .... I plan on mounting a motor to my light switch to be activated when I walk past a motion sensor and a temp. sensor to turn on and off a fan ETC..... I know these can all be done individually and even together if I write the code for all the inputs/outputs into a single program but it's not possible to physically run wires for all of this all across my room to a central point where the Arduino will be .... So is my only option to buy individual boards for each thing I'd like to automate? Are there any other alternatives as this can obviously get quite costly real fast .... I've looked around and can't find an answer so again excuse my ignorance on the subject matter.

Well, if I was to automate a room in such a way, I would use very cheap and simple boards and an external programmer. As in, a board without a programmer should cost ~$5 or comparable. You get a bunch of those and then one programmer to upload sketches to all of them. 

Though I am not sure if boards like those are actually sold anywhere. I recommend asking on arduino official forums.

Well there is several things...

As Dissentient said you could make several of your own boards, I used old duemillanove as a programer, but new ones don't have that capability, at least to my knowledge. But you can use two arduinos for that, Mega as programer and Uno as a slot for MCUs. You can make your own PCBs by etching them, and all components would cost you a few dollars, but you would have to design layout (or find some that suites you online) the biggest problems probably being properly placing oscillator and voltage regulator circuit. You would also have to solder components. The best option IMO would be to find even cheaper clones, and buy a bulk of 5 or 10. Chinese should give you discount, and any board can do what you plan to do.

Real problem here is powering those boards as you need multiple AC/DC converters,  would use up all your outlets, and still have a bunch of cables. Other option would be to use batteries, witch could be ok but you would have to charge them from time to time. MCUs are low consumers so they should last a lot on one charge.

"Proper" way for light switching would be to use relay or triak, but if you don't have any electrical experience I DO NOT recommend doing that. You could also pick up some proper home automation light switches, but they would probably blow your budget away and you might need to hack them.

Also keep your sensor as close as possible to your board. Depending on sensor and cable you use you can pick up a lot of noise and if cable is too long, signal might get too weak.

By all means check the Internet, there are probably some better solutions by other people

 

When you say a board without a programmer do you mean something along these lines .... http://www.open-electronics.org/arduino-isp-in-system-programming-and-stand-alone-circuits/ .... ? 

If so that's costing me around $10 - $15 to build as well ....

Yes, this kind of thing.

It's probably not worth making them yourself, but if anyone mass-produces them, it would be cheaper than buying several full boards.

Okay, so I found this:

Get a bunch of those:

http://www.ebay.com/itm/New-Pro-Mini-atmega328-5V-16M-Replace-ATmega128-Arduino-Compatible-Nano-/200957063666

Get one of those:

http://www.ebay.com/itm/5V-3-3V-FT232RL-USB-To-Serial-232-Adapter-Download-Cable-Module-For-Arduino-FT23-/201090025987?pt=LH_DefaultDomain_0&hash=item2ed1e64a03

Automate everything.

Cool sauce bro that's awesome then I can use the rest of my budget on servos and what not ... thanks a bunch