HPM wireless door chime channel modification (D642)

Posted on September 14th, 2015 by Andrew

Having two entrances to my front patio and only one door bell transmitter invariably meant that all visitors would try use the 'other' entrance. After having a quick search for the model number I found the specs online which described the HPM D642 model as factory preset to one of over 19,000 unique channels

The unit

After purchasing a second set I got to hacking. For the transmitter, the back off the unit unclips revealing two screws holding in the board. Once those are out, the board is free. Given it's sub $10 price it couldn't have been all that complicated, and as expected, it was just 9 solder links pulling an input high, low or leaving it floating. This gives us 3 ^ 9 or 19,683 different combinations; sounds about right!


To make things simple, I numbered each of the links then described each as L (left), N (neutral) or R (right). The above was coded as NLLNRNNRN

Next, opening up the receiver required removing the battery cover and then a single screw revealing the circuit. At first glance this board only had 8 links, however near by was the missing 9th. Although as you can see from the picture below, in my case this link was neutral (empty).


Now you'll notice that in the overlay I have numbered the transmitter 1 to 9 going from top to bottom, however on the receiver it is numbered 1 to 8 bottom to top with the 9th over to the side. Also note, that the 9th link on the receiver board is back to front compared to the others! That is to say that a link on the transmitter that went 'left' would be joined 'right' on the receiver. A final caution is that if a 'left' link is used for the 9th link on the receiver, it may instead be linked to the pin 'above' (underneath the 'N') instead of to the pad to the right (L). The two are both on the same track so it would seem they have found that easier to join in the factory than pad to pad.

The final step was to simply use the trusty solder sucker to remove any of the links that didn't match my old unit then add any that were missing. Reinstall into their respective cases, install a battery (or three), and bingo! Two transmitters ringing two receivers :)

You can buy a set that has one transmitter and two receivers, however for me I needed the opposite! Oh well.. I guess now I can have a receiver in different rooms too.

Just remember to make sure you've cleaned away any trace of solder between the links or you'll end up with a short circuit across the battery! I would recommend using a multi-meter to make sure you don't have continuity between the + and - terminals! Would be a good idea to check you've got a good joint between each link too. Also note that you're almost certainly voiding your warranty by modifying your unit and are doing so at your own risk.


Read more →

Embedding Youtube with markdown for bootstrap

Posted on April 5th, 2014 by Andrew

