Help me understand why Raspberry Pi's -much more expensive- dont include Arduino

Hi!

I'm still starting out with hardware and have never manufactured anything :slight_smile: Though, I'd like to go down that path and eventually maybe get something to market, I might need a bit of help. :wink: I might talk about that in the future here, I'm very new to this particular forum.

So one of my eventual projects would likely need help from a SoC (system on a chip) which is where a lot of my attention has been recently. But I'm very curious about microcontrollers as well - and have used Arduinos in simple home projects, though, again, I haven't manufactured anything yet :slight_smile:

Now, I would like to understand something.

Arduinos start at a lower price point that raspberry pis, since they're based on microcontrollers and not a complete CPU.

But raspberry pis are also educational. I'd like to understand better why raspberry pis don't include any arduino-type stuff!

Would it be possible to license or use an arduino in a raspberry-pi type project, so that rather than just GPIO pins, they could also include basic basic stuff like an adc?

Help me understand why the two worlds are so separated!

Thank you.

curious48:
I'd like to understand better why Raspberry Pis don't include any Arduino-type stuff!

No perceived need to do so. It is a substantially more powerful CPU, as you noted.

curious48:
Would it be possible to license or use an Arduino in a raspberry-pi type project, so that rather than just GPIO pins, they could also include basic basic stuff like an ADC?

It's already done. Given that your power supply is adequate, you merely plug an Arduino into the Pi. You already have the Arduino IDE on the Pi and you can write programs to interface with it via USB serial in Python or any other popular language.

There are USB sound dongles for the Pi (or anything else) of a couple of dollars - these necessarily include an ADC (though many are crap - noisy - as sold).

Thanks for your answer. But what I mean is wouldn't it make sense for the PI to include some arduino-like pins? There is a HAT that has 40 pins. And not ONE of them is analog. It's useless for controlling analog stuff or interfacing with the real world until you add an arduino to it. Why don't they just include one on the same PCB? It wouldn't cost much as the arduino stuff is open-source...

You can simply add an external ADC to the Pi if you need to measure analog inputs.
No need to add an Arduino to it.
Heres one here from Adafruit.

Have you looked at the Yun? Like RP, it runs Linix, but also has an attached Arduino.

And it's MUCH more expensive!

Have you looked at the Yun? Like RP, it runs Linix, but also has an attached Arduino.

And it's MUCH more expensive!

I think I understand why the Yun is so expensive. It's an Arduino, but arduino isn't specialized into making a complete PC. Raspberry is specialized into making a complete PC - they have a $5 pi zero which betas teh Yun in every spec!

It's $75 and has 64 MB RAM. The Pi Zero is $5 and has 512 MB RAM.

Yun is $75 and has 400 Mhz Arm. Pi Zero is $5 and has 1 Ghz ARM.

Yun has is $75 and has no GPU. Pi Zero has one that can drive a 4K screen and built-in mini-HDMI port. The Yun has no video output whatsoever.

But.

The Yun has an ATmega. The Pi Zero has none. The Yun has 12 analog ports with 10-bit ADC, 0-5V (supports external reference input). The Pi Zero has... zero.

So what would really make sense is for raspberry pi to coordinate with arduino, so that arduino can work on the arduino/atmega side, and raspberry pi can work on the ARM side.

This would enable amazing applications such as:

-> Ultra low-power. The Arduino side could wake the Raspberry side as needed! The raspberry can boot in a few seconds, do whatever computation is required (or output to a screen!) and then be powered off agian. Right now this is an error-prone and non-integrated external solution.

-> The Raspberry Pi could receive integrated signals from the Arduino side without anything more complicated!!

Right now it's super complicated to hook analog inputs, over USB, into an embedded PC. I've done it.

If it were like a 50%/50% split between Raspberry Pi responsible for the ARM side and Arduino responsible for the ATMega side, it would be amazing! Plus, I bet they could even share pins so that the user decides whether pins go to the pi side or the arduino side :slight_smile:

What do you think? Wouldn't that board beat a $75 Yun? Or a raspberry Pi + expensive hobbyist breakout boards + complete arduino?

Look at this write-up:

http://readwrite.com/2014/05/07/arduino-vs-raspberry-pi-projects-diy-platform/

