This has to be one of the most common questions people ask when they start looking a microcontrollers or mini-computer for electronic projects. The reason is that people do not fully understand where each come into play. Once you do, making the decision is pretty simple. The simple answer is that depends on the needs of your project.
The Raspberry PI is a minicomputer. It has an operating system and must be booted up and powered down. It has software such as a browser, games, a word processor, etc. It has the ability to multi-task, meaning it can run many programs at the same time. If you find that your project needs these, then you should consider the Raspberry PI or something equivalent. However, an Arduino board is a motherboard for a microcontroller. It is not as powerful as a PI. It should be used when you need less processing power for your needs. If you need a more powerful microcontroller, there are many other options such as the Parallax Propeller. You can also wire up multiple Arduino's and segment off different functions on each. You can hook them together and have the talk to each other. You can also use your Arduino to program an ATMEGA chip that only cost $3 and have numerous chips setup on a single board all working and talking together. There are many options. The correct one will depend on your experience, budget, and needs.
At some point, you may want to tackle a project that you can't accomplish with a microcontroller and a minicomputer may be your best choice, and that's where the PI can come into play. A good example that you hear a lot is if you are building a robot and you want to add a camera with imaging software, maybe a self-driving robot of sorts, then a PI makes sense. But if you are building a simple robot with a few sensors, servos, a couple of electric motors, etc., then Arduino will probably be a better fit. However, if you are just beginning and trying to learn electronics, I'd suggest staying away from the PI and Arduino for a while and get some basic electronic knowledge first. From there, move into microcontrollers such as the Arduino before jumping over to a minicomputer like the PI.
Beginning with Electronics?
If you are just starting out, I suggest you start with a few components and a breadboard. Trying to learn electronics with a minicomputer is overkill and will not help you build the foundation you need. The good thing is that everything you learn along the way, will build your knowledge. What you learn from your time working on a breadboard will apply to learning microcontrollers. What you learn on a microcontroller will apply to minicomputers. If you start with an Arduino or the PI, you will quickly realize you are only able to copy other people's designs without really understanding how things work and why they are using the components they are using, and you'll find yourself unable to solve simple circuit issues that would be simple to solve if you had some of the basics down. Plus, every issue you run into, you will try to solve using a microcontroller or minicomputer when a simple circuit might be the best choice.
Comments