So as I expand the functionality of my blog site, I found I wanted to include some youtube videos. There seemed to be a bunch of suggestions as to how to achieve this using markdown however none of them were responsive and none of them allowed embedding without using HTML (which I've disabled in my markdown).


Well I thought long and hard and the easiest solution I could think of was extending the markdown specification. Since the @ symbol isn't used for anything I've used this to define a block level extension to the basic paragraph block. To allow for future extensions of this custom format, the @ tag was followed by the markup extension type which in this was was simply youtube. After the format tag, we simply include the Youtube video id and we're done!

@youtube:<video id>

With Redcarpet as my markdown parser this was as easy as pie! I had already created a custom HTML parser for 'responsivicating' the markdown so it was simply a case of extending the paragraph override

def paragraph(text)
  if text.match /^@[Yy]outube:[a-zA-Z0-9_-]{10,12}/
    video_id = text.match /(?<=@[Yy]outube:)[a-zA-Z0-9_-]{10,12}/
    "<div class='col-md-12 video-container'><iframe src=\"//www.youtube.com/embed/#{video_id}\" frameborder=\"0\" width=\"560\" height=\"315\"></iframe></div>"
    "<p class='col-md-12'>#{text}</p>"

Then some css(sass) taken from Nick La's Web Designer Wall blog and we're done!

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;

  iframe, object, embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

Now for a demo!

With the following markdown...


...we get...

Cool huh?? Even better, resize THIS page and see for yourself! It is a little bit Inception though with a resizing Youtube inside a resizing Youtube. Enjoy

Read more →

Nexus 7 Based Car Stereo

Posted on April 3rd, 2014 by Andrew

As an alternative to an existing Windows based car PC the Nexus 7 tablet seemed to be the best option. The price was right and the range of software on the tablet would suit my needs. The tablet just fit into the space available however given the original space was designed for double DIN (100mm high) and the tablet is 120mm high, the original fascia had to be removed and replaced with something custom.

Trial Fitment

The first step in mounting the tablet into the rather tight space available was to take a mould of the end so a bracket could be made. A number of options were considered for taking the mould but air dry clay was used. An alternative would have been to used moulding silicone after wrapping the tablet in plastic wrap. To stop the clay getting into the tablet, the buttons were taped up then the end covered in a thin layer of petroleum jelly.

Moulding the Clay

After letting the clay dry (about 24 hours) the tablet was removed leaving the empty mould.

Clay mould sans tablet

And a view from the top..

Clay mould sans tablet top view

To give the mould some lateral strength, the clay mould was set into a gypsum plaster cast. This worked reasonably well except that they clay soaked up a lot of the water from the gypsum which then required another week to properly dry (even then it was still malleable)

Clay potted in gypsum

After the gypsum had dried, a duplicate of the tablet was taken using a two part polyurethane (and some black pigment for good measure). The steel wire was set into the cast to help with removing it from the mould. The finish of the duplicate wasn't fantastic due to the inconsistent finish from the clay. The important thing was that the front chamfer was captured well.

Cast duplicate

The next step was to build a mould around the tablet duplicate to create the final mould that would hold the tablet in the car. Some acrylic sheet was used and duplicates cast using the two part polyurethane. The first bracket cast quite well except for some orange peel type effect from the mould release on the acrylic sheet. The front chamfer was duplicated well and fit around the tablet was quite tight! Unfortunately the second and third attempts at casting the brackets failed quite miserably. Once cast, the brackets would not release from the tablet duplicate and when trying to release broke into pieces before they would let go of the mould! Unfortunately all of the small imperfections in the duplicate were enough for the cast bracket to latch on and not let go. After speaking to an expert at moulding/casting it was also determined that too much pigment was used which resulted in air bubbles forming between the duplicate and the bracket. At this point the duplicate was no good to cast any more. A silicone duplicate was cast instead and a second well formed bracket made with it.

Rough fitment

From the top the backing sheet of acrylic can be seen. This adds plenty of rigidity to the casts especially given how much I had to grind them back!

Rough fitment top view

After mounting the tablet with the two end brackets to a piece of acrylic and a little cutting, grinding and hacking, the tablet finally made its way back into the space.

Trial fitment

A lot of care was taken when routing the cables through the end bracket as there was not very much bracket left after hacking it in there. A 3.5mm audio socket is also installed however the right angle connector feeds straight out the back of the bracket and can't be seen.

Cable fitment

To power the speakers as well as providing FM radio, a traditional single DIN car stereo was installed. To fit the tablet, the stereo was installed recessed back about 30mm. The stereo chosen also has a rear auxiliary which helped keeps things tidy. The fascia in front of the stereo was created with a number of sheets of acrylic sheeting glued together.

Receiver and cover

To mount the tablet, some dual lock tape was used.


Then finally the finished fascia! The facade covering the tablet was made from the cardboard cover from a notepad. The hole on the left (top) of the tablet was required to allow the light sensor to work.

Final step is writing a custom launcher app to act as the media player/volume controls etc!


Read more →

New Website Alive and Kicking!

Posted on April 3rd, 2014 by Andrew

Well, after a few lengthy evening coding sessions the new website is alive and taking it's first breath

I would like to make a big shout out to all of the open source projects that made this possible. Namely:

I doff my cap to you

So why create a whole blogging site from scratch?

Good question! After developing a pretty interesting Ruby API for the past year at work, it seemed like a nice challenge to use some of those skills and get something super lightweight and highly tailored to my needs. My previous site was a Google Sites set of pages but I found the layout and content editing just a little too painful for what I was trying to do. Friends had suggested services such as Squarespace but where's the challenge in that?

So what's the blog going to be about?

A little bit of this and a little bit of that. By trade I'm a software and electronic Engineer, so plenty of snippets here and there about my experiences in the biz. I'm also an amateur machinist with a nice little collection of CNC machines as well as a bit of experience in small run moulding/casting.

I like what I see! How can I get in touch?

Great! I can be contacted via the details on the Contact Me section of the site.

Read more →