Projects and software by Matt Collinge @ www.mattcollinge.co.uk

My Android App Essentials

leave a comment »

After recently moving from an old Samsung Galaxy S3 to LG G3 (which I thought was a bargain at £189), I reviewed the list of apps I had previously installed & made sure they were still relevant to my new phone. I thought it’d be useful to list out the best ones so here’s what I installed (beyond the usual apps like Twitter, iPlayer);

  • ASTRO – For managing files
  • Avast Mobile Security – I use this on all my PCs so adding it to the phone makes sense
  • Barcode Scanner – Primarily for scanning QR Codes
  • BT SmartTalk – Make VoIP calls using my landline pricing structure
  • BT Wi-fi – Connect free to any BT wifi access points
  • Chrome – Better than the stock browser
  • Evernote – We have this on our family phones for keeping notes.. often taking pictures of letters before binning them
  • FreeOTP – An alternative to Google Authenticator
  • MightyText – Receive and send texts from my desktop PC
  • MX Player – Plays any media you can think of
  • National Rail – Train info
  • Network Scanner – Handy for tracking down the IP of devices on my home network
  • Nights Keeper – Set sound profiles based on day/time.. basically turns the sound off at night UPDATE: Replaced by Timerific
  • Photos – Google photos.. enabling easy backup to the cloud
  • Pixlr – Quick and easy image editing on the move
  • Podkicker – Download and listen to podcasts
  • Rewards – Take short surveys to get small amounts of cash to spend in the Google Play Store
  • SwiftKey Keyboard – Better than most stock keyboards
  • System Tuner – Handy for debugging apps
  • Timeriffic – When I was having variable success with Wifi Timer on my LG G3, I found this worked perfectly and could also replace Nights Keeper
  • tinyCam Monitor – Connect to various IP cameras
  • Twilight – Adjust the blue light emissions on the phone’s screen after it’s dark outside
  • Unified Remote – Helps control my HTPC if I need to use a mouse/keyboard
  • Wifi Analyser – Looks at what wifi access points are in range
  • Wifi Timer – Switch of wifi based on time of day.. i.e. switch it off at night + when I’m at work UPDATE: Replaced by Timerific due to problems getting it to work all the time on the LG G3
  • World Clock – Handy when I’m travelling; has a widget to put on my homescreen

Written by Matt

November 5, 2015 at 7:40 am

Posted in Android

Controlling Power Sockets using a Raspberry Pi

leave a comment »

The subwoofer we had in our home cinema setup died a few weeks ago, so I did my research and found a nice replacement. The only thing I didn’t spot was the fact it never goes into standby if there’s no signal (unlike the old one). I tried using some eco plugs which turn off peripherals when the TV was turned off.. but it learns the TV remote signals, and completely turns the TV off as well.. meaning that you have to hit the power button twice to turn the TV back on; that doesn’t work well with the Harmony all-in-one remote we use.

What I decided to do was buy an Energenie socket, which can be switched on/off wirelessly from a Raspberry Pi. The kit comes with 2 sockets and a transmitter to attach to the GPIO headers on the Pi, and costs about £20.

In my subwoofer scenario I basically want it switched on when the TV is on, and off when the TV is off. The TV has a Chromecast plugged into it which is visible on my local network. If you’ve got a Smart TV on your network, maybe that’ll be visible in the same way. So when the TV/Chromecast appear on the network, we know to switch on the power socket.


Here’s the small Energenie transmitter attached to the GPIO headers on my B+.. it’s pretty tiny and the case I’ve got still fits over the top. Notice the small hole where you can attach an aerial.. if you want extra range, then you’ll need to solder one on.. I added a 135mm wire, since the range I got out of it just wasn’t enough to get from the dining room cupboard to the living room.


To put this together, we can use the Raspberry Pi Network Spy code I wrote in my previous blog posts on element14;

Raspberry Pi Network Spy – Part 1 – Initial Setup + d/b Schema
Raspberry Pi Network Spy – Part 2 – D/b Setup + PHP for the scanner

All we need is a new PHP page that’ll call one of the functions we’ve already written.. we need a list of the MAC addresses that are currently visible on the network, then check whether the Chromecast is there. Once we know whether the TV/Chromecast is on or off, we then call a Python script that will turn the Energenie socket on/off.

Here’s the PHP;


The Python script could follow the Energenie example script, but there’s actually an even more simple Python package which I’ve used in this project. To install it I did the following;

sudo apt-get install python-pip
sudo pip install energenie

Then I wrote this helper Python script (which we’ll call from PHP) that accepts a couple of parameters, like this callenergenie.py [on|off] [switch_number];


from energenie import switch_on, switch_off
import sys

