ComGSM update

After writing back in April about my ideas of using an off-the-shelf mobile phone module as a ComGSM I’ve not made much progress since. I did order a suitable unit from ebay direct from China, and after a few weeks it arrived.

I eventually got one of these:


I took a few photos myself but the light is a bit odd and it looks exactly the same. Predictably, there are no useful instructions with it at all, so I’ve had to make a few guesses.

It has a standard pin header on the side, which is labelled on the board from left to right as VCC, Tx, Rx and GND. There is also a power supply connector block with two screw terminals labelld + and -. This is on the left of the picture. I did find reference in the brief information I could find to its standard settings being 9600baud, 8 bits, no parity and one stop bit. This is a pretty standard configuration and the same as I used for my tests described in earlier posts.

So in the end I thought the best thing to do was take the plunge and connect it up, and see what happened. I made a link cable up out of another old motherboard cable, and wired the power into the Aux 12v supply available on the main board. This isn’t a great picture but shows everything lashed up. The antenna is out of shot but just dangling on the antenna wire at the moment.

gsm2Here I learned some more important lessons which unfortunately cost me some time. After wiring it in I tried to connect using Wintex but I couldn’t make it work. I was really worried that I’d blown something up by connecting the GSM unit and after a lot of fiddling around I finally realised that I had simply got Wintex configured for the wrong type of panel (Premier 48 rather than Elite 48)!

Once I’d got this working, I then found that all of my sensors were dead and thus I once again worried that I’d broken something. Looking closely at the board I saw a new red light beneath one of the PCB fuses for the Aux 12v supply. I had obviously shorted out the supply when wiring the GSM board at some point. I was quite impressed with the attention to detail in the design, as having a red light under the fuse immediately showed me what was wrong. After replacing the fuse all was well again. There are several very bright red lights on the GSM board itself as well.

I’ve not been able to do much more testing as I’ve not yet put a SIM with credit into it. However, I did configure COM2 for the GSM module and on running Wintex saw the following:


So it does appear that the unit is recognising the GSM unit – hence GSM status ‘Online’ in the bottom right. The signal strength is effectively non-existent but that’s not surprising given that there is no working SIM in it. Also I’m not getting any errors that the COM port won’t initialise, which you do you get if you try to configure the module with nothing actually present.

So this all looks good… next thing is to get some credit on the SIM and try sending some messages!

Changing the laser assembly on the Teac CD-P1450

The new laser assembly has now arrived, and it looks exactly as it should do – complete with Chinese labels. It is obviously a pattern part rather than a genuine Sanyo one but appears identical to the one I need to replace.


There are a couple of issue to be aware of if you are attempting a similar repair. There are two variants of the SFP101N – one of them has 15 pins on the laser head, and the other has 16. I don’t know what the practical difference is, but you do need to make sure that you order the right one. The only way to do it is to count the pins which are on a flexible ribbon cable which plugs in to the main board.

The other thing which is important, and which is not entirely clear in the packaging of the new unit is that there is a solder bridge on the laser head which needs to be removed. This is apparently something to do with antistatic precautions, although it is a strange thing. The only way to remove it properly is with a solder sucker. I’ve always had some trouble with desoldering, and in the past I’ve used a soldering iron and a spring loaded pump. This is always a bit fiddly and I’ve had variable success. However, I came across this in the CPC catalogue lately:

desoldering iron

This is a simple combination of a solder pump with a heating element on the tip – so you can heat up the joint and as soon as the solder has melted suck it up in one go.

Here is the new part with the solder bridge intact (circled in red):


And here it is after I’ve removed it. It was simply a case of letting the iron warm up, pressing the tip down on the solder for a few seconds and pressing the button to release the plunger. The result was better than I had hoped – the bridge is completely removed leaving the two pads clean.



You can see the white connector block just to the right of the bridge – this is where the 16 pin ribbon cable plugs in.

Having got the new module prepared, I now need to install it. Getting the old one out was actually quite easy – the service manual gives details of all the screws etc and I was able to remove the large plastic tray assembly which contains the laser. The awkward bit was disconnecting a few of the connector blocks and the flat ribbon cable although generally with a bit of gentle pressure these came out.


The second picture shows the laser mounted in a plastic housing which fits in to the bottom of the tray itself.

Replacing it was a pretty simple matter, just a question of removing the two screws that can be seen above and then pulling the mount out of the the housing by flicking past a few clips. Then there were some rubber boots to come off and then everything put back into place. It was actually pretty easy and I then put the whole thing back together again.

I then took a deep breath, turned the power on and put a disc in…

Success! The disc reads and plays perfectly, and after a long period of testing I’m pretty confident that the problem is now solved. Needless to say I’m pretty chuffed – I’ve repaired the player at minimal cost and in a much shorter time than I expected. If I had had to buy new I would have had to spend at least £180 and I’m very pleased to have avoided this. Also of course… I have enjoyed the adventure of fixing it.

Repairing a Teac CD-P1450 CD player

I love bargains… and I like fixing stuff… and sometimes the two overlap.

At my church I have responsibility for the sound equipment. Every Sunday we have a band at each service, so we are doing live sound engineering wtih a mixture of acoustic and electric instruments as well as vocals, drums etc. The detail of this is probably for another post as there are quite a few interesting things to say about it. However because of this I’m always on the lookout for kit to add in, and we were in need of a good quality rack mounted CD player. These are quite hard to find nowadays because CDs are so out of fashion – you can buy them new, but they tend to be excessively expensive – often many hundreds of pounds. Even ebay isn’t that great for them as the need for rack mount units has never been that great. You can of course shoehorn in domestic players but even that isn’t quite the same. Also, modern units have very few front panel controls which are very important in a sound engineering setup.

I was at a radio rally recently and I happened upon this, for which I paid £10. It is a Teac CD-P1450 which is a rack mount player with lots of buttons and controls and a few ‘pro audio’ features including a tone control.

The one I have got has the proper rack ears, and the feet are removable to allow it to fit flush. I liked the design and construction of it, and a quick test when I got home seemed to suggest that all was well. However, after mounting it in the rack at church it soon became clear that there were problems, and it was jumping and skipping around when playing CDs for any time.

This was very irritating – and meant we have had to go back to an ancient and tatty (and not rack mounted) Goodmans player which was bought cheaply about 20 years ago but has been extremely reliable.

I was on the point of giving up on this as a bad job, but I really did want to get it working. I have read around a bit, and the most likely culprit for these problems seems to be the laser, which is the only thing which is likely to wear out. I found some very technical articles about alignment, focus etc but overall it seemed the first thing to do would be to replace the laser and see where this took me.

I was pleased to be able to find (quite easily) the service manual online (available here among other places). This was unfortunately of little help in fixing it – in that it had no fault finding guides at all – although it did provide a very detailed tear down with every part and assembly right down to each screw individually identified.

Consulting the diagrams gave a promising start:


And consulting the parts list revealed:

partSo it appears that the whole laser assembly, including the head, CD spindle and other associated gubbins should be available as a single part. This might just be the answer to my problem.

This is where the Internet comes into its own, and I still find it amazing that with just a few clues like this you can track things down. I started with the Teac part number (13933102) which didn’t yield much, just a few references to an old parts catalogue and the fact that it was no longer available. I then tried some searches for ‘laser P1450’ and similar, and I did find an ebay seller in the US who seemed to have the right part. However it would be expensive to ship and cost about £40 all in.

Some more googling around revealed something else interested – there was also an identical version of my player sold by Tascam under the name CD-160. This is not that surprising, as I have now also found out that Tascam is the brand used by Teac for their pro-audio gear. Here is the CD-160 and the similarities are striking!


I think I prefer the rather more sober looks of this one as the red buttons are a bit jarring on mine. I wonder what the price difference was when new – I have always found Tascam kit to be outrageously expensive for what it is and I bet many of their ‘pro’ products are simply rebadged domestic units.

I broadened the search to look for ‘CD-160 laser’ and found a chinese site via alibaba selling them for what seemed not too bad a price – but the delivery will take ages.

However I then happened upon a UK site with something which looked promising:


This appeared to relate to a Denon part, but the picture looked very like what I needed and the part number in the service manual appeared in the list below. I still thought it was a bit pricey though to take a risk on. A bit more digging on the same site turned up an ‘alternative’ part which looked better still:


So it now appears that what I really need is an SFP101N which looks like a highly generic mechanism used by a large number of different manufacturers. Now why didn’t it say that in the service manual! What is even better is that the mechanism incorporates the CD spindle motor, the laser head and the motor and mount which drives it. So in effect almost all the moving parts in the machine except for the tray motor. So whatever is wrong with mine, this really should fix it.

It did strike me that I probably should go back to ebay again just in case anyone there had these in. Once I put in the magic words SFP101N:


And so on and so on for page after page. It seems that is it not so hard to find after all… so long as you know what you are looking for. I ordered the cheapest one I could find, and it was delivered within a day or so – great service as always from ebay traders.

Having looked a bit more closely at the mechanism I have, I’ve now found I could have saved a lot of time because the head has ‘Sanyo SFP-101N’ moulded onto it – although in such a way that you need to look closely to see it. Never thought of looking though… d’oh.

This experience so far has made me reflect on what a wonderful thing the Internet is – here is a fairly old and obscure CD player with a faulty component – and after a couple of hours searching I have identified the part needed and ordered it and within less that 48hrs it is in my hand. One could never have done such a thing a few years ago and the player would almost certainly have been consigned to the dustbin. Genuine Teac parts would have been expensive, and for a normal person like me, unobtainable.

The other thing which is interesting is that even the highly expensive professional products still seem to rely on absolutely bog standard hardware – I bet that the SFP101N is used right across the board.

I’ll describe the installation in the next post… and after all this it had better work!

Possible DIY alternative to ComGSM?

I’m feeling on a bit of a roll now… and I think I might have found another DIY means of adding functionality to the Texecom Premiere Elite panel. I’ve always been interested in the idea of adding a mobile phone dialler to the panel to send a text message when the alarm sounds.

First thought was to buy the genuine Texecom add-on, called (predictably) the ComGSM. However, once again there were a few difficulties with this. The unit itself is readily available from the usual sources (eg


Firstly, you won’t be surprised to learn that I think that this is quite expensive. Secondly, I didn’t really like the way that it was an external box when there is lots of space inside the existing alarm housing.

I looked at some alternatives. You can get on ebay some boxes which take a SIM card, and when triggered send a standard text message to a list of numbers. These are cheaper, and smaller and so easier to install. However, they looked awkward to configure and did feel like a bit of a clumsy solution. It would have been straightforward to trigger it using one of the panel’s outputs though.

Once I started reading the instruction manual for the panel a bit more I preferred the Texecom solution. This was partly because of being able to configure everything easily through Wintex, and also because when it is triggered it sends a much more detailed text message with details of which zone is triggered etc. It also allows a limited control, so you can disarm the alarm and get some status reports by sending text messages as well.

After having some success at getting the serial interface to the panel working (see earlier posts) I decided to investigate a bit further what the panel was doing when the ComGSM was installed, and how it was communicating. The genuine unit is installed by connecting to one of the two serial ports inside the panel, and as I learned when doing the USB interface these are operating as entirely standard ports.

My first thought was that the panel  would send some kind of encoded commands to the ComGSM which were then translated into control of a phone dialler. I thought that it might be possible to use the Raspberry Pi as a ‘man in the middle’ to translate the commands from the panel and then get the Pi to control a dialler. This seemed a tall order, but worth investigating as it would cut the cost down.

As a start, I configured the panel to have a ComGSM installed on the second port, and plugged in the USB-serial adaptor to listen to what it was doing. This is another setting which is buried in Wintex, this time in the ‘Communicator Options’ screen under the ‘Programming’ menu:

CommsMenu CommsOptions

You can set a whole range of different options for either of the built in com ports as Texecom make a whole lot of different ones. For the purpose of this experiment I set it to ‘GSM module’ which is the one for the ComGSM.

I then ran a simple serial terminal program to see what was coming back. At first, I got a series of garbled characters but they repeated regularly. I tried a few differnet combinations at random, sticking to 8 bits, no parity and one stop bit (aka 8N1, the most common configuration) and eventually on selecting 9600 baud, and to my great surpise, I saw the following coming from the panel:






These commands were sent in a repeating sequence. These commands form part of the very well known AT command set, which has been used for modems since the 1980s. It used to be known as the ‘Hayes AT’ command set, named after the pioneering modem company which first developed it. I remember using this myself back in late 80s and early 90s, at which time it was not uncommon to control the modem manually using AT commands rather than having it done automatically through comms software. You would send the command ‘AT’ to the modem (short for ATtention) and get back the response ‘OK’. Other commands could be appended to the AT – so ATDT0123123123 would cause the modem to Dial with Tones (rather than pulses) the number. Over the intervening years, the command set has been developed to include a whole range of other commands, and this includes for dealing with mobile phone connections and text messages.

The commands above – +++, ATZ and ATH0 are fairly standard initialisation commands, to reset the modem (ATZ) and hang up any calls (ATH0). I tried sending back the expected repsonse – ‘OK’ – and was pleased see the panel respond with more commands including some newer ones which were for listing out and retrieving stored text messages. This shows some of them:


The formatting is a bit strange, but you can see the first commands towards the bottom, and then some more wrapping round including AT +CSQ which is a request for signal strength, and AT +CMGL=”REC UNREAD” which lists out unread text messages. There is a function

So from all this, my conclusion is that the panel is sending out entirely standard messages, so there is no need for any translation at all. I now think that it should simply be a question of finding a GSM modem module and connecting it directly to the panel.

There are quite a few of these to choose from, but in order to keep costs down I decided to order one directly from China via ebay. Many seem to be based on a Siemens module, and they come in all shapes and sizes with various interfaces. However i settled on this one:

2015-04-25 20_32_24-GSM SIEMENS TC35 SMS Board LM2596 UART Wireless With Antenna Voice Module _ eBay

It has a simple serial UART interface so should be able to speak directly to the panel. It also had the advantage of being pretty cheap, although I did have to wait a few weeks to be delivered. It’s only just arrived, and once I’ve had a chance to play with it will post an update. I am hoping that if if works I can mount it inside the casing with the antenna bolted to the top. For me this will be a much neater and more elegant solution than the real one!

Texecom COM-IP controller – DIY and cheap too!

Having had some success in building a DIY equivalent to the USB-COM cable, I started to think about the COM-IP controller. Texecom sell this at great expense. It provides an Ethernet interface from the panel, which allows you to configure the panel over the network rather than having to connect directly to the panel. It also allows you to connect other things in to the panel to provide remote control or get status information from it. The first problem is the price. CTS-Direct have it for just over £90 plus delivery and this seems to be about right. Numerous other retailers have it for the same price although there are some second hand deals on ebay which are a bit better. However this still costs more than the panel did which seems a bit much for such a tiny device: COMIP I have been investigating linking the panel up with other home automation kit (more later) and someone suggested to me that you could use ser2net running on a Raspberry Pi or similar in conjunction with the USB serial connection I already had in order to give the same results. First thing was to see what the serial connection is actually doing, and establish what the parameters for the serial connection are. I used a serial port sniffer to identify this. I tried a few but eventually found ‘Free Device Monitoring Studio‘ which is massive overkill, but does provide the basic functions needed. I ran this whilst connecting to the panel with Wintex. I was hoping to see some comprehensible data but in fact it is clearly encoded. However, I was able to get the serial parameters out which are:

19200 baud, 8 data bits, no parity, 2 stop bits

This is the first time I have ever seen a serial link which uses 2 stop bits – so maybe this is a sneaky trick by Texecom to get you to buy their product. If so then it is fairly easy to get around. The next thing to do is to set up ser2net. It forms part of most Linux repositories, and the Raspberry Pi is no exception. I’ve started with a fairly basic and clean install, booting to the command line. Then I have installed ser2net like so:

apt-get install ser2net

Then plug in the serial cable and it should be recognised and appear as a serial device. You can use the ‘dmesg’ command in Linux to check. I’m using a FTDI 232R device:

[166583.359561] usb 5-1: new full-speed USB device number 2 using ohci-pci
[166583.821660] usb 5-1: New USB device found, idVendor=0403, idProduct=6001
[166583.821673] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[166583.821680] usb 5-1: Product: FT232R USB UART
[166583.821685] usb 5-1: Manufacturer: FTDI
[166583.821690] usb 5-1: SerialNumber: A9C3JDH1
[166583.927074] usbcore: registered new interface driver usbserial
[166583.927109] usbcore: registered new interface driver usbserial_generic
[166583.927136] usbserial: USB Serial support registered for generic
[166583.936455] usbcore: registered new interface driver ftdi_sio
[166583.936482] usbserial: USB Serial support registered for FTDI USB Serial Device
[166583.936601] ftdi_sio 5-1:1.0: FTDI USB Serial Device converter detected
[166583.936658] usb 5-1: Detected FT232RL
[166583.936662] usb 5-1: Number of endpoints 2
[166583.936665] usb 5-1: Endpoint 1 MaxPacketSize 64
[166583.936669] usb 5-1: Endpoint 2 MaxPacketSize 64
[166583.936672] usb 5-1: Setting MaxPacketSize 64
[166583.939669] usb 5-1: FTDI USB Serial Device converter now attached to ttyUSB0

The next step is to set up ser2net to connect to the USB serial port and convert it to network frames. This is done by putting a line in the configuration file – held in /etc/ser2net.conf. I’ve used this line:

10001:raw:0:/dev/ttyUSB0:19200 8DATABITS NONE 2STOPBITS

‘10001’ is the port number (used later); ‘raw’ means that there is no further processing of the frames; ‘/dev/ttyUSB0’ is the name of the serial device as above; the rest of the line contains the serial parameters we found above. Restart ser2net to re-read the config file, and then you will have in effect a working equivalent of the COM-IP. To make use of it you will need to IP address of the server running ser2net and the port number as above. The most obvious use of this is to use Wintex (the Texecom configuration tool) over the network. Configuring this is the same as for the genuine COM-IP although it is a little obscure. You need to go into ‘Edit Account’ in Wintex: Screenshot 2015-04-16 19.45.22 And then select the ‘Panel Details’ tab: Screenshot 2015-04-16 19.45.54 It’s hidden away in the bottom right hand corner under ‘Network Details’ – here you need to enter the IP address of the server, and the port configured in ser2net. Once you’ve done this, you can connect to the panel using the ‘Connect’ button in the Wintex main screen and proceed as normal. So far as I can tell this approach exactly replicates the function of the real COM-IP but at a fraction of the price, or indeed free if you already have a Raspberry Pi or a server lying around. There are some other interesting ideas for making use of this which I’ll come to in future posts.

COM-USB alternative – DIY and cheap!

One of the things which really attracted me to the Texecom panels was the ability to interface them directly with the computer – and other things (to be described in a future post). However, in order to do this you need to buy a fairly expensive cable from Texecom – the COM-USB:

Texecom COM-USB

These seem to retail for about £40, although there are some cheaper 3rd party versions on ebay for rather less, which seem to do exactly the same job:


However even this seems a bit steep for what looks a fairly simply USB cable, and the pins on the Premier Elite main board also appear fairly standard.

I then came across this extremely helpful post:

In which the author has discovered that the connector on the board is no more than a straightforward serial connection, with three pins – TXD, RXD and GND – connected. Using a USB-serial converter he was able to get everything working with the official ‘Wintex’ software which is a free download from Texecom.

I took a slightly different approach and bought from ebay a very small board which converts a mini-USB plug into serial with pins and solder points as outputs. It was about £4 delivered.

I bought one of these

I then used an old motherboard header cable directly soldered to the TXD, RXD and GND points on the board above, and connected the other end to pins 3 (GND), 4 (TXD) and 5 (RXD) at the Texecom end. So in other words the data is received by the Texecom on pin 4, and transmitted from pin 5. Once this was all wired up I secured the board inside the casing with a cable tie and ran a USB lead outside the box.

The end result looks like this:

So a very cheap solution which is just as good as the £40 official alternative.


An early opportunity to relearn the important principle of reading the manual.

I had installed one of the zones using a smoke detector, again a straight replacement for the old one. The manual said that it used a ‘normally closed’ relay which opened in an alarm or fault condition. So I wired it up (like the other sensors) to the alarm terminals.

For each zone there are two pairs of terminals – two marked ‘A’ for alarm sensing, and two marked ‘T’ for tamper returns. I had wired the detector up to the ‘A’ terminals, thinking ‘it’s a smoke alarm… why would it need a tamper circuit’. Also of course there are no tamper detectors in the smoke alarm anyway.

Cue a load of headscratching, as however I configured the detector in the software it always returned an alarm condition (it comes up as ‘active’). This is an issue because it stops the alarm setting and all I could do to start with was exclude it completely.

Eventually after a lot of searching I found a reference somewhere to using the ‘T’ terminal and this prompted me, finally, to read the manual. I found this:



One change of terminal later, and now everything works fine.

Life’s lessons learned once again