I’m a self-taught DIY’er, and have been learning electronics for some time now. As i’ve started building my 1st 3d printer, i have to use an Arduino Mega 2560. I’d rather learn how to use an Arduino properly, instead of just dumping code into it and let it run.
So my question is, what is the difference between a microcontroller (Arduino and Arduino-like platforms) and something like a BeagleBoard/Bone or a RaspberryPi (I realise these a full-blown computers)? What are they intended uses for each type of platform; when should you use one or the other? What are they, and what are they not?
Great question. Comparing Arduino to something like BeagleBoard or Raspberry Pi is like comparing a calculator to a laptop. They each have their purpose. The Arduino platform is designed around a relatively low power microcontroller that gives the user complete control of its hardware. Through the use of the Arduino IDE, you can write programs (<32Kb) that can interface with almost limitless hardware including switches, sensors, LCDs, other microcontrollers, the internet, etc.
Regarding devices like Raspberry Pi and BeagleBoard, they are designed to function on a much higher level. With already integrated hardware that takes care of things like ethernet, video and audio processing, large quantities of RAM and an almost unlimited amount of storage space, they are really mini-computers. You are able to run complete operating systems, like Linux and Android, and develop programs within those operating systems that can control the systems functions and the IO that are made available.
If you were to design a control panel for a microwave, you could use an AVR like Arduino. It could drive the LCD, interface with the buttons, and sense the conditions inside the appliance. You could have also used a device like Raspberry Pi or BeagleBoard, but it would be overkill for the task. Now if your microwave needed a high resolution multi-touch LCD that Tweeted what you were cooking while checking your stocks…..
Below is a chart I threw together to compare the hardware between lower power devices like Arduino and Propeller to the big-guns like Raspberry Pi and BeagleBoard:
Good luck with your 3D printer. I just finished mine and went the route of an Arduino Uno + grblhield + Teacup firmware and have a pretty rock solid system. Just make sure you actively cool the grblhield on long runs.
I hope this has helped to answer your question!
Don’t forget, everyone is invited to ask a question!
“Ask an Educator” questions are answered by Adam Kemp, a high school teacher who has been teaching courses in Energy Systems, Systems Engineering, Robotics and Prototyping since 2005.