I imagine the success of the rasperrypi and other all-in-ones is scaring the arduino people.
Look, I'm the perfect demographic for arduino, but I never bought one. I just don't want to have to buy tons of shields, ribbon cables, lcd displays, etc to get a basic device that I can have some fun with. Its also a little intimidating for beginners.
>but why the extra sensors?
Why not? We're talking a minimal amount of money added to the board. You can always get the vanilla arduino if you want one.
The arduino and the raspi aren't realistically competitors to each other. At all.
The raspi requires ~500-800mA to run, which generally means buying batteries and DC-DC converters meant for hobby planes/cars and butchering a USB cable to power it.
The arduino requires ~10mA (without any accessories) and can be powered by a 9V battery and a LM7805 voltage regulator. All in cost is <$5.
We have 3 raspis in our lab. Mine, and two that have been donated by people who bought them, and then couldn't figure out what to do with them. We have a stack of arduinos that get used constantly.
The raspi is great for "hobbyists", that is: people who are making media centers for their television so that they can stream TV shows to it.
The arduino is made for hackers, interactive artists, etc.
(My current project with the raspi is a telepresence robot. Something that isn't even possible with an arduino. They're really not competitors. The raspi is just a cheap linux box that you run python on. The arduino is a prototyping platform for Atmel AVRs that you write firmware for.)
Not to mention you could delve into bare-metal AVR programming from there, and work with tiny devices that consume literally nothing as long as they have not received a wake-up signal.
Do you have an opinion on which platform is better for projects that need to connect to the internet over wifi? Other than the networking issue, Arduino is more than powerful enough for my purposes. I don't really want to shell out $80 for a wifi shield, so I was thinking it might be better to just switch to RaspPi + a cheap usb dongle. Any thoughts?
It depends on what software you want to use, what software you want to write, how much power you have available, how many production units you'll want, etc.
If you want to do a one-off and have AC power, use the Pi. If you want to make a billion of these and fit them in a tiny box with 4 AA batteries, the AVR is going to be a better choice. But Linux + Python is easier to program than AVR firmware, so it's going to take a lot of units before the AVR pays for its difficult software development with its reduced parts cost. (Really, you should be using ARM, not AVR. It costs the same but it's a modern architecture.)
code for Linux and code for AVR are two totally different beasts. With AVR, I feel that you could just drum up a quick hack and have code running within a couple of hours. With Linux, I always felt that you need at least a couple of days to get things to going (eg, having a root fs structured, choose a kernel, make sure that your memory map is set up correctly etc). Maybe, I have been away from embedded Linux for too long and the goal post have shifted towards a better location.
If you absolutely have to have WiFi, then you might consider the raspi, since it is cheaper.
But...cost on it is going to be ~$50. ($35 + $12 for a wifi chip). That's getting close to the cost of the wifi shield, and if you already know the arduino platform, then I would stick with it.
I don't know, for instance, if PWM is yet support on the raspi (or ever will be, since it's not an RTOS)
I always viewed Arduino as a prototyping platform. Once you finalize your design, you'd buy a $2 AVR and stick it on its own circuit board with its own components, freeing up the Arduino and any shields you have for your next project.
That is quite different to the Raspberry Pi, which just appears to be a small, cheap, general purpose computer that comes without a case.
There is certainly some overlap, but I'm not sure they are directly competing with each other.
I recently just brought both and have been playing with them, as well as reading on the forums. There are some things that raspberry pi is better at, such as video media or computer vision. You will never get to run Quake on Arduino.
However, there is stuff that arduino is better at. Most people have difficult time driving servos with the GPIO pins on the Raspberry Pi. In addition, with the default image of Ubuntu, which is not an actual real-time OS, will cause timing problems in the PWM (pulse width modulation) signals controlling the servos, resulting in jittery servos when an interrupt happens. Currently, the arduinos are better at that, plus they've been around longer, with a larger community, and accessories. Anyway, that's where it's at now.
As for the future trajectory, I can only really guess, but from where I'm standing as a beginner choosing between platforms, while they seem to be targeting education, they're targeting different use cases.
> with the default image of Ubuntu, which is not an actual real-time OS, will cause timing problems in the PWM (pulse width modulation) signals controlling the servos,
CLI / STI (or whatever the CPU specific set is), run as root.
That should solve any timing problems you've got. I've used this to successfully drive a full sized portal mill / plasma cutter from an all-in-one VIA based board.
When you're driving motors you want 100% control. Interrupts you can comfortably do without until you're in a quiet spot, then you check for them and continue.
Probably shouldn't say never. Someone has already managed to get Linux running on the 8-bit micro. Though getting it to run with acceptable performance is a another matter.
Not to quibble with the overall point, but the "default image" is Debian-based, but not derived from Ubuntu, I don't believe. Maybe they thought Raspian sounded better than Rasbuntu...
What I want is a a way to prototype on an Android smartphone. When the design is finished order a custom board based on the particular sensors and parts that are required.
Look, I'm the perfect demographic for arduino, but I never bought one. I just don't want to have to buy tons of shields, ribbon cables, lcd displays, etc to get a basic device that I can have some fun with. Its also a little intimidating for beginners.
>but why the extra sensors?
Why not? We're talking a minimal amount of money added to the board. You can always get the vanilla arduino if you want one.