I see Seeed Studio has a special on a Raspberry Pi 7″ Touchscreen Display for $60. Add $40 for the SBC and another $10 for a case and memory and on down the line and you’ve got to wonder about cost effectiveness. You can get a ready to run 7″ tablet for under $50 and Amazon has several to choose from. The tablet probably even has a real time clock and a battery and charger and all the Android apps (the Raspberry doesn’t). So what do you need?
The Raspberry has an ethernet port, four USB ports, HDMI, and the GPIO pins and support for low level protocols such as I2C and SPI.
The Ethernet and USB are sometimes panned on the Raspberry because they are all on a common hub. You could put a hub on a tablet that has OTG USB support and do the same thing. HDMI output stands out, though, as it provides a special capability. As for the low level stuff, consider the micro controller that Geoff uses for his ‘Standard’ Micromite that only requires a $5 chip (Microchip PIC32MX170F256B) and a single capacitor.
Nineteen input/output pins are available on the 28-pin chip and 33 I/O pins on the 44-pin chip. These can be independently configured as digital input or output, analog input, frequency or period measurement and counting. Ten or more of the pins can be used to measure voltages and another seven or more can be used to interface with 5V systems.
Input/Output functions in MMBasic will generate pulses (both positive and negative going) that will run in the background while the program is running. Other functions include timing (with 1 mS resolution), BASIC interrupts generated on any change on an input pin and an internal real time clock.
A comprehensive range of communications protocols are implemented including I2C, asynchronous serial, RS232, IEEE 485, SPI and 1-Wire. These can be used to communicate with many sensors (temperature, humidity, acceleration, etc) as well as for sending data to test equipment.
Built in commands to directly interface special devices such as infrared remote controls, the DS18B20 temperature sensor, LCD display modules, battery backed clock, distance sensors, numeric keypads and more.
Up to five PWM or SERVO outputs can be used to create various sounds, control servos or generate program controlled voltages for driving equipment that uses an analogue input (eg, motor controllers).
Special embedded controller features in MMBasic allow the clock speed to be varied to balance power consumption and speed. The CPU can also be put to sleep with a standby current of just 90µA. While in sleep the program state and all variables are preserved. A watchdog feature will monitor the running program and can be used to restart the processor if the program fails with an error or is stuck in a loop.
With a serial to USB converter, you should be able to talk to nearly any modern computing device. Or you could talk to an ESP8266 for about the same cost and use WiFi to communicate without wires. You also need to keep in mind that blowing up a $5 chip because of pin mis-wiring is a lot less painful than blowing up a $35 SBC.
The development environment is a consideration as well. Android has a free IDE with a lot of support and those two factors are what make the Arduino and Rasberry so popular.
Ease of development can also be a minus. Even Geoff is going towards plug and chug on touch screen displays. Learning (the hard way) about how these things work is a part of the cost benefit analysis and what learning benefit is there if you don’t have to get down and dirty with the communication protocols?
It gets tough. You don’t get these things because you know what to do with them, you get them to figure out what you can do with them. But then, how do choose which one to play with? Fortunately, the financial risc isn’t that high. Get a microcontroller, Arduino or Picaxe or Micromite for the low level and sensing stuff. Get an SBC like the Raspberry as an aggregation and pre-processing device. Then add an Android tablet for display and control. Or maybe get an old old PC like say ca 1980 and hack with it.
Never been better for the hobbyist.