if len(sys.argv)==1:
print ‘Please specify arguments like this callenergenie.py [on|off] [switch_number]’
print ‘eg. callenergenie.py on 1’
print ‘eg. callenergenie.py off 2′
on_or_off = sys.argv[1]
which_switch = int(sys.argv[2])

if (on_or_off==’on’):
print ‘Switching on ‘, which_switch

if (on_or_off==’off’):
print ‘Switching off ‘, which_switch

Now that we’ve written the PHP & Python, all we need to do is run the PHP every minute to scan the network and do the switching. We’ll do this using another cron job;

crontab -e

*/1 * * * * sudo /usr/bin/php /var/www/arp-chromecast.php

Written by Matt

March 14, 2015 at 8:39 pm

Increasing battery life on a Galaxy S3 with Android 4.3

with one comment

The latest software update to the Samsung Galaxy S3 upped it to use Android 4.3, but included a whole bunch of Samsung bloatware. From a full charge, it was only taking 20 hours to run down flat, with it feeling slightly warm all the time. There was also a really annoying app that was requesting I sign into Facebook after each restart.

From what I can see, there are a bunch of things that you can disable to improve the battery life & get things back to normal. Here’s what I did;

Go to.. Settings > More > Application Manager > All

Open & disable each of these.. (obviously if you use a particular service, like Dropbox, leave it alone);

Amazon MP3
Face Unlock
Game Hub
Music (the official Top 40 app)
Music Hub
O2 Space
S Suggest
S Voice
Samsung Account
Samsung Apps
Samsung Backup Provider
Samsung Browser SyncAdapter
Samsung Calendar SyncAdapter
Samsung Cloud Data Relay
Samsung Cloud Quota
Samsung Contact SyncAdapter
Samsung Link
Samsung Push Service
Samsung SMemo SyncAdapter
Samsung Syncadapters
Video Hub

Written by Matt

February 4, 2014 at 6:29 am

Posted in Android, Gadgets

Tagged with , , , , ,

Foscam FI8910W Review, Unboxing, and tips

leave a comment »

foscam Over the past 3 years I’ve had the Edimax IC-1310 working in my home without many problems. It’s great to be able to monitor the house when I’m away & know that I’ll not have any nasty surprises when I get back.. well at least from a living room point-of-view.

The Foscam range of webcams caught my eye, specifically the FI8910W which can use a wireless network connection, and is steerable. I like the fact that this gives it a lot of placement flexibility.. just needing a power source & off it goes. This newer model has an IR-Cut filter which gives better colour reproduction from it’s predecessor. I paid about £65 for the white version from the official UK-based Foscam distributor; there was a 10% coupon code floating around on the web, which brought the price lower than Amazon.

Here’s what’s in the box;

Initial setup of the camera is supposed to include you installing some Windows app to find the camera’s IP address on your network; my router gives me a list of connected devices, so I chose to forego the app and use the router’s info instead. I could log into the camera once I had it’s IP address, and configured it to connect over wifi, altering a few other settings as I went (disabling the DDNS service, since my Edimax camera is already updating dyndns.org with my externally visible IP).

As long as you’re used to fiddling with things like port forwarding you’ll have everything set up within 10-15 minutes; there’s not a lot to it & these days it’s handy to have a phone on 3G to check things are working correctly. I added a few extra user accounts, and had TinyCam Monitor for Android working in no time at all.. specifying the local network IP on the main settings, and the DynDNS address on the extra 3G settings page.

Being able to steer the camera is really handy.. when you have it pointing in the right direction, you can save it as a preset, both from your browser, or from an app like TinyCam Monitor. I’ve set mine to mostly look out of the back window, but can swivel it round to look into the kitchen & hallway.. even up to the skylights, etc.

The quality of the images is pretty decent, but at 640×480, they’re not exactly HD quality. Motion detection is a tad limited.. even compared to my 3yr old Edimax. There’s no way to specify zones for motion detection, and it only uploads 2 .jpeg files for each motion capture event (the Edimax can upload 5 second videos!).

Annoyingly, even if you turn off the IR LEDs, they’ll switch back on the next time the camera is rebooted.. which is a real pain when the camera is looking out of a window (you only see the bright glare of the LEDs shining back at you!). Hopefully that’ll get fixed in a future firmware update, but I’m not betting on it. Talking of firmware, make sure you upgrade it.. the latest versions include some (unspecified) security fixes.

Overall, I’m still impressed with the camera.. the price point is just right when you compare it with the features and annoying niggles.

For anyone who wants a direct URL to a jpeg snapshot from the camera, then this is the correct URL format;


That should be handy for anyone who has a HTML dashboard page, or a desktop widget that accepts webcam image URLs.

