One of the things about Android is that there are tons of devices out there. Some of them aren't even phones and tablets but offer potential as embedded development platforms.
Yes, some people have tinkered with Arduinos and similar "tinker toys" but with their limitations they just don't fit any real purpose most of us might have. Blink some LEDs, and most of us are done. That doesn't mean they don't have their place but for most of us they're just too limited for any projects we want to work on.
Android Options
One Android-based product is FXI's Cotton Candy, still in early developer-oriented production. This thing is a "USB stick" form-factor computer. It uses a micro-SD card for storage, has HDMI output, Bluetooth, WiFi, a micro-USB host port to allow direct keyboard/mouse connection, and a USB plug for power input.
You can also plug the "power" plug into a Windows, Mac, etc. machine and not only power it but host it using the PC's keyboard, mouse, and monitor instead of (or in addition to) plugging devices into the CC itself.
Here's the main site: Cotton Candy. There are specs and stuff there as well as links to purchase pages, a forum, etc. it costs $199 USD as far as I can tell, but shipping currently adds $60 (according to forum threads) and then you pay customs duties, etc. Er, maybe next year.
Another option might be Ouya. I'm not sure about many details on this one aside from it being intended as a sort of game console. The product's site is at http://www.ouya.tv/
There must be quite a number of these I haven't found yet. I saw in the CC forums that there is at least one cheaper Chinese product similar to the CC, though I have no info about it aside from a $79 price-point.
Then of course you might get along by going with some cheap 7" Android tablet as a starting point. As tablets these have LCDs built in (or is the computer built into the LCD?) that you might not need in your finished robot, automated weather station, smart pizza oven, etc. Still you can find something to work with for as little as $60 today.
You Mentioned Basic?
Of course this forum site is about writing software more than tinkering with hardware, so we don't want another silly media player or electric picture frame. We want to write some code.
One way "in" might be to get hold of Google's Android SDK and related pieces and parts. That lets you work in Google-flavor Java and I believe there's an NDK (Native Dev Kit) offering a C compiler.
Or you might try to "ease in" by looking at some of the development tools being produced by 3rd parties who were orphaned when Phone 7 killed the popular Windows Mobile platform.
One of these is Basic4Android and it seems to be a lot like VB6 with some quirks more reminiscent of VB.Net. I've noticed that after visiting their site a few times they've dropped some cookies here that result in ad-links at other sites offering a 30% discount on this $49/$99 product (two editions).
There is also another vendor in much the same boat who turned to creating a product called NS BASIC/App Studio.
For all I know these might prove too limited, i.e. strongly phone/tablet oriented and difficult to use for more general development (like that pizza oven project!).
Anybody Out There?
So I'm wondering if anyone here has pioneered any of this yet. It almost looks like you could pick up a cheapie tablet for say $75 and Basic4Android Standard Edition at $34 discounted - and if you already have a PC running XP or later you'd be all set to do some tinkering.
If you go the cheapie-tablet route you might want to look for USB On-The-Go.
This lets you use a cable/adapter and connect USB devices and host them. Without it your device's USB port may only function as a charging source and slave device to a PC, etc.
I've read that later versions of Android all allow these adapters to be used (you can pick up 3rd party adapters). However depending on the product, the feature might require some spin-around-and-jump (i.e. hold some button down while powering up, etc.) to activate it. Others won't be able to activate it at all until you root the device and tinker at a low level.
This becomes important if you want to do anything with these devices, since USB is probably the only practical route to adding sensors, actuators, and the like. It's hard to control the temperature of that pizza oven over HDMI or an earphone jack!
Something I hadn't been expecting (though I'll admit I haven't been paying attention) is Intel's efforts to hedge their bets.
Instead of bowing to Microsoft, who appears to be ditching Intel for the ARM world, Intel has been working to put Android on x86 platforms. From the look of things there must be an Intel SOC using an Atom core, because they've shown prototype tablets and even phones based on x86 CPUs.
Or at least I think that's what's being said and demo'ed here:
My only problem with things like this, while fascinating... I wouldn't know what to do with any of these if I had one.
Just out of curiosity... how is Raspberry Pi a "late commer" ? I've known about the Raspberry Pi for at least 2, possibly 3, years now, if not more... I was under the impression it was among the first of its kind. -- it might simply be that And since you stated "Um, no" ... I take it you have something against it, or there's something not right about it... care to elaborate?
The Raspberry Pi has a history of fits and starts. While there were early prototypes as early as 2006 it wasn't until 2011 that an updated board came out and a handful shipped. Then there was a Rev. B, and finally in 2012 the first 10 boards were offered to the public.
It's a radically underpowered device, is plagued by quality problems, uses a processor that support is going away for, and even though it went into real production later in 2012 it can still take many weeks to get your hands on one. So for all practical purposes a "late comer" when compared to something like the Arduino family of SBCs, which there are tons of in the wild.
The whole thing seems very controversial today, some people love them and others got frustrated and walked away looking for alternatives. You can find lots of strange things in the community, from denials of the quality issues to mysterious post-deletions on related forum sites.
Actually there seem to be quite a few ARM-based breadboard teeny-computers out there now. Copycats? Perhaps, and none really as well known, probably because as you say it was early if not first and of course it is heavily hyped in the UK where it comes from.
Some of the more mature products with China slaving away at them are quite a bit more refined, more powerful, and up to date while priced about the same as a Pi (once you add the cost of some kind of case).
The MK802 and its close cousins can be used with a TV as a "set top box" for movies, media, and games right out of the package. Many of these doo-dads can even serve as an alternative to tablets, laptops, and desktops for Average Joe uses. Since the Raspberry Pi can't even come close it'll never see the same kinds of volumes and probably won't evolve much.
My own interest is in the possibility of using something like this as an embedded computer at the heart of different kinds of devices. They could be used with robotics projects and other industrial applications, auto and marine applications, remote sensing systems for environmental monitoring, etc. A cheap, reliable device with a little power can be used for tons of things.
It is hard to find a Windows x86 equivalent in the same range of capabilities, power consumption, and form factor. Even the most basic fanless system will be in the $200+ range even before you factor in the cost of Windows. And with Microsoft trending toward a more closed system beginning with Windows 8, Android is one path that's still "open" (and I don't even care about "open source" I just want "open programability").
Last edited by dilettante; Oct 9th, 2012 at 02:58 PM.
As an example I have an "environmental monitoring station" based on USB sensors for temperature, humidity, and light (actually a webcam). The system can show a snapshot (webcam view and measurements) or streaming video over the Web. It also logs data for subsequent analysis.
Right now it consists of an outside "head" unit with the sensors, an extended-distance USB cable leading into the house, and a small fanless PC based on an Intel Atom board running Windows Home Server 2011 and the VB6 program to gather data, log it, and serve Web pages. Not only is this overkill (when I'm streaming webcam video over the Web the load is barely 2%), it isn't a box I can move out near the instruments and power from a battery and solar charger.
While the effort to develop the software for Android would be painful it could be a valuable learning experience. Using a low-powered device like an MK802-style computer shuld make stuffing everything into the head unit pretty simple. It has on-board WiFi and I can use a WiFi adapter and high-gain directional antenna I already have inside the house to establish a link over a good distance.
So I look at the Windows based version as a Mark I, or proof of concept. So far I've had it up for almost two weeks without interruption! Most of the interruptions before that had to do with a bad USB hub I was using out in the "station" (head end).
Last edited by dilettante; Oct 9th, 2012 at 03:24 PM.
Oh, and one point to consider when looking at the really cheapo tablets, under $100: they usually offer far less battery life than something in the $150 range and up.
It is even more useful after you've downloaded all of the bits and pieces of free software that makes up a functioning SDK and IDE, gotten them installed, and worked through the first couple of tutorials Google offers on their developer's site.
It turns out there is at least one Basic language system that not only creates programs that run on Android, but lets you program on Android!
RFO BASIC! is a dialect of Dartmouth Basic that allows you to write and run programs directly on your Android device. In addition to the traditional Basic features, your have access to:
Graphics (with Multi-touch),
HTML and JavaScript available for user interfaces,
SQL,
GPS,
Device Sensors,
Music Play,
Sound Pools,
Audio Recording,
Tone Generation,
Camera,
Data Structures such as:Array/List/Stack/Bundle
Internet Browsing,
Text and Byte file I/O,
Encryption,
User defined functions,
FTP Client,
TCP/IP Client and Server Sockets,
Bluetooth,
Send SMS Messages,
Send Emails,
Make a phone call,
Superuser access
BASIC! programs may be complied into applications. There are two processes provided for this. One process generates a home screen shortcut but requires BASIC! installed to run. The other process generates a stand alone application that does not need BASIC! installed. The resulting application can be offered on the Android Market.
About BASIC! overview, links to docs and binaries, etc.
An interesting idea. Probably a little limited but the project began by targeting less powerful early Android devices too. You probably aren't planning on writing your own MS Office clone anyway though. You'll probably want a USB or Bluetooth keyboard and mouse for anything extensive.
This could be a "bridge" for somebody not quite ready to dig deep into Android Java programming yet. And of course it offers something unique: programming right on the device.