Out With The Old…
I’ve been a long time supporter of Windows Media Center but it’s always had its quirks and Microsoft announced with Windows 8 that it wouldn’t be developing it further, this is old news. A shame as I know how much effort went into its development and it was almost a brilliant product. For live TV it was superb with full HD and MHEG (red button) support along with timeshifting and series link. Series link is the killer feature for me which non of the open source equivalents have had until now.
WMC was never great at handling libraries of media content or Bluray playback, for that I’ve been running Kodi (formerly XBMC) in parallel for years and a standalone Bluray player. Kodi has had the ability to act as a PVR for long time but I’d never had any luck getting everything working right. Where WMC had tuner support built in Kodi relies on a TV backend to handle tuner control with client side plugins to show the EPG and switch video streams which added a complication I couldn’t quite get passed. Probably a lack of patience on my part if I’m honest but fast forward to today and everything seems to be maturing together, specifically with Kodi 16 RC, Codename Jarvis. If nothing else I approve of the Iron Man reference!
…In With The New
Jarvis is currently at RC3 and with this update they’ve introduced series link, as this was the only feature I was using WMC for it’s the final nail in the coffin. I’ve been playing with Kodi as a PVR for a while with two different backends; ServerWMC and Mediaportal’s TV Server with the TV Server Kodi plugin. They both worked well but the former has a dependancy on WMC which would prevent updating to Windows 10. Mediaportal is also still in active development and their TV Server software is very robust. I’ve used it in the past and it was pretty rock solid, the bit that let it down for me was the Mediaportal interface itself was pretty clunky and even with a lot of tweaking I couldn’t get the experience as intuitive as Kodi’s.
As it stands this is the setup I’ve ended up with:
- Kodi 16 RC3
- Mediaportal 1.12 TV Server
- TV Server Kodi Plugin
To install Kodi is simple so I wont cover it here. For TV Server download Mediaportal and when prompted during setup select the TV Server only option. You can install the lot if you want to have a look at Mediaportal but it isn’t needed in my scenario. Finally you’ll need a plugin for TV Server that allows Kodi to connect. This is as simple as copying the DLL to the plugins folder and restarting the service. Full instructions that covers all the above can be found here.
Early days yet but so far this combination of software seems to be working a treat. The big benefit here is that Kodi is under constant development so things should only improve. Time will tell and I’ll do a review in a month or so after living with it full time.
Not long after I made the switch to Android Google announced the Chromecast Audio, a cheap little device that plugs into speakers you already own and gives you the ability to stream music from your phone or browser. As they also include synchronising of the speakers so you can cast to multiple rooms I figured I’d give them a go. I bought one for my living room and one to plug into a portable set of speakers that I can move around easily. The other benefit is that as it’s all controlled from my phone I can use the music app on my Pebble to change tracks and pause it without getting my phone out of my pocket or while it’s left on charge. Daft, but fun noneless!
The only problem is that though the portable speakers have an internal battery and charge from USB, they don’t have a USB output which would have made them an ideal match. I did try hacking in a USB cable to the voltage regultor inside the speakers but that resulted in a lot of noise and hiss on the line and I couldn’t quite get to the bottom of why. At some point I’d quite like to make a set of portable speakers to my spec so figured I’d cut my losses and find a middle ground.
This is the portable speaker in question, an ADX Fusion bluetooth speaker that also has an AUX input, to keep it topped up and to power the Chromecast I needed two USB cables which was a bit more of a faff than I can be bothered with. Time to break out the soldering iron and make a cable.
I wanted to have the Chromecast almost inline with the USB cable so I plugged them in together and cut the two USB cables at the same point. I then spliced them together and strengthened them with a bit of shrinkwrap and some electrical tape. I also cable tied the two output cables together for even more strength and finally cable tied the headphone cable together too to tidy things up.
A simple hack to get me going again but makes the speaker a bit more convenient.
The new PVR I built back in May didn’t have a case at the time and though I had lofty plans to make a beautiful wooden case with laser cut lid it turned out to be beyond my skills at the time. Instead I did what any self respecting maker would do and bought a bag of Lego off eBay and built a case using whatever I ended up with.
It was a little tricky as there weren’t many large or even small base plates in the bag but I made do.
The case has a large hole under the motherboard and in the lid, this is to create a chimney effect to help the case keep cool. To start with I forgot to add feet to allow air to actually get to the underside of the case, after I spotted a few high temperature alerts I realised my mistake.
The Satellite Applications Catapult are very lucky to have the facilities they have and believe they have the potential to help save lives. To that end they’re opening their toy box for everyone to play with to try and do just that at their next hackathon. The premise is simple; in a disaster scenario, how would you use their facilities to best help those in need?
They have some data from the recent Nepal earthquake to work with but if you have a scenario of your own then feel free to being your ideas with you. Some of the ideas we’ve had are so far include;
- Earthquake/natural disaster response
- Coordination of people/aid
- Search and rescue
They have a great range of kit at their disposal including;
- Two videowalls, both with 24 cores, 256GB RAM and at least three NVidia Quadro K6000 graphics cards each. One has 28 720p monitors at 9562×3072 and the other a whopping 18 1080p monitors to a resolution of 11512×3240! These graphics cards have 12GB RAM and 3072 processing cores EACH!
- An Oculus Rift DK1 – a virtual reality headset
- Two Kinect 2 for Windows sensors – These are the new sensors based of the Xbox One design, each can track six people with full colour and depth support, they also have an excellent microphone array.
- A Leap Motion sensor – this enables incredibly fine gesture tracking to help create more natural gesture based control systems.
- Multiple large touchscreen devices – These include a number of electronic whiteboards with pen support and two four screen mini-video walls.
- A Microsoft Surface Table – The SUR40, not to be confused with a tablet! This is a table PC that supports not only 50 simultaneous touches but also tag support, a great example of what it can do is NUIverse
- A Microsoft Gadgeteer Kit – including loads of modules, this platform allows for rapid prototyping of hardware devices and includes GPS and GPRS (2g mobile data) support.
- A van decked out with sat coms kit (I’m calling shotgun for the Zombie Apocalypse)
- Raspberry Pi and Arduino devices – small microcontroller boards that can be programmed to perform functions without need of a full PC
- 3D HD Dual Projection Facility – A large (5.5m x 1.9m) 3d HD projection system that can be used by up to 34 people simultaneously
- Ovei Multimedia Pod – a multimedia pod that includes a surround sound system
- AIS transceivers, a safety of life at sea transponder system
- 3D screen
- Parrot AR Drone – This can be controlled via wifi and has GPS and cameras on board
- A transparent rear projected touchscreen
The rest is up to you!
The event will be held at their office at Harwell Campus on September 12/13th, you are welcome to crash overnight too. To register for the event click here and add yourself to the group and event on Facebook to join the discussion!
My Humax YouView box died recently and I’ve had a craving to build a new DVR, I’ve still the tuners left over from my previous HTPC the JukeboxHD.
For frequent readers you’ll know I’ve been trying Linux more and more so to start with I tried building a Kodibuntu based HTPC using an old laptop. After a few days of playing I still couldn’t get my tuners to be picked up so decided to give Mediaportal a go. I used this on my first HTPC way back when with some success but never for live TV, I have to say it’s come along a great deal as within 20 minutes I was watching live TV from my old HD HomeRun tuners. I decided that before taking the plunge, and waiting for payday, I ran on the old laptop for a few weeks to make sure it was stable and it was.
It would also give me a few weeks to research the latest options in embedded motherboards as I’d like to build the whole thing, including the case, to replace my now deceased set top box.
Simple requirements; Small, low power (consumption), and fanless. To use my existing HD tuner, a Blackgold BGT3620, it would also need a PCIe slot. Functionally it would also need to be able to record a couple of TV channels at once while watching a movie.
After a bit of hunting I came across the ASRock Q1900TM-ITX, a fanless quadcore Baytrail-D motherboard in the Thin-ITX format. This is the same 17cm x 17cm base as Mini-ITX however this board is only 20mm or so tall! For a low profile HTPC build it’s difficult to beat. I was concerned about performance but then came across this video of the Mini-ITX version of board running Windows 8.1 and Mediaportal, it booted to MP so fast I was convinced;
For software, Windows 8.1 and Mediaportal 1.11 and the final hardware specs are;
- ASRock Q1900TM-ITX
- Corsair Vengeance 8GB RAM (low voltage)
- Seatgate 1TB SSHD
- Blackgold BGT3620 tuner
- Silicon Dust HDHomeRun (first gen)
- Microsoft eHome IR transceiver
The case is going to be custom built, the design has already begun but more on that in a later post, but for now I can say that boot times are around ~25 seconds from cold to Mediaportal’s homescreen and I can record six shows while watching HD video (1080p) over the network. Already exceeded expectations and I’ve not even started tinkering yet! For those curious; all six channels were SD, CPU was just over 50% and it was using ~21Watts according to my power measuring plug. It also using ~21Watts when idle which I need to figure out too.
I have to say, after being initially worried about a Baytrail board I’m not worried any more!
As the case isn’t built yet the “Woody” is currently sitting naked on my coffee table. The name comes from the design of the new case but I can’t resist double entendre!
For those curious as to how thin Woody’s board is, have a look at it compared to my workphone;
All in all, happy so far and can’t wait to get the case built! It will involve a laser cut transparent lid and 3d printed brackets for the tuner. I figured it a good excuse to learn a few new tricks along the way.
Stay tuned for more!
[Updated, see end of article]
Since my last post I’ve improved the Arduino speedo code to respond to requests and also tweaked the gear ration to be a bit closer to my road bike. I’ve also implemented a simple speedo interface using Unity.
The Unity application also automatically searches the COM ports on the machine until it finds the Arduino speedo, it’s a bit hacky but works and means I don’t have to implement a COM port selection UI.
I’m going to add functionality to save off the readings to CSV log files too, at a later date I’ll add some kind of analysis in but getting the data saved is the important thing for now.
Update: CSV functionality has been added and I’ve tweaked the interface too.
For the Arduino portion of this weekend long hack, see here.
All my previous jobs were based in the town I live in so I used to be able to cycle to work, with my current job it’s far enough away I can’t reasonably cycle to work. As such, and as the company is jokingly referred to as the “Cake-apult” for the amount of cake we seem to go through, my weight has inevitably increased. To try and remedy this I’ve recently purchased a DeskCycle. I would like to give a walking desk a go at some point but this seems a far easier solution and as sitting down for extended periods is linked to many problems I figured it worth a go.
It arrived earlier this week and I managed to cycle while sat at my desk for over two hours each day, I felt knackered by the end of it so it was certainly having an effect! The only issue for me is the speedo. The creators of DeskCycle designed the device such that the speedo is accurate when the resistance is set to maximum, this results in the speed and calories calculated too high if you have the resistance set lower. They provide a calorie calculator to provide a more accurate set of results once you’ve punched in the values your speedo provides.
On to the how;
Looking at the bike it looked like the speedo works in the same way to the speedo on my road bike, a switch is closed once per revolution of the flywheel. I connected my multimeter to it in continuity tester mode and it confirmed my theory. As the bike uses a 3.5mm headphone jack for a cable it was simple enough to make a cable to connect to the header on my Arduino.
The cable has a 3.5mm headphone jack at one end, tip and ground in use, and a pair of header pins at the other. Connected to the Arduino via a bit of breadboard, I’ve connected using pin 7 in pullup mode with the other end of the switch connected to ground.
Once connected I’ve followed the timer tutorial provided by Amanda Ghassaei to calculate the RPM by counting the interval between revolutions. One thing I learned is that the millis() function uses timer0 internally so if you want to use that function and a timer interrupt then use timer1 or timer2.
Next up is a simple application that reads the RPM and calculates speed and distance to display it on my PC to start with. I’m intending to add some cool functions like map integration to do virtual challenges such as Lands End to John O’Groats and similar which should be good for a laugh.
Also, this same code will be the basis of the digital speedo adapter for my Mini so two birds with one stone! As practice for my Mini speedo, and more practice for stuff for work, I’m going to write it using C# and Unity 5.
Update: The Unity part is done, more information here.
As we’ve just had our big media launch of the project I thought I’d share some information about the project I’ve been working on as part of my job at the Satellite Applications Catapult here in the UK.
For the passed 18 months we have been working on a project with Pew Charitable Trusts with the goal of building a system to use satellite derived data to track and deter illegal fishing at sea. Around one in five fish sold today is illegally caught so it’s a certainly a big problem to tackle.
Our system uses a live feed of vessel positions, currently provided by ExactEarth, using satellite AIS (Automatic Identification System) combined with a few other data sources to create a near real-time and historical view of fishing activity around the world.
We’re using the Unity games engine for data visualisation and as the interface to the system, both on our video wall and desktop machines, and we have a tablet version in the works. The video wall runs at 11536×3252 and Unity runs a treat!
We’ve a lot of vessels tracked at any point in time, all of which are rendered and animated on the screen at an accelerated rate for analysis. We are building the system using MMOs as inspiration as we’ve all seen how it’s possible to organise and work in a large group of people in raids to achieve a common goal. Having analysts working globally with large sets of data, it seemed a good model of interaction to follow.
A few screenshots and a video of the software in action are below, as the son of an engineer and ecologist I’m happy to say I’m proud of the work we’re doing and this is only the beginning!
More information on the project, can be found here;
We’re considering doing a live presentation of the system in a few weeks using Twitch or similar, if anyone would be interested in a demo or if you’ve any thoughts or comments please feel free too leave them below.
Work has been mental for a few months so despite doing odds and sods on Hugo and a buttload of work on our illegal fishing project at work (hopefully more on that soon) I’ve not posted anything in a while so thought I’d post about a clock I’m building for my Dad.
My dad’s an engineer, heavy fabrication mostly, designing and building access platforms for the nearby oil refinery for over 40 years and since he drove me school on my first day on his crane he’s been a big influence.
As a reference to his engineering heritage and my current work with satellite data I’m building an Arduino based clock that uses the GPS time signal to set the time and uses a set of voltage panels as the face. The GPS receiver is the Adafruit Ultimate GPS board and I’m using a DS1307 based board for the real time clock. The Ultimate GPS board is a bit OTT but it does allow me to receive a time signal indoors, as I only need one signal to get the time rather than the multiple signals needed for a full fix it works quite well.
The code is a work in progress but you’ll find it on my github page.