Author Archives: Phil Glazzard

About Phil Glazzard

Phil describes himself as an 'audio nut from an early age', and is the director of the company as well as our in-house repairs engineer and custom installer. He takes interest in all music forms and spends most of his free time playing the drums, or geeking it up with PIC microcontrollers. He can't resist a gadget.

LED Dice coded in C targeted via XC8 C compiler for PIC microcontroller

As Christmas is now on the horizon, I thought it might be fun to design an electronic dice, to give as presents to your family, or just use whilst playing traditional family games during the holidays.

This dice project has seven LED’s which can display the possible outcomes of rolling the dice…in other words, 1, 2, 3, 4 , 5 or 6. A single button instigates the ‘rolling’ of the dice, as the outer six LED’s rotate to indicate motion. When the button is released, the dice value is displayed on the LEDS’s, flashing at a frequency of 2.5Hz.

Here are a few pic’s of the dice in action:



Here the dice prototype is in reset. All LED’s are off.


Here we have pressed the button and been returned the value of 3 for our roll of the dice.


Now we have pressed the button again and been returned the value of 5.


The LED’s rotate as the button is pressed.

The software is very simple. The rotating LED’s when the button is pressed uses a Timer0 interrupt routine to illuminate the six LED’s on the edge of the dice to indicate the rolling of the dice. When the button is released, the LED’s display the value of your roll of the dice.

Here is the C source code which was compiled using Microchip’s XC8 compiler, targeted at a 16f690 microcontroller. dice-c

For those of you who wish to construct this project, here is the circuit diagram (hand drawn). dice_circuit_diagram

Have fun and Merry Christmas!


Window display using five 8×8 LED matrices, MAX7219 drivers and PIC 16f690 microcontroller

This project was created to promote our new vinyl record department in our Hereford store, the idea being to place this scrolling text message display in the shop window to entice customers to browse. As you can see from the short video below, I’ve yet to build the final display project – what you see is a breadboard prototype.

Any message can be displayed within reason – it is simply edited from within the firmware. One of the challenges of this project was the fact that although there are many scrolling text projects to be found on the web and shown on You Tube, they invariably use pre-built software display libraries to cope with the driving of the 8×8 matrix displays, the communication between the microcontroller and MAX7219 display driver, and then the animation of the text – these libraries give you no real insight into what is actually going on inside the microcontroller.

I wanted to ‘roll my own’ display/ comms/ animation code in C language, but found very sparse information available. I hope to set this right over the course of this blog post, and hopefully you will want to create your own scrolling text display, or just use the information on offer here as a tutorial to go on to better and bigger things.

Here is a pdf file containing the C language source code for the project. It was compiled using Microchip’s free XC8 C complier, and flashed to the microcontroller with the PICkit 3.



Infra red remote control tester for Philips RC5 protocol

Electronics giant Philips invented the RC5 protocol for controlling electronic equipment such as CD players, VCR’s and audio amplifiers way back in the 1980’s. The RC5 standard has been adopted and used with great success ever since, which means it is probably the most common IR remote control format in your home today. We have recently been playing around with a PIC microcontroller based RC5 decoder programmed in C, with the purpose of testing any RC5 based remote handset you may have. The image above shows the RC5 code for a button press of ‘1’ on the CD player remote control decoded into binary and displayed on the 14 LEDS – the address data for a CD player is ’20’ hence the 10100 binary pattern on the green LEDS. The RC5 command for ‘1’ is unsurprisingly 000001 in binary as shown on the red LEDS. The two start bit LEDS (yellow) are showing 11 binary and the toggle bit is off. In the pic below the ‘1’ button has been pressed again showing the toggle bit now being set (blue LED).

Continue reading


PIC Microcontroller project – 24 hour clock and thermometer displayed via 16f690 microcontroller and LCD programmed in C


I got to thinking that an interest in hi-fi can be a bit geek ( in a good way ) so I thought one of my latest geek projects might be of interest to some of you. You could build the project ‘as is’ without learning embedded C programming or you could use the project as a spring board to extra geekiness and weekend fun – I’ll leave that to you :-)

Learning embedded C can be hugely rewarding and creative. The tool chain needed to get you started is either free (MPXLAB  IDE  and XC8 C compiler are both free downloads from the Microchip website and the pickit 3 needed to download compiled C code to your target microcontroller (16f690 in this case) is less than 50GBP.

Continue reading


HDMI transmission over cat 5

Sky HD on Samsung UE55H7000 flatscreen TV

Sky HD on Samsung UE55H7000 flatscreen TV

We recently installed a home cinema system for a customer where one of the existing sources was a SKY HD box. This box was to provide an HDMI feed not only to the home cinema system we installed, but also three other flat screen TV’s in the home, some of which were approaching 100m away from the SKY box.  In these situations, it is not possible to reliably transmit HDMI signals further than about 20m with an HDMI cable, and a different approach is required. Continue reading


Programming the Logitech Harmony Ultimate remote control for your home cinema system

Harmony UltimateRecently, we installed a home cinema system featuring two displays in the same room, a LCD projector and a LCD flat screen TV, both fed from an AV receiver with main and Zone 2 HDMI outputs. In setting out to program the Harmony Ultimate remote to control the system, we encountered a number of potential ‘banana skins’ which I thought you AV enthusiasts might benefit from knowing about, should you decide to get your own Harmony Ultimate. Continue reading


Home cinema with both projector and flat screen TV

We have recently completed a high end home cinema room in Herefordshire which features a 55″ flat screen TV for day to day viewing, and a projector with drop down screen for movies, sports and concert viewing.

High definition 5.1 surround sound is provided by a Marantz SR6008 AV receiver and B&W M1 speakers with a REL 528 subwoofer.

Continue reading


How to correctly terminate Naim NAC A5 speaker cable with Naim twin banana plugs

As a new Naim dealer in summer 2013, we first encountered Naim NAC A5 speaker cable quite recently.

NAC A5 white, black also available

NAC A5 white, black also available

It is highly regarded by Naim audiophiles and recommended for use with Naim Audio systems, as it provides the perfect combination of electrical resistance, capacitance and inductance to get the most musically satisfying result from Naim products, be it a Nait 5Si, Naim UnitiLite or even the mighty NAP 250 power amp.

Continue reading