And here’s a sample image from the camera as it points out of my back window.. a window that needs a clean! And yes, that’s a sink plunger on the patio.. for some bizarre reason the kids enjoy playing with this more than the billion toys they’ve got ;)

Foscam FI8910W snapshot

Written by Matt

June 25, 2013 at 6:02 am

Posted in Blogroll, Gadgets, Technical

Tagged with ,

Bluetooth audio A2DP receiver BTR006 review

leave a comment »

We have a tablet that we put in a headrest mount for the kids to watch on longer journeys. In the past I attached an FM transmitter so that audio could be fed through the car stereo, and I could control the volume from the dash. The only problem with that was local radio stations in other regions stomping over the FM signal I’d pre-set earlier in the journey.

I bought the Bluetooth audio receiver from Justop. It’s the BTR006 model which apparently has some updated chipset. It’s about £15 on Amazon.

This tiny unit draws power from its built in li-on battery (or any USB port) and when fully charged will allow for 8-10 hours of use, and something like 250 hours of standby.

It was easy to pair up with my Samsung Galaxy S3, and Blackberry Playbook.. both of which will be using A2DP. The signal travels 5-10m without problems, but at extremes, the signal gets scrambled by walls/people. For my use, which is for in the car (tablet with the kids in the back) it works a treat.

The only thing I don’t particularly like is the tiny power socket which uses some non-standard plug instead of micro or mini USB. That’s a real pain when I have loads of micro USB-ended adapters kicking around.

Written by Matt

March 23, 2013 at 10:15 pm

Streaming video from the Humax HDR-Fox T2 to Android and Blackberry Playbook

leave a comment »

One of the nice features of the Humax HDR-Fox T2 is that it’ll stream your standard definition recordings over your network to DLNA clients. I’ve had a it streaming video onto a PC running XBMC, but wanted something more portable for catching up with some TV whilst I’m getting ready in the morning.

As long as your Android phone is relatively recent, there are a bunch of DLNA clients.. the one I’ve had the best results with is Skifta. Then I’ve got MX Player installed which will handle video playback. The thing I like about MX Player is the gesture control for skipping through the program (swipe across), and adjusting volume (swipe up/down).

I’m running that on a Samsung Galaxy S3, and it works really well. It’s just slightly too small when it’s across the room. It would be better on a tablet, and I have a Blackberry Playbook (from their developer programme).. the only problem has been the lack of a DLNA client.. until just recently, when I found KalemSoft Media Player.

The app is currently being sold at £5, which was a bit more than I’m used to paying.. but the reviews were almost all really good, so I gave it a go. Here’s the app running with my Humax HDR-Fox T2;

As you can see, it’s really fast to browse the folders and start playing back video. It even manages HD if you’re running the auto-decode package, although I had buffering issues when trying to play it back over my network.

KalemSoft do a PC service which will share all your video from there too; I’ve found it works really well.. better than TVersity, and the built-in Windows media sharing stuff, both of which seemed to take ages to index my stuff, and then didn’t even work well after that. Apparently it can be configured to share stuff out over the Internet (password protected too), but I don’t need that feature. It can also stream live TV if you’ve got a TV card.

Written by Matt

January 26, 2013 at 1:33 pm

Titanium Apps and the Blackberry Playbook

with one comment

In Feburary 2012, Blackberry updated the OS for their 7″ Playbook tablet to v2.0. This introduced compatailbity with Android-based applications whereby developers can simply repackage, code sign, and submit their Android apps into BlackBerry App World. It also means you can take any Android app (that hasn’t gone through this process) and sideload the app yourself.

Since I develop mobile apps for iOS and Android using the Titanium platform, I was interested in how much effort it would be to get my existing apps working on the Playbook. There are plenty of posts on how to take an APK and sign it correctly for App World, but what took me a while to figure out, was which version on Titanium was compatible with the Playbook.

After some experimentation, I’ve found that if you package your app against Titanium SDK 1.7.5, it’ll work nicely on the Playbook. Version 1.8.x won’t work (hmm, maybe it’s V8 vs Rhino.. V8 definitely doesn’t work…). Certain pieces of code may also cause the app to crash (whereas it won’t crash on a proper Android device). The one thing I hit, was passing url:null, into Titanium.UI.createWindow will crash the app, whereas that’s absoutely fine on iOS and Android.

The other small advantage of using the 1.7.5 SDK is that the resulting APK is a lot smaller, although since the current Playbook only has Wifi this is less of an issue than it is on a mobile phone.

Now we have the APK, you just have to go through the app packaging/signing process as detailed elsewhere on the web, or in Blackberry’s official documentation. This new GUI-based tool looks like a good place to start if you don’t like working from the command line.

Written by Matt

March 20, 2012 at 6:43 am


Get every new post delivered to your Inbox.