Arduino, Raspberry Pi, Beagleboard, what?

guserto4

Member
looking at building my own controller and clearly the posts I see are mostly Arduino, but I wanted to put it out there just in case I'm missing something. I get the stepups in complexity, I'm just curious for the typical & advanced things we look for in a reef controller, what's the favorite and why...

Arduino
Raspberry Pi
Beagleboard
Something else?
 
You can do arduino style loop control programs on both Rpi and BBB, which is fine in general. But both are also actual computers, and you could instead split the programs into individual parts and have them entirely independent of one another, even able to run at the same time. Or have one that controls when the others get called, though linux has a thing that does that by default too. Also both can natively host a real webserver, which i find as an interface much better than a small screen in a cramped location. I have a screen in my pocket all the time anyway, or in front of me as i'm typing now. You can also edit just about everything on them on the fly, whereas an arduino i think needs to be taken down and plugged in to reprogram anything.

I really need to work on my control at some point still, what it can do and what it actually does is still quite far apart, just been lazy as it does the main thing i wanted so well.
 
I really like the capibility of RPi but am concerned it's a bit more programming to figure out. BUT I know I'm going to get to a point with arduino that it's simplicity and one thing at a timeness irritates my natural interest in the awesomeness of complexity. I do understand that RPi doesn't do analog inputs so well though. How would one get around that?
 
Last edited:
For doing analog on RPI or Beaglebone Black, you can add I2C ADC breakout boards cheaply. Most peripherals have I2C versions that can supplement the IO capabilities or if you need 5V interfaces.

I have added ADC, DAC, GPIO and PWM to the RPI that I use.

Dennis
 
The only reasons for using arduino (IMO) are price, coding simplicity and number of working examples out there for you to use as inspiration or to copy.

You could always do an arduino solution using I2C devices for I/O and PWM. Then when you hit the limits, just recode and drop in a new module as all the interface and control modules would be compatible with (for example) a RPi :)

Tim
 
I do a mixture of both. My controller is Arduino based, however my web interface is ran on the RaspberryPi. I separated the two, because now I can have 1 web server, and multiple Arduino's controlling other things besides my tanks.
 
Can anyone suggest literature for running multiple arduinos under RPi? This is new to me, so I'm excited to ravinashly devour the material!
 
Netduino is an option (and what mine is built on) if you already know VB or C#.

You'd have to be doing some pretty graphic things to hit the limits on the latest ardunio boards IMHO. If you're using a 16x2 or 20x4 character LCD you likely won't need the power of the Pi or BeagleBone, though they are nice.

There are a lot of ways to do it all- one giant system, several smaller systems reporting to a bigger system, etc.
 
Can anyone suggest literature for running multiple arduinos under RPi? This is new to me, so I'm excited to ravinashly devour the material!
Both can talk over I2C so you can simply set the arduino up to run autonomously unless it gets an overiding command over I2C. There is lots of material out there for arduino master/slave but i have to say, i never found anything that was brilliant as reference material :(

Tim
 
See my opinion is if you did a Master/Slave like my setup, Slaves are Arduino's, and Master is the RaspberryPi, is get away from the crappy Serial or I2C communications. Go Wireless or Ethernet. You can get the ESP8266 wireless for the Arduino's cheap or go hardwired with Ethernet. Both are widely supported.
 
See my opinion is if you did a Master/Slave like my setup, Slaves are Arduino's, and Master is the RaspberryPi, is get away from the crappy Serial or I2C communications. Go Wireless or Ethernet. You can get the ESP8266 wireless for the Arduino's cheap or go hardwired with Ethernet. Both are widely supported.

This, no reason not to pass JSON or XML back and forth if you go multiple + head units- makes for super easy debugging if they spit out status in XML when hit with a browser.
 
I like this, it makes sense. I think in a S/M setup you still get the simplicity and the anolog of arduino and if power should fail as I understand it the arduino just kicks back on whereas RPi may have issues with a power reboot. And I like the debugging point.
 
My BBB has no issues with reboots, in fact it even knows what the time is after a reboot and it doesn't have a clock. But it has the internet... A script to run at boot is all you need to restart something, or use cron for all timing and never think about it again.
 
Yes, I love the BBB, and they are so cheap that I tend to use them in place of where I would normally use an Arduino.

My last project used a BBB and an Arduino. The Arduino is running at 3.3V so it could be interfaced directly to the BBB (over serial) and it is running GRBL for controlling 3 stepper based dosing heads. The BBB uses PWM to control more dosing heads through L298N boards. The combination of the PWN and the H-bridges worked quite good on the BBB.

Agreed, the simplicity of CRON is hard to beat. So is being able to SSH into your controller to have a look around while you are on vacation.

Dennis
 
Back
Top