Really, why choose? It will never be easy for an Arduino without an ARM processor to send an email (without a computer). It's easy for the pi side to do stuff like that. But the pi side can't read a sensor, drive an analog device, that sort of thing.

Someone already had a similar idea here - Heh. Arduino Nano/Raspberry Pi Zero - Other Hardware Development - Arduino Forum

wouldn't it be pretty great? Why not?

The announcer Purpose of the Raspberry Pi was to teach programming, especially to young people. It was never intended to do much hardware / low level control and "Physical Computing".

The Arduino-Pi combination is what has evolved and makes a lot of sense...

curious48:
Thanks for your answer. But what I mean is wouldn't it make sense for the PI to include some arduino-like pins? There is a HAT that has 40 pins. And not ONE of them is analog. It's useless for controlling analog stuff or interfacing with the real world until you add an arduino to it. Why don't they just include one on the same PCB? It wouldn't cost much as the arduino stuff is open-source...

, they could also include basic basic stuff like an adc?

A board designed from your wishes would not have the small form factor PI and Arduino have, especially if they add the wishes from other people (they already have added wifi and bluetooth in PI3 ) , which you could find useless.

is ADC .... 'basic basic' stuff ??
what makes you think ADC is the only link with 'real world' ?

a lot of sensors include their ADC and a communication interface (I2C, ..... )

BTW, arduino has no DAC , it only has PWM pins, just as RPI has

anyway, RPI and arduino are not the same things.
if you need more memory, more possibilities than arduino gives, you could go for a PI A+, which is cheaper then PI3 and, if you use a sensor that has only a analog output, then add an ADC (as Mauried suggested)

The Arduino side could wake the Raspberry side as needed! The raspberry can boot in a few seconds,

No it can't, not unless you classify a few as over 45.

As to the price, this is related to the quantity. The Raspberry Pi has had sales of 4 million a fraction of the Arduino. The Arduino is totally open source the Pi is not. Because of this there are lots of Arduino clones and ripoffs but no Pi ripoff because it uses a chip that can only be got from a single source. That chip was designed to run a set top box and was obsolete when the Pi was launched, hence the chip was cheap. Also the makers of the Pi also worked for the makers of the chip so there were some cosy deals. By the way Eban Upton on of the co-founders of the Pi charity was awarded the OBE today. Congratulations to him.

There are many Arduno like processor boards available for the Pi.

There are no A/D or D/As on the Pi because they are not needed to make a set top box.

Right now it's super complicated to hook analog inputs, over USB, into an embedded PC. I've done it.

Yes but it is dead easy to connect an A/D to the SPI pins of the GPIO port. The drivers are already built into most of the GPIO drivers.

Thanks for your detailed information! So, it seems that kind of the two major things that a Pi is missing that an uno etc have are: 1) six analog input pins, 2) a microcontroller you can program close to the metal 3) power profile of a microcontroller -- and that barring these things a pi would be sufficient for all of the needs that an arduino fills? Since the Pi is closed but the Arduino is open, are the Pi people allowed to include a complete arduino or not?

a Pi is missing nothing that Arduino has, they are different ......

what do you think a plane is missing that a car has ? :wink:

The Beaglebone Black (and other Beaglebone variants) is a Raspberry Pi class Linux/Arm SOC with on board A/D. It's probably the preferred ARM single board computer for people interested in the sort of application that the original poster has suggested. The Texas Instruments SOC used has an ARM core and two 32 bit microcontrollers. There may be other single board computers with A/D capability.

As was pointed out above, the heritage of the Raspberry Pi SBC was in set top boxes (Roku) and, as such, it has particularly good video capabilities, but is kind of lacking in the low level real time control arena.

but is kind of lacking in the low level real time control arena.

To be fair that is down to the Linux crap, you can run the Pi with the bare metal type software. But even better than this is RISC OS which is a cooperative multitasking system, a million miles a better concept than Linux.

One of these, http://www.ebay.com.au/itm/like/311487248194?lpid=107&chn=ps and a raspberry pi zero like this Raspberry Pi Zero - Version 1.3 : ID 2885 : $5.00 : Adafruit Industries, Unique & fun DIY electronics and kits would do what you need for less than the price of a standalone Arduino.

curious48:
Now, I would like to understand something.

Arduinos start at a lower price point that raspberry pis, since they're based on microcontrollers and not a complete CPU.

