Monday, 18 May 2015

Poor Man's Through-Hole PCB Rivet

First of all I have to thank Retromaster for his descriptions on how to do through-hole contact riveting. My double-sided prototype PCBs are done on a CNC Router but originally I was using just flexible wire soldered on both sides of the PCB. This method I found just created big solder bumps , not much good for surface mount IC's with through-hole contacts directly under them. So to remedy this situation I used a drill press with a 3mm stainless rod mounted in the Chuck. I put short pieces (approx 2.6mm long = thickness of PCB 1.6mm + Protrusion on each side of PCB 0.5mm X 2  ) of tinned copper wire whose diameter  matches closely the diameter of the via hole into the via for the through-hole connection. I positioned the 3mm rod in the chuck over the via to be riveted with the copper wire in the hole and gently rotated the drill press capstan. This pressed the copper wire into the hole. I relaxed the pressure on the PCB to allow the balancing of the head size of the rivet on both sides of the PCB. Below is a photo of some practice rivets and one via not riveted on a scrap PCB for practice, these rivets will have a light soldering using solder paste to ensure a good electrical connection. I am very pleased with this method of connecting vias on PCB prototypes.

Riveted through-hole connections

Thursday, 5 March 2015

BT Infinity and my HG612 VDSL2 Modem Firmware Upgrade

Speed kbps
My Home Download Speed
Warning: If you attempt what I describe here you may reduce your modem's usability to that of a brick , remember you are in charge of your own destiny. Note: I have two modems one for experiments and the other as backup.
I have been in the habit of using a Raspberry PI to log my ADSL2+ then VDSL2 speeds for a while now. The graph above is the speed of my ADSL2+ until I got BT Infinity or FTTC (Fibre To The Cabinet) , the time is about a year in span and speed is in kbps. Point A is when my ADSL2+ speed a took a dive due to a tree wearing through my overhead telephone line. It took BT about a full month to fix the fault and remove the subsequent speed cap at Point B , it took two emails to the BT Community Forum to get them to remove the cap even though they said that it had been removed , it hadn't.
Between Point B and C you can see my speed was unstable with my router continually dropping connection and then re-syncing at different speeds. You can see how unstable it was even after the line repair compared with the lead up to Point A , perfect. I then had BT Infinity installed at Point C using a BT Openreach Huawei EchoLife HG612 modem with unlocked firmware. This allowed me to log speeds , it isn't something that is enabled by default with BT's stock modem.
Between Points C and D it is not very stable speed wise , I have a long wire to the cabinet hence the lower than anticipated VDSL2 speed. So eventually I got a bit fed up with the variability of the connection speed so I tried new firmware in my modem , this firmware has a newer binary blob driver for the Broadcom modem chipset. Point D shows the time the modem had the new firmware flashed , it is a higher speed and also very stable , fantastic. So the only thing that has changed is the firmware change on the HG612 at point D. This also just shows that the digital signal processing elements have been improved in this binary blob driver.  Now I'm very impressed with the latest firmware for this modem , but it's a shame I've had to do all this firmware upgrade myself and that BT don't seem to be continually improving their modem firmware. This even though they do have BTAgent enabled to update firmware themselves.
I have BTAgent disabled because I don't want them to disable my logging system with their new firmware. They seem more concerned with not allowing their customers to actually see how bad their broadband connections are by disabling useful functionality. It has been noted by others that some of the BT firmware updates rolled out via BTAgent have disabled Web Configuration and telnet access to these modems.
Hope this helps you.

Monday, 1 December 2014

Mercurial Repository Direction

I'm in the NewRepo directory in the local repository on my local machine and want to clone this to a remote repo. I had forgotten that the command order dictates the direction of the clone ie from my local to remote repo or remote to local repo
local -> remote
hg clone . ssh://
 remote -> local
 hg clone ssh:// .

Sunday, 10 August 2014

LG 42LH3000 TV half picture

My LG 42" Television Model No: 42LH3000 developed an intermittent fault where the left half of the picture on the screen would become noisy and garbled , see this video.

LG 42LH3000 Television

It was worse when the TV was first switched on but got better as it warmed up. Over time it gradually got worse until no picture was shown on the left side at all. From an Internet search it seems that it is a common problem where the LCD driver transistor array die bonded to the flexi-circuit along the top of the LCD loses connection. These devices are driven by the Tcon board at the top middle of the TV via two flex-circuits, these connectors were checked for bad connection but were fine. It was later found that the flex-circuit transistor array on the far left of the LCD when pressed gently would fix the screen problem. A couple of thin cardboard spacers were cut and placed under the flexi-circuit transistor array ( I did this for all the arrays just in case the problem occurred on the remaining arrays ) to make it press more firmly against the silicon rubber pad on the removable front pressed steel bezel of the LCD. This helped ensure that the array would be pressed firmly by the silicon rubber pad when the front frame was replaced and the screws firmly tightened. I hope this helps someone with similar problems and thanks for reading.

Update: After a day the screen had the same problem. Over the course of about a month I disassembled the TV three times trying a number of rubber gasket materials including sticky draught excluder , these worked for a while each time then the screen developed the fault again. On the fourth disassembly I removed the factory fitted flexible rubber pad pushing down on the leftmost flexi-circuit at the top of the screen. I did notice that the bonded transistor array on the flexi-circuit assembly was warm to the touch when the TV was running out of its case.

