Arduino alternative

Hi. A couple of years ago I did an Arduino project for home automation, where I can read room temperatures, room illumination, read data from my electricity meter and control devices using 5V 433 MHz receiver and transmitter. All collected data is uploaded to a webserver and represented on my web page.

Everything has been working fine, but now I would like to try something new.

I was thinking of upgrading the Arduino to something bigger like for example the Raspberry Pi, where the webserver can run from the controller and data can be stored on the controller also.

However, the problem with Raspberry Pi is that it doesn't have any analog I/O and also that the digital I/O is 3.3V and not 5V, which I need if I don't want to change the rest of my hardware.

So the question is if it is possible to buy a cheap Raspberry Pi similar controller with the I/O capabilities like the Arduino. Do you have some suggestions?

Thanks.

Hi,

If everything is running as you say, what is the limitation you're trying to address with this upgrade? Or is it just to give you a new challenge? If the 2nd, the RPi is as good a place as any to start. If you've got something specific to fix that might help narrow the choice.

Geoff

I thought that it would be fun to learn a little about other platforms, maybe somthing with Linux.

Also it would give me the possiblity to store and represent the collected data on the controller instead of uploading it to a external webserver.

I think the I/O options on the Raspberry Pi are a bit limited, since there are no analog inputs or outputs.

I guess what I am looking for is a Raspberry Pi with the same I/O options as the Arduino, but I don't know if something like this exists.

Something like the Pi isn't designed for IO. It is meant to be a small computer-on-a-chip kind of thing.

If you want to operate IOs, try to limit yourself to mcus.

jokkemokke:
I think the I/O options on the Raspberry Pi are a bit limited, since there are no analog inputs or outputs.

I guess what I am looking for is a Raspberry Pi with the same I/O options as the Arduino, but I don't know if something like this exists.

Hi,

Since you mention the RPi, even if they don't have analog I/O, that's functionality you can add in the same way as adding extra analog inputs to the Arduino. Chips like the MCP3008 or similar will do that for you - and as you identified you might need some logic level shifting. Alternatively, moving to digital sensors would eliminate the need for your analog inputs too. Adding a Gertboard to the RPi provides the additional IO from an ATmega MCU onboard (if that fits the budget) or of course you've already got an ATmega on your Arduino...so you could utilise your Arduino to interface your sensors to your RPi.

Since your design brief is quite open, anything will do - I only stuck with the RPi since you mentioned it.

Sorry for the Cheshire Cat style of answer.
Geoff

What about a DUE then ?

jokkemokke,
To give you a better recommendation for your new design approach, it could be good to know more about your home automation project. Is it a dedicated Arduino system? I could infer you are using radio controls, an Ethernet shield, sensors, etc. Remember also that you can program your Arduino using Mac or Linux.

tuxduino,
Due could work but still the issue of 3V3 to 5V conversion that would mean extra money.

Finally, I found an interesting book on internet (I haven't read it yet) entitled "Programming Your Home" by Mike Riley that could enlighten you a bit more.

Regards

jokkemokke:
I was thinking of upgrading the Arduino to something bigger like for example the Raspberry Pi, where the webserver can run from the controller and data can be stored on the controller also.

Ethernet shield?

The BeagleBone is somewhat similar to the Arduino with its use of "capes" instead of shields, but uses an ARM Cortex-A8 Sitara and runs Linux:

http://beagleboard.org/bone

Tutorials for the pie. The Adafruit lessons look better.

http://www.sparkfun.com/tutorials/372

http://learn.adafruit.com/category/raspberry-pi

My current project consists of an Arduino with ethernet shield. Data is collected on the Arduino using RF sensors and analog sensors. These data are then transfered to a MySQL database on a server outside my house using the ethernet shield. On this server I can then view the data on a web page.

I was thinking of maybe saving the data locally on a SD card and represent it on a local webserver like for example on an Raspberry Pi.

Maybe I could connect a Raspberry Pi directly to the existing Arduino using the USB connection, and then install a MySQL database and a webserver on the Raspberry Pi.

In this way I could use the Arduino as an I/O extension for the Raspberry Pi.

Maybe I could connect a Raspberry Pi directly to the existing Arduino

That's more or less how I'd tackle it.

I would keep the existing system and add more goodies with a Pi (or whatever).

That way you're building on top of what you have and while things aren't working (as you learn the new board/language/whatever) you still have a viable control system.


Rob

chipkit uno32 or netduino plus is my advice

Netduino runs .net micro framework, requires Visual Studio and is programmed in vb.net or c#. Just FYI.

I say have a look at using firmata from the Pi.
And to make it really easy, use a Teensy board.
You can load firmata on a Teensy board and then you use the Pi for all the high level stuff
and the Teensy can handle the i/o.
The Teensy can plug into the USB port or an external USB hub and give you the i/o you need
including 5v compatibility.

There are python firmata libraries so you can easily access the i/o pins from the linux world
without having to write any device drivers.

The great thing about using something like firmata, is you can write and debug all you code on your linux
desktop then once it works, simply move it over to the Pi.

--- bill

Bitlash Commander should run happily on the pi. You can browse to it from anywhere on your network:

-br

billroy:
Bitlash Commander should run happily on the pi. You can browse to it from anywhere on your network:

GitHub - billroy/bitlash-commander: Web-based dashboard builder for Arduino.

-br

That does not solve the need to have 5v i/o and analog input.