But raspberry pis are also educational. I'd like to understand better why raspberry pis don't include any arduino-type stuff!

Not true at all - they include lots of arduino-type stuff, you have serial, GPIO, PWM, I2C, SPI, OneWire,
USB, audio.

Would it be possible to license or use an arduino in a raspberry-pi type project, so that rather than just GPIO pins, they could also include basic basic stuff like an adc?

The RPi uses a high performance SoC running internally at 1.8V or less, the silicon process is not suitable
for any decent analog stuff at all. For cost reasons the RPi includes the bare minimum of stuff to be a "proper"
computer.

Would you include a DAC as "basic basic stuff", because most Arduino's don't even have that. Your
expectations seem to be using the Arduino as your default model of what a system should be, rather
than a high-level map of the whole territory of embedded devices.

Help me understand why the two worlds are so separated!

Thank you.

Lots of projects use both RPi's and Arduinos/microcontrollers working together. One of the big
differences you have take note of is power consumption, the RPi needs several watts minimum,
a microcontroller can run on a few milliwatts, or with sleep mode a few microwatts. And of course
you can run a modern OS on the RPi, which uses ~10^6 times more resources than an Uno can
provide. Pretty different really.

Lots of projects use both RPi's and Arduinos/microcontrollers working together.

Here is one I did some time ago.

The Arduino gathers the data and the Pi displays it. The Pi could not keep up with the data that comes out of the sensors because Linux forces it to take a nap every now and then. However, the serial input is buffered so the Arduino steady gathers data and fills the serial buffer and then the Pi empties the buffer and plots the data, a process that can be interrupted. When watching it plot you can see where the plotting "pauses" and then "rushes" and catches up with the data. But it does not show up on the video.

curious48:
they could also include basic basic stuff like an adc?

Help me understand why the two worlds are so separated!

I'm with you; but I've found that "they" ( the creators ) are generally in very, very, very ( cannot be emphasized enough ) limited supply and usually their intentions get trampled on by political bureaucrats that don't create or serve any other purpose than to support their own self fulfilling importance needs.

So to understand why the worlds are so separate one just has to asks why Mr. bureaucrat would want to add an ADC when it will sell without one no matter how annoyed the target audience gets.

Seen it happen a million in a half times in bureaucratic meetings. They spend more time insisting that, "We don't need that" than it would take to actually CREATE the darn thing BECAUSE they aren't creators they are bureaucrats and that's what they do is spend their life arguing time away... Same thing with crashes and bugs - As long as the bureaucrats can economically sell the buggy crap they will spend more time arguing "it doesn't need fixed" than would take to fix it.

So; in the end - the consumer has to be the creator if they want anything done right.

While everyone is entitle to their own opinion. If it is as wrong as yours be prepared for people to call it crap.

It is crap.

So to understand why the worlds are so separate one just has to asks why Mr. bureaucrat would want to add an ADC when it will sell without one no matter how annoyed the target audience gets.

I think you are totally misunderstanding the people and the processes that created and drive the two systems. Their are no Mr. bureaucrats in either camp. These systems are not made as a money making exercise, they have specific educational aims.

I suppose you also subscribe to one or two conspiracy theories as well.

Grumpy_Mike:
the people and the processes that [-??-] and drive the two systems. Their are no Mr. bureaucrats in either camp. These systems are not made as a money making exercise, they have specific educational aims.

Even your statement highlights "the people" that "process" and "drive" the two systems. Typically the "drivers" and "processors" aren't the creators and have "specific [-??-] aims" of their own. Which often doesn't "aim" quite perfectly with the consumer.

But the real question is; why they argue with the consumer to no end that their "aim" is better than the consumers "aim" over a $0.02 addition. :slight_smile: Guess I've been jaded from attending too many business meetings that always go absolutely nowhere productive.

Don't kid yourself though; Every creator at Microsoft knew Windows 8 would be a bombshell on desktops except the "processors" and "drivers".. We use to have a sarcastic joke at many of my jobs that would mimic the "processors" and "drivers" as believing that, "That's not a bug - Its a feature.." :slight_smile:

Anyways; I'll let my statements end there for consideration - and for the wonderful creators of the world; all I can say is thank you so much for the material you can supply all of us without interference. Please don't read any insult into this.

You can have some of what you want, but the real time aspect is still a problem. I started playing with this machine before I moved to Arduino:

PCduino