Positions of Silicone Strips

So I ordered a sheet of thermally conductive silicone rubber 1.6mm thick , I cut three strips strips of this 10mm x 35mm and sandwiched two of them together. The other strip was placed carefully under the flexi-circuit transistor array die while the other two were placed on the top of the flexi-circuit transistor array die (see image above for rough positions or the rubber strips). This assembly would then be clamped once the front pressed steel frame bezel was screwed to the front LCD panel surround. After this was done the TV has worked since so I think the problem may also be related to the transistor array overheating and the thermally conductive silicone rubber is now removing the associated heat from the transistor array to the front metal bezel of the LCD panel. See the diagram for the the way the strips were positioned.

Flexi-circuit Sandwich , Looking Down from Top Edge of Screen

Remember that TV's have mains voltage and also higher voltages for the cold cathode strip lamps exposed when the rear cover of the TV is removed so be careful. You may by fiddling with these transistor arrays make the connection problem worse, but if the TV is already toast what have you got to lose.

Sunday, 8 June 2014

Ford Fiesta ABS Light Stays On

The ABS warning light lit up continuously on my daughters Ford Fiesta Style 2005 plate.

ABS Symbol

After a bit of Googling (other search engines are available) to see what the fault could be and narrow down my search area. I finally got around to taking each wheel off in turn and checking the wheel speed sensors for damage. I found the drivers side front wheel speed sensor's wire insulation nearest the inside of the wheel arch had worn away exposing the copper wires inside, it had also worn away one of the wires. The sensor wire wearing away may have been due to a broken suspension spring that occurred a while before the ABS fault, the spring was replaced a while back. As a test repair I soldered the broken wires of the sensor back together and switched on the ignition but the ABS light stayed on. Disappointed I drove down our private road and after driving about 30 feet the light went out, yeehaa! (this is me happy). Apparently from what I have read the ABS light will stay on even after a sensor repair until the ABS system detects pulses coming in from the sensor after the vehicle is in motion, only then will the light go out.  I ordered and fitted a new sensor cable assembly to replace the temporarily repaired one as I didn't want to take chances with a repair on the ABS system, the ABS light has stayed out ever since.
If you undertake any work, be safe, remember cars are heavy, tools are dangerous if used incorrectly, you are responsible for your own actions.
I bought one of these F-Super Diagnostic USB dongles to read the fault codes and reset the fault on the ABS ECU.
F-Super Diagnostic Dongle
I installed the drivers and the software onto my laptop, plugged in the usb. I then plugged in the dongle to the OBD connector on the Fiesta, it is located at the bottom of the Steering column cover under a little flap. The software was run and the fault code read it was indeed signal loss from a wheel sensor. I wish I had this device before, so I knew what I was looking for when trying to fault find.
I also reset the fault code on the ABS ECU so if the error comes back I'll know.

Thursday, 15 May 2014

Arduino Uno Ceramic Resonator

I was using an Arduino Uno to measure the PPS (pulse per second) pin from a GPS module to allow comparison with the PPS from a DS1307 RTC real time clock. I used interrupts 0 and 1 of the Arduino to trigger on rising edges of both PPS pins to trigger a reading from the micros() function and then subtract this reading from a subsequent micros() reading taken on the next rising edge so giving me a measure of the pulse width in microseconds, give or take four microseconds. Apparently the misnamed micros() function cannot make one microsecond measurements. Using this setup I was able to see that the 16MHz clock on the Arduino was out compared to the GPS PPS pin which from the datasheet was accurate to the tens of nano seconds range. The measured error I found was due to the Arduino using a resonator for its system clock, known for not being as accurate a crystal. The strange thing is there is already a crystal on the board for the USB serial chip, probably for accurate baud rates, it is 16MHz the value we need. I removed the resonator for the ATMega328P from the board and made a direct connection from the crystal oscillator output of the USB serial chip to the oscillator input of the ATMega328P. The board can still be programmed and now has a more accurate system clock for my measurements. I wonder if this is something that could be done to the Arduino to save the cost of a resonator. I eventually moved my sketch to a Stellaris Launchpad which has an 80MHz clock and can measure down to one microsecond with its appropriately named  micros() function.

16MHz Resonator removed, center of PCB

16MHz Osc Output of ATMega8U2 connected to ATMeg328P Osc input

Thursday, 10 April 2014

Panasonic DECT Cordless Phone KX-TGA672E with faint LCD

This Panasonic DECT cordless phone developed a fault where the LCD was very faint and adjusting the contrast made no difference. This fault was traced to the flexi-circuit from the LCD to the main printed circuit board of the phone. It was bonded in some way to provide the electrical connection and was not soldered. To fix it I cut up a rubber eraser to the correct size the width of the flexi-circuit and a thickness of (1.5mm). This eraser helped to push down on the flexi-circuit when the white LCD housing was clicked onto the PCB. This fixed the fault and the LCD is now as it should be and the contrast adjust also works. Very annoying fault and a result of cheap manufacture not lasting very long.
Thanks for reading, I hopes this helps someone.