I recently wrote a post about the different devices I was going to try this year as part of my aim of getting into Arduino and somewhat out of the Raspberry Pi. Don’t get me wrong – I’m still a big fan of the Pi – I just want to try my hand at different hardware and code (Besides, I’ve got to build a robot for Pi Wars yet!).
My first attempt at breaking away from the Pi-scene was with the pcDuino. The pcDuino is one of those boards that’s trying to keep everyone happy with its impressive feature list and decent spec. It runs Ubuntu out of the box and offers some interesting credentials such as built in WiFi, Infra-red and a SATA connection. Add to that the dual-core A20 processor (maybe slightly dated now?) and 1Gb of RAM and you’re looking at a relatively beefy boy.
I probably should have started with the pcDuino’s GPIO seeing as I learnt a lot about IO with the Pi, but I couldn’t resist trying out my favourite mobile operating system first – Android.
Yes this thing can run Android! I wasn’t quite sure why I wanted Android on it, or even what I could possibly use it for, but that hasn’t stopped me doing something before.
I had some issues on the first couple of attempts so I thought I’d write about my experience. For the record, I’m using a pcDuino3.
Knowledge is Power
One thing the Pi really has going for it is the masses of information and articles out there for people to refer to, produced by the large community of programmers, teachers, geeks, bloggers and hackers that seem to love the little board. It goes to show that you don’t need the most powerful and feature-rich product to succeed.
When new similar boards come along to challenge this fame, their downfall is usually the lack of this support material that average people like me really need to get started with projects.
The guys over at LinkSprite (who make the pcDuino) have made a pretty good effort at providing all the information you will need, and even show some example projects on their blog and via their Learning Center. One of their articles explains how to install Android on the pcDuino, but I even managed to get that wrong…
There are a couple of ways you can flash Android to your pcDuino – from a micro-SD card (using the SD card port on the board), or use a cable connected to your computer with software called ‘Livesuite’ (or PhonenixSuite).
That second option got me nowhere. The software is confusing, the guidance text is iffy and the whole process leaves you wondering if it has finished. Believe it or not, I’m not a fan, although the guys over at SparkFun seemed to get on with it OK.
Four warnings – Micro-SD Card Flashing
So because Livesuite appears to be a big waste of time, I moved on to the micro-SD card option. Here you simply burn the image to an SD card, plug the card in to the board and run through a quick process.
What could go wrong? Well, four things actually…
- I managed to mess up the image the first couple of times, and after a lot of head scratching I finally worked out why…I assumed that I could use my trusty Win32DiskImager application to burn the Android image to the SD card. An image is an image right? Wrong! Don’t ask me why, but for this to work I needed to use the suggested Phonenix Card software to write the image to the card. That’s how it was for me anyway, you might find Win32DiskImager works for you.
- Another part of this process that might trip you up is the Phonenix card software. When burning the image, at one point is says “Burn Success”, however with the progress bar only 40% complete and not moving. On the first couple of tries I assumed it was just a bug in the software and removed my SD card. Wrong again Average Man! Leave it be, go grab cofee and come back in ten minutes – that bar moves again and completes the process with the message “Burn End”.
- My internal SD card reader didn’t work with Phonenix card. How about that? I was stumped for a while until I came across this article that gave me the tip of using my external reader. I had another go using my USB card reader and it worked just fine. Madness.
- *NEW & IMPORTANT UPDATE* – I say this is ‘new’ as I wrote the main body of this post before moving to Windows 10 as part of the free upgrade, and it all worked fine before then. Now, Phonenix card seems to have a bug with Windows 10 that didn’t happen with Windows 8.1. I get an error message when loading the extracted Android image. That might just stop you completely, or you may have luck with Win32DiskImager. Let me know in the comments.
Micro-SD Card Flashing – Steps
So after working out the gremlins mentioned above, the process was then simple(ish) and here’s how I did it on my pcDuino3:
- Download and extract the Android image (for your specific board) from the pcDuino site
- Download and extract Phonenix Card to your PC (also available on the same page as the OS download)
- Connect a formatted SD card to your PC (format with SD Formatter if you’re not sure)
- Open Phonenix Card (PhonenixCard.exe in the downloaded and extracted folder)
- Verify that Phonenix Card has detected the correct device in the ‘disk’ field (your micro-SD card)
- Click ‘Img File’ to select your downloaded and extracted Android image
- Ensure ‘Write Mode’ is set to ‘Product’, then click ‘Burn’
- The image will be written to your micro-SD card (remember: give it time for the progress bar to fill)
- Once complete, safely remove the micro-SD card from your PC
- Insert the micro-SD card into your plugged in and powered up pcDuino.
- Press the reset button to cycle the power.
- Wait around 10-15 minutes (there isn’t much in terms of visual notification)
- Remove the SD card and press reset to cycle power again.
- Android will start but is a bit slow on the first run – be patient!
Nothing different here than any other Android device. It’s going to run you through the usual setup routine and ask you for your Google account details, then away you go.
The interface feels like a tablet-style build as it’s (obviously) in landscape mode, but has the three touchscreen buttons you use on devices with no physical buttons. They’re actually quite annoying when you want to watch something full screen, as I couldn’t find a way of removing them without zooming in on the TV controls.
Strangely I didn’t consider this part until it was up and running. What could I use this for? Facebook, email etc are all pretty obvious, but they’re just a bit painful to use on a TV. I have a smartphone after all?
The general performance of Android on the pcDuino3 doesn’t feel like anything to write home about, so I didn’t bother trying to play any games either. Besides, after years of owning an Android phone, I’m yet to find a single game that doesn’t pester me for real cash after level 1 (oh what a mess the mobile gaming world is in).
I eventually found a really handy use for it a few days later, after my YouView box died. With no TV until the replacement arrived, things were getting pretty damn ugly at home with the wife. We started talking to each other and even attempted a cuddle one night – I had to fix this!
I remembered that Android has the ‘TV Catch Up‘ app that lets you stream live TV, so I installed it and crossed my fingers. It worked pretty well apart from those annoying on screen buttons, giving me legal and free access to a range of UK channels.
I guess this was a bit of a cop out for my first play with the pcDuino.
It’s not the usual thing to do with a new device like this – no ‘hello world’, no LEDs and zero programming. However, having Android running on a micro-computer was a fun novelty after using the Raspberry Pi for all this time, although it did feel a bit sluggish compared to my smartphone. It’s still only got 4.2 available for it as well, which is ageing by the day as 5.1.1 has just come out for my Note 4.
Still, it got me familiar with how to flash different OS images to the board, using different image writing software, and saved me from any further social interactions with the wife whilst our TV box was on the blink. I’ll call that a win!
Maybe some proper coding in my next Arduino-ish experience, but for now…until next time…
I keep trying to justify why I should buy something like this just for the fun of using android on the tv. I just can’t do it though when I have a raspberry pi and an arduino to learn already. I’ve been looking forward to more of your robot posts though. By the way, is there a good book that you would recommend for learning the python language or did you learn on the computer?
Don’t hold back, justification is painfully reserved for those of us with wives 😉 (unless you’re married, then I wish you luck sir!).
With Python I just use YouTube, example projects, online tutorials and if very desperate – type my problem into Google hoping that someone has already asked the question 😀
I find that I can get little bits of knowledge here and there, then stitch it all together, get rid of the bugs and then ‘POW’…a piece of working code!