element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Arduino
  • Products
  • More
Arduino
Arduino Forum Raspberry Pi vs. Arduino for learning from "bare metal" and up
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Arduino to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 5 replies
  • Subscribers 393 subscribers
  • Views 436 views
  • Users 0 members are here
  • bare
  • rasberry
  • metal
  • arduino
Related

Raspberry Pi vs. Arduino for learning from "bare metal" and up

miner_tom
miner_tom over 10 years ago

Hi to the community.


I'm and old hardware engineer and have been designing  boards since the days of the 8086. The last couple of years I have been involved with the hardware design of embedded systems boards such as those using Broadcom SOC's but I've not been directly involved with the firmware other than loading reference code and toolchains and doing very simple drivers.


I have been doing my research in choosing an embedded system for WiFi projects. First, I was looking at the Arduino Yun, because of the built in WiFi. What I found, and hopefully the members of this community can correct me if I am wrong, is that the Arduino is designed for you to load the operating system, which is based upon OpenWrt and not really to mess with it. Just write programs that run on the compiled kernel. Not being satisfied with that, I downloaded the source OpenWrt variant that is suggested at the Arduino Wiki and began the arduous task of compiling it, so as to begin to learn its workings. Now, I was somewhat familiar with OpenWrt as I have downloaded and compiled it and loaded it onto my router. But, it must be 2 million lines of code and getting around in it is a real bear. Compiling the Arduino version of OpenWrt took forever (8 hours and lots of downloads) and I was restricted to having to do it on a 32 bit native (not virtual) distribution of Debian. Of course, like the OpenWrt that runs on my router, it is very large and one can change it as ones own risk. Even the WiFi drivers have no source code as they are derived from a reverse engineered Broadcom WiFi driver called b34.


So, other than running OpenWrt with the stock binaries and using that to compile programs on the Arduino, I can't see how one can learn much about how the hardware interfaces with the software. Finally, the software reference manual for the Broadcom router that I have, a very vanilla RTN-16 (the BCM47xx family) is so proprietary that I could never find it (I'm not talking about the 3 page pinout but the reference manual itself). In fact, I never was able to locate the software reference manual of any of the major vendors of routers running OpenWrt that I could find (and that was a lot of them).


If what I have said about the Arduino is incorrect then please set me in the right direction. Really. I am here to learn.


In contrast, the Raspberry Pi has lots of information available concerning running it as "bare metal" even without an operating system. For example at https://github.com/dwelch67/raspberrypi there is a wealth of information concerning running the hardware in assembly, toggling LED's, doing simple displays, etc. In addition, there is "ass tons" (my son in laws expression) of information available about how to construct an operating system for the Raspberry Pi, as small or as large as one could desire. The only drawback that I see is that there is no native WiFi for the Raspberry Pi so one is tasked with finding a suitable WiFi dongle and loading drivers. Not a difficult task.


It seems to me that if one wants to learn firmware programming from the bare metal, up, then the Raspberry Pi seems to me to be the one to use.


Comments? I am really not a troll and if I offend anyone that uses the Arduino, by the remarks that I made above, I humbly apologize. In fact, I have purchased neither board yet. Doing proper research first.


Thank You

Tom

  • Sign in to reply
  • Cancel

Top Replies

  • dwinhold
    dwinhold over 10 years ago +1
    I personally use both, they both are great for their perpose. The Arduino is great for motor, LCD and sensor control. I find the only drawback is the programming only allows one operation to be performed…
  • Robert Peter Oakes
    Robert Peter Oakes over 10 years ago +1
    I tend to take the other approach, figure out what you want to acheive, then look at how to do it RPI and Arduino are very different and have a good place in different environments, the PI typically running…
Parents
  • michaelkellett
    0 michaelkellett over 10 years ago

    If you really want to get into the nuts and bolts look at getting an ESP8266 module and using it with a plain vanilla Arduino or an ARM Cortex dev board like the ST Nucleo or Discovery parts. Very cheap parts, quite a lot of web support and real control of what is going on - no need to use a single byte of other people's code on the target.  (Although you'll be using code embedded in the ESP8266.) Development tools are free from IAR,Keil, GCC etc.

     

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • michaelkellett
    0 michaelkellett over 10 years ago

    If you really want to get into the nuts and bolts look at getting an ESP8266 module and using it with a plain vanilla Arduino or an ARM Cortex dev board like the ST Nucleo or Discovery parts. Very cheap parts, quite a lot of web support and real control of what is going on - no need to use a single byte of other people's code on the target.  (Although you'll be using code embedded in the ESP8266.) Development tools are free from IAR,Keil, GCC etc.

     

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • Robert Peter Oakes
    0 Robert Peter Oakes over 10 years ago in reply to michaelkellett

    Actually, those ESP boards are little gems, for simpler projects you don't even need an arduino, Launchpad or any other controller, they can do it all on their own, A friend of mine (Since I was 16) has a significant ammount of skill on these and has posted alot of it on his ESP facebook and web channels

    ESP8266 WIFI Miracle Board | Scargill

    https://www.facebook.com/esp8266wifi

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube