![]() ![]() The Arduino is just as approachable a platform and while much more constrained in terms of supported languages and applications, it provides a gentle introduction to embedded systems and “bare metal” development. The Raspberry Pi was designed from the outset as an aid to teaching computer science and this is where it really shines, and it can be used with a great many languages and frameworks and to learn everything from simple scripting up to network and graphics programming. In contrast the Raspberry Pi is, at the time of writing, not an open source hardware design, its system-on-chip is only available in high volumes and it employs package-on-package technology which requires specialist tooling. Prototyping and learningĪrduino is a prototyping platform, hardware designs are open source, and the ATmega micro-controllers used can be secured in low volumes and are available in packages that are easy to work with. However, the Raspberry Pi is doing a great job at catching up. When it comes to hardware ecosystems the Arduino wins as there are a great many derivatives and hundreds of shields exist. The Arduino software ecosystem is much younger and more modest, and also reflects the fact that the Arduino is based around a micro-controller and designed for smaller and what could be described as classic embedded applications.Īn Arduino prototyping shield (Source: Wikimedia Commons, Public Domain) To say that the Linux ecosystem is extensive would be a serious understatement and thanks to the Debian project and via it Raspbian, those developing for Raspberry Pi can install thousands of libraries, tools and applications with just a single command. ![]() However, the Linux kernel alone comprises millions of lines of code and for applications where simplicity is key the operating system-less Arduino holds certain appeal. Thanks to Linux the Raspberry Pi benefits from a far more flexible and powerful development environment. In addition to which more advanced debugging tools are available and with interpreted languages such as Python commands can be entered interactively. and development can be carried out using a directly attached monitor, keyboard and mouse, or via a remote SSH or VNC session. Whereas the Raspberry Pi runs Linux and can host its own compilers etc. Alternatively C/C++ or just about any other language could be used and there are even libraries which attempt to recreate the Arduino system.Īrduino software is written in a language similar to C++, this is compiled on a PC running the IDE and then downloaded over USB, with debugging made possible via print statements that direct their output to the IDE. The Raspberry Pi doesn't come with an official IDE but the “educational language of choice” is Python and libraries exist to enable much of what is possible from within the Arduino IDE. ![]() The Arduino comes supplied with an IDE and libraries which have been designed for ease of use and to support “non-programmers”, and within minutes of installing these you can be blinking LEDs and reading temperature sensors. ![]() Due to the much simpler nature of a microcontroller-based approach the Arduino may also have an advantage over the Pi in applications which demand a very high degree of reliability.Īn battery powered Arduino-based wireless sensor node Developing software But when power consumption is of paramount importance the Arduino has the edge, as it will only consume microwatts when in sleep mode compared to the watts drawn by an idle Raspberry Pi running Linux. The Pi has a clear advantage for complex networked and high performance embedded applications, and those which involve driving a video display or USB peripherals. Raspberry Pi ports (Source:, CC BY-SA 3.0) So the Raspberry Pi wins? Well, it depends upon the application. On top of which the Pi has a GPU and video outputs, Ethernet as standard and USB host ports. The Arduino employs an 8-bit ATmega series microcontroller whereas the Raspberry Pi is based around a 32-bit ARM processor, and the Arduino is typically clocked at between 8-16MHz and with 2-8kB of RAM available, and in contrast the Raspberry Pi can be clocked at up to 1GHz and may have up to 512MB of RAM. More often than not these are based on headline specifications such as processor clock speed and RAM alone, and so a good place to start is with a hardware comparison. When the Raspberry was announced some were quick to excitedly herald it an “Arduino killer”, and simple comparisons are frequently made which fail to take into account the broader benefits of each platform. ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |