Wednesday, 23 March 2016

$100 APRS Tracker Mk2

Way back (2001) before they invented Internet 2.0 I built an APRS tracker for less than $100. It was a collection of stuff slapped together into a box and sported a TinyTrak tracker, GPS receiver and a 2 watt transmitter. In its day it was quite an achievement. Most APRS implementations would run over $150 and require an old TNC and a full FM transceiver. GPS's in those days were also big and ugly too. To this day I still get requests for the radio I used.

Well, over the years it has had updates and repairs and even had a 10W linear amplifier added to improve its range but yet it was still a pile of components slapped together into a somewhat large box. It finally gave up the ghost and forced me to go a different route. I briefly looked at creating my own tracker but abandoned it due to time constraints and other projects.

That was then. This is now. I bought a new car recently and am in the throws of moving my radio gear into it. Whilst I have a "black box" radio that will do APRS very well I still want to run my own bespoke APRS tracker. So that led me back to the $100 APRS Tracker.

Looking around the shack I found an old Motorola SM50 left over from a D-STAR HotSpot project. All I needed now was the tracker and a GPS receiver. Then I remembered that I had looked at this project a few years back. At that time I was playing with Ublox NEO-6 GPS modules for use in NTP time servers. These are sub $10 GPS receivers for adding to your projects. They are trivial to use requiring just 3.3v and an antenna. As you can see from the below picture I was able to integrate one into a tracker prototype (it's that white square blob).


But it didn't work. Or rather, it worked badly. Whilst it would talk to the config software when attached to the PC and indeed would send a beacon it wouldn't send any position data. Now I remember why I abandoned it. Having a little more time now I took another look. 

Turns out that the problem was trivial. In its old form (pictured above) the GPS was spitting out position data at 9600bd but the PIC microcontroller was expecting the data at 4800bd. DUH!! The fix was to ground one of the config pins on the GPS thus forcing it into 4800bd mode. In writing this page and getting the files etc together I've come across some auto detecting firmware that makes this problem go away. And I can tell you that it works wonderfully! If only I had bothered to look a little harder the first time around.

So let's do some accounting ...
  • Motorola SM50 FM transceiver    $30  ebay
  • Tracker PCB                                  $8    oshpark.com
  • Ublox NEO-6 GPS RX module     $12  ebay
  • PIC 16F628 microcontroller          $3    ebay
  • SMA antenna connector                 $1    hamfest
  • Motorola pre-wired 16 pin plug     $4    ebay
  • GPS "hockey puck" antenna          $5     ebay
  • 1/4 wave 2 meter antenna               $8    ebay
  • Mag mount for 2M antenna            $14  ebay
That's a grand total of $85. And if you already have some spare 2M antennas kicking around you can shave another $22 of that for a potential $63.

So I've parked all the board stuff on oshpark.com for you to order. You'll get 3 boards for $22. The PCB will allow you to use any current Ublox NEO-x GPS modules. They'll spit out 9600bd data so you'll have to use 9600bd compatible PIC APRS code. Luckily I've linked to that below. You can also change the PIC for a slightly better one which will have more facilities. 


Order from OSH Park

Eagle files for download ...


PIC microcontroller code for download ...

kf163tracker-2.0.2.iso It's a bootable Linux disk. Contains firmware, manuals and config software.

Thanks to DK7IN for his original idea and PE1ICQ for his expansion of this idea and his excellent code.

Monday, 11 January 2016

Adventures in IPTV

I do a bit of network consultancy here and there. One of my clients is a mom-n-pop cable TV operator whom wants to convert his plant from analog to digital. It's about time. The digital switchover was 10 years ago!!

Anyway, having sorted him out and converted his 80 or so analog channels back to digital (they are derived from a satellite TV network that transmits in H.264) it was a simple matter of bundling the TV stations into the correct size of RF mux and transmitting that mux over the cable network.

A happy side effect of this project is that I acquired a UT-100C USB DVB-T modulator dongle which is becoming increasingly popular in the amateur TV world. More about that another time.

To test my work I compiled a list of some IPTV channels currently (at time of writing) available over the internet. I forwarded the sources to an instance of OpenCaster which was handling the actual RF broadcast part and then connected the USB TX to a 100ft roll of TV coax.

The far end of the coax was connected to an El-Tigre DVB-C/IPTV set top box which I got from ebay for $25 new. As if by magic some pictures appeared on the attached TV.

So where does the IPTV come in? The "inner workings" of your local cable company is all IP today. TV sources are moved around the data network in IP format and in many cases derived from the original broadcaster as IPTV also. Eventually these sources are combined into some sort of data mux and then converted to RF for onward transmission to your TV.

I splashed out an bought myself a new 55" LG smart TV too. One of the applications one can download from LG's store is an IPTV client. I was not only able to test the feed I was making for my client directly onto a TV but also to load up the below playlist into it. I can now get some 28 channels over the Internet directly to my TV.

Cut and paste the below text into a file and then load it into your favourite media player or set top box.

group,Music
ext,Vevo1 HD,http://vevoplaylist-live.hls.adaptive.level3.net/vevo/ch1/05/prog_index.m3u8
ext,Vevo2 HD,http://vevoplaylist-live.hls.adaptive.level3.net/vevo/ch2/05/prog_index.m3u8
ext,Vevo3 HD Country,http://vevoplaylist-live.hls.adaptive.level3.net/vevo/ch3/05/prog_index.m3u8
1hdru,1HD,http://109.239.142.62:1935/live/livestream3/playlist.m3u8
ext,NOW Music,http://ngx.cr1.streamzilla.xlcdn.com/session/3e871f51e3dbe7ed88a5a044197ba590/sz/AATW/wowza4/live/nowmusic/chunklist.m3u8

group,Sports
ext,Sports Night HD,rtmp://freeview.fms.visionip.tv/live/sports_tonight-sports_tonight-live-25f-16x9-HD
ext,Xtreme Impacts,http://46.249.213.93/iPhone/broadcast/xtremeimpacts-tablet.3gp/xtremeimpacts-tablet.3gp-mr647k.m3u8
ext,Antena 3 Sports HD,http://antena3-aos1-apple-live.adaptive.level3.net/apple/antena3/channel01/antena_3_hd_1548K_1280x720_main.m3u8
ext,Big Ten HD,http://bigten247.cdnak.bigtenhd.neulion.com/nlds/btn2go/btnnetwork/as/live/btnnetwork_hd_3000.m3u8
ext,NBCSN,http://tvenbcsn-i.Akamaihd.net/hls/live/218235/nbcsnx/4296k/prog.m3u8
ext,PAC National,http://xrxs.net/video/live-p12netw-2328.m3u8
esp,Eurosport,http://37.220.21.210:57088/hbird/sdtv/planet/Eurosport

group,News
bbc-world,BBC World News,http://wpc.c1a9.edgecastcdn.net/hls-live/20C1A9/bbc_world/ls_satlink/b_828.m3u8
ext,CNBC,http://wpc.c1a9.edgecastcdn.net/hls-live/20C1A9/cnbc_eu/ls_satlink/b_,264,528,828,.m3u8
ext,ABC News,http://abclive.abcnews.com/i/abc_live4@136330/index_1200_av-b.m3u8
cnn,CNN USA,http://wpc.c1a9.edgecastcdn.net/hls-live/20C1A9/cnn/ls_satlink/b_828.m3u8
bloomberg,Bloomberg,http://cdn3.videos.bloomberg.com/btv/us/master.m3u8?b
ext,RT America,http://odna.octoshape.net/f3f5m2v4/cds/ch4_720p/chunklist.m3u8
rt-doc,RT Documentary HD,http://odna.octoshape.net/f3f5m2v4/cds/ch5_720p/chunklist.m3u8
ext,Sky News International,http://wpc.C1A9.edgecastcdn.net/hls-live/20C1A9/skynews/ls_satlink/b_,828,528,264,.m3u8
ext,AL JAZEERA,http://wpc.c1a9.edgecastcdn.net/hls-live/20C1A9/aljazeera_en/ls_satlink/b_528.m3u8
france24,France 24,http://wpc.C1A9.edgecastcdn.net/hls-live/20C1A9/france24_en/ls_satlink/b_,828,528,264,.m3u8

group,Shopping
ext,HSN,rtmp://hsn.mpl.miisolutions.net:1935/hsn-live01/_definst_/mp4:420p500kB31?b?b*t$ playpath=mp4:420p500kB31
ext,HSN 2,rtmp://hsn.mpl.miisolutions.net:1935/hsn-live01/_definst_/mp4:468p500kB31?b?b*t$ playpath=mp4:468p500kB31
ext,JewelryTV,rtmp://jtvmedia.jtv.com:1975/live/live6

group,Other
ext,London Live,http://bcoveliveios-i.akamaihd.net/hls/live/217434/3083279840001/master_900.m3u8
ext,Cartoon work,http://54.255.155.24:1935//Live/_definst_/sweetbcha1novD28_W_150.sdp/playlist.m3u8

group,Test
ext,NTSC 4x3 Test,http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8

Bond, James Bond ...

I've recently taken up shooting. In keeping with this new hobby I've also started a growing pile of arms.

Whilst at the range on Sunday morning I noticed one of my range buddies shooting a .380 caliber pistol. It turned out to be a Walther PPK. Yep, the one that James Bond uses. Well, I had to try it. For a spy trying to conceal a weapon this might be the ideal gun. However, for a weapon of assassination, not so much. I could barely hold it in my hand. That's me in the picture below. My hands are bigger than the gun. I did manage to put all 8 rounds into the bullseye on the target at 10 yards.


 

I'm itching to try a Sig P226. The one that Bond shows his girlfriend in the latest "Spectre" movie. I thought it odd that Bond would have that in his pocket but rumour has it that the SAS and the MOD use it so I guess it wouldn't be too far fetched. Of course, it could have been a product placement too?

Saturday, 26 September 2015

Yaesu FT-847 DRM

This post has been reproduced from my old web pages. There has been some call for the 12KHz mod info since I took my old site down.

I've been promising myself that I'd convert my FT-847 to DRM use for a few years but with DRM broadcasts here in the US only being available in the early evening when I'm tied up with family matters there seemed to be little point.

However, RCI recently announced that they would be transmitting programmes throughout the month of December (2006) from 1500UTC until their normal shutdown time of 0000UTC; a whopping nine hours of programming every day! Where's my soldering iron?

A while back I ordered a couple of 455KHz-12KHz down converters from I5XWW with a view to doing this job. These converters use a freely available design found in a number of places on the Net. Frankly for the amount I5XWW charges for these pre-built boards it's not worth the hassle of building a convertor on a project board. I paid $15 each for them!

OK, lets get down to it. On a clean work surface (not like mine) remove both the covers from your FT-847 and place it upside down on the bench with the sockets facing you. If like mine your's is a stock radio then you will have a vacant space on the upper left quadrant. This space is earmarked for the installation of the optional CW filter. This is where we are going to install the board.

Next make sure you have the following items;

RCA phono socket
12" hookup wire
24" RG174 coax
22pF capacitor (other values may work)

As you can see from the picture this mod is very simple and there is plenty of working space inside the 847.


Let's start by mounting the convertor. I used a strip of double sided tape.

Now let's tap the 455KHz IF. Locate the 8 pin IC just below the vertical SSB filter. Solder one leg of your 22pF cap to pin 2 of this IC. Pin 2 is the second pin from the right on the top row in this orientation.

Next prepare a length of coax. Connect the center to the open end of the 22pF cap and the shield to pin 4 of the chip (top row, left most pin).

Be sure to check your work for solder splashes and shorts etc. Also make certain that the new parts will not come adrift and cause damage.

Connect the other end of this coax to the 455KHz input of the convertor. In my case this was the top left 2 pins.


Take the hookup wire and attach one end to the screw terminal with the red wire on the right of the board. I used the one above the fuse. Connect the other end to the converter's power connection.

Now comes the hard bit. We have to find a space to mount the connector. As you'll see there isn't much room on the back panel and so I drilled a small hole and passed the coax cable through thus allowing the connector to hang out of the back. Connect the RCA socket to the end of the cable that hangs out of the radio. Connect the other end to the convertor output pins.

That's pretty much it. Before putting your radio back together again, fire it up to check everything is OK. You'll also have to set the output level so that there's enough to drive your sound card.

Below are pictures of the work and also of the relevant DReaM software screens.






Friday, 20 March 2015

Yet Another Reflow Oven

There's something very satisfying about making your own stuff. As you'll have seen by my previous posts I design a lot of my own circuits. To this end I've built a Surface Mount Device Reflow Oven.

I was inspired by this youtube video. The thing that impressed me about it was the price; small reflow ovens can cost upwards of US$500. The toaster oven used in the video is still (March 2015) on sale at Walmart for less than US$20. But like most things based on an Arduino, not only does it require an Arduino board at some US$30+ but it needs a shield to connect all the temperature sensing and heating elements etc at a further US$35. So that would make the total something like US$100 or more. Still not ideal.

So thinking that I could do better I set about designing my own "embedded Arduino" based controller. It would have all the same facilities as the one in the video but everything would be contained on a single PCB where possible.


This is what I came up with. The board above contains an AC power supply, LCD interface, temperature sensor, interface buttons, buzzer, FTDI serial interface and of course, an Arduino.


So then all I needed was firmware for the Arduino. There was no point trying to write my own. It's not as if I've had an original idea here. Casting about the 'net I came across this website where IanJ describes his journey creating a similar oven. I downloaded Ian's code and set about adapting it to my board. It was quite easy really. I simply needed to move some pin assignments around and change some of the outputs from low to high etc. My modified version of the code can be found below. It still requires the library from Ian's website (don't forget to modify the library for Arduino IDE 1.x+).

My design differs from Ian's slightly in that I use a PNP transistor to toggle the relay that in turn powers the heater elements. I've also used the analog pins in digital mode so that I could make the board layout easier for a milling machine or home brewers doing single sided boards and likewise I have not used the traditional LCD pins but rather moved them  to other pins for the same reasons. Other than that we've come up with more-or-less the same design.

If you want a copy of the board you can buy it from Oshpark. Be aware that there is a minor error on the PCB. The "fix" is to raise pin 21 of the Arduino such that it does not connect with the IC socket. I had inadvertently connected that pin to ground when it should have been either pulled up or left floating.

Parts list and costs ...

"Rival" brand toaster oven - $18.47 @ Walmart
Solid state relay - $1 @ ebay
Welding blanket - $18 @ ebay
"K" type thermocouple (minimum 350c) - $1 @ ebay
PCB - $10 @ Oshpark
Arduino - $3 @ DIPMicro.com
LCD - $2 @ ebay
R's, C's etc, - $3 @ junque box
AD595 temperature sensor - $3 @ ebay
Total = $60 or thereabouts

 The usual files in Eagle format and GCode for your CNC mill ...

YARO.ino
YARO.pdf
YARO.brd
YARO.sch
YARO.bot.etch.ngc

Saturday, 7 March 2015

Ebay 3020 desktop CNC router

I bought one of these 3 axis CNC routers via ebay. My goal is to make my own PCB's with it. Well, yeah; that's my goal. But in the 9 months I've owned it I've not yet been able to get a satisfactory piece of work from it. As is usual with most things from China via Ebay, the documentation was non-existant. I got most of my information from other frustrated owners on various mailing lists and message boards. 

Sales picture from ebay
My first issue was that it needed a PC with a parallel port. Having a "legacy free" PC was going to cause problems. As it turned out that problem solved itself. I'm a Linux user. Having done some research on how to use this thing with Linux I discovered that there is an entire Linux CNC project dedicated to these sorts of machines. Because the timing demands of the router are pretty specific Linux CNC requires its own PC hardware. I was able to find a suitable PC in the junk pile that would run the router "properly".

I say "properly" as the supplied controller (the thing in the black box) was pretty lacking in its features. Not only that but when I tried to use the demonstration CNC projects supplied with the Linux software the router became intermitant. Investigation of the controller box revealed that the enclosed circuit board was not grounded at all!! It relied on a single screw thread poking through a mounting hole. Unfortunately the screw head was covered in paint. A wire brush fixed the paint problem and a few other ground cables added here and there brought the lighted power switch into operation. Great, now it would route the demonstration piece.

Rear panel of the controller
Take a look at the back of the controller. Can you see that blanking cover? What is that for? Well, closer examination of the circuit board revealed 4 axis abilities as well as limit switches and a few other features not normally available by default. Do you see that coaxial connector next to the parallel port (click the picture to enlarge it)? At first I thought it was to supply DC power instead of using the built in mains PSU. Good job I didn't try connecting anything to it as it turned out to be the Z axis probe input (used to detect if the router bit has contacted the work piece).

Inside of the controller. Note linear PSU and 2 control boards

Spindle control not connected to anything
Whilst poking around the board I noted a few other things that were useful. As supplied the controller requires manual control of the motor spindle that drives the actual router bit itself. One presses a switch to start the motor and then winds a knob to adjust the bit rotation speed. What a load of crap!!. Why can't the PC turn the spindle off and on and adjust the speed as needed? Turns out that the PC can do these things if only the jumpers on the circuit board were set correctly!! The vacant white connector at the top of the right hand picture controls the bit speed.  Control of the bit spindle was achieved by cross connecting the PWM-OUT on the below board to this connector. The picture also shows the bad grounding issues I dealt with. Here we see that the mounting holes are painted over thus insulating the ground path.

Limit and bit spindle outputs not connected to anything
That brings us back to the limit switches. There's a header on the board that allows for limits on 3 axis. I found a 4 pin CB microphone connectors in my junk box and wired it into the limit header on the circuit board. I still need to install the actual switches on the router itself as they are missing too but unlike the controller circuit board there is no provision for adding these. I bought a few of these switches via ebay and I think I'll try and make a mounting bracket with my new 3D printer. Alternatively I could make the brackets with the router itself?

Limit switches brought to the back of the control box

A-axis output just below the left white connector
So now we have to connect the router to the PC by way of the printer port. My chosen software needed me to create a machine profile so that it would know how to drive the router. This meant having to map the pin functions from the controller to the PC. The below is what I came up with.


Since starting on this journey I have run across some other websites that have also found the same issues as I have. This one is by far the most detailed.

Friday, 6 March 2015

Build your own "Internet"

By now you've probably seen this sketch from the TV show "The IT Crowd"?  Jen is fooled into believing that a small black box with a flashing light on the top is in fact what the Internet looks like.


I gave a talk recently at a gathering of Shortwave radio listeners. I decided that I would demonstrate the "Internet" as part of my talk so I set about building one of my own. It's incredibly simple and requires just a few $$ of parts and a black plastic box.
I got the above circuit from the real Internet. Note that the circuit has 2 LED's. To make a clone of the original "Internet" one needs only to use a single LED however, the two LED's gave me an idea ..... build a second device which would use both LED's into a smaller box and call it "The Internet V2.0". After all, Moore's Law dictates that everything becomes smaller, cheaper and has more facilities.




My boxes had a 9V battery for power and the circuit was stuck onto the inside of the lid with double sided tape.

It you want to make one of your own you can buy a board from Oshpark

As usual, here are the files in Eagle format along with GCode for your CNC mill ...

555 Internet Flasher.pdf
555 Internet Flasher.sch
555 Internet Flasher.brd
555 Internet Flasher.bot.etch.ngc