Posted on 1 Comment

Tenma DMM Drivers & PC Software

My new DMM I posted about a while back came with PC software & drivers for the RS-232 interface, on a CD. I haven’t used CDs for some time, so I had to dig out my USB drive.

The Tenma website doesn’t list the software for all their models, so to help others I’m posting an archive of all the supplied drivers here. The archive contains software & drivers for the following Tenma models:

[download id=”5614″]

Tenma 72-1015
Tenma 72-1016
Tenma 72-1020
Tenma 72-2610
Tenma 72-2620
Tenma 72-7712
Tenma 72-7715
Tenma 72-7730
Tenma 72-7730A
Tenma 72-7732
Tenma 72-7732A
Tenma 72-7735
Tenma 72-7745
Tenma 72-7750
Tenma 72-7755
Tenma 72-7760
Tenma 72-7790
Tenma 72-8400
Tenma 72-8720
Tenma 72-9280
Tenma 72-9380
Tenma 72-9380A
Tenma 72-9405
Tenma 72-9490
Tenma 72-10405
Tenma 72-10410
Tenma 72-10415
Tenma 72-10440
Tenma 72-10445
Tenma 72-10465

Posted on 1 Comment

IC Decap: ITE IT8712F Super I/O Controller

IT8712F Package
IT8712F Package

These chips are used on PC motherboards, to control many of the legacy peripherals & things such as temperature monitoring & fan speed control.

Here’s the block diagram from the datasheet to show all the features, this IC handles many things on a modern motherboard!

Block Diagram
Block Diagram
IT8712F Die
IT8712F Die
Posted on Leave a comment

DIY SMPS Fan Controller

Now the controllers have arrived, I can rejig the supplies to have proper thermal control on their cooling.

Changes Overview
Changes Overview

Here’s the top off the PSU. The board has been added to the back panel, getting it’s 12v supply from the cable that originally fed the fan directly. Luckily there was just enough length on the temperature probe to fit it to the output rectifier heatsink without modification.

To connect to the standard 4-pin headers on the controller, I’ve spliced on a PC fan extension cable, as these fans spent their previous lives in servers, with odd custom connectors.

Fan Controller
Fan Controller

Here’s the controller itself, the temperature probe is inserted between the main transformer & the rectifier heatsink.
I’ve set the controller to start accelerating the fan at 50°C, with full speed at 70°C.

Full Load Test
Full Load Test

Under a full load test for 1 hour, the fan didn’t even speed up past about 40% of full power. The very high airflow from these fans is doing an excellent job of keeping the supply cool. Previously the entire case was very hot to the touch, now everything is cool & just a hint of warm air exits the vents. As the fan never runs at full speed, the noise isn’t too deafening, and immediately spools back down to minimum power when the load is removed.

Posted on Leave a comment

Raspberry Pi Timelapse Video Generator Script & Full Script Pack Download

To cap off the series of scripts for doing easy timelapse video on the Raspberry Pi, here’s a script to generate a H.264 video from the images.

#!/bin/bash
INPUTFOLDER=$1
INPUTNAME=$2
OUTPUTNAME=$3

if [ -z $1 ]
    then
    	echo "Raspberry Pi Timelapse Video Generator Script v1.0"
		echo "2015 Ben Thomson 2E0GXE"
		echo "This script will take an image folder created by the timelapse script & convert it into H.264 Video"
		echo "This script expects some options in the following format:"
		echo "./makevid.sh <Folder> <File Prefix> <Output Video File Name>"
		echo "<Folder>"
		echo "The folder name with all the images"
		echo "<File Prefix>"
		echo "The file prefix before the frame number. Do not include the underscore before frame number."
		echo "<Output Video File Name>"
		echo "The output file name. The .mp4 file extension will be added by the script."
		echo "Running this script on the Raspberry Pi itself is likely to be very slow. Recommend running on a fast"
		echo "PC with a multicore CPU for high framerate."
		exit 0
fi

avconv -r 10 -i ./$INPUTFOLDER/"$INPUTNAME"_%d.jpg -r 10 -vcodec libx264 -crf 20 -g 15 $OUTPUTNAME.mp4

echo $INPUTNAME
echo $INPUTFOLDER
echo $OUTPUTNAME

This should be run on a powerful PC rather than the Pi – generating video on the Pi itself is likely to be very slow indeed.

I have also done a quick update to the timelapse generator script to generate images of the correct size. This helps save disk space & the video generation doesn’t have to resize the images first, saving CPU cycles.

#!/bin/bash

INPUTFILE="$1"
INPUTFILE+="_%d"
FRAME_INTERVAL="$2"
FRAME_INTERVAL_MIN="1250"
RUNTIME="2073600000"
DATE=$(date +"%T_%m-%d-%y")
if [ -z $1 ]
    then
		echo "Raspberry Pi Timelapse Script v1.2"
		echo "2015 Ben Thomson 2E0GXE"
		echo "Images will be taken in 1920x1080 format for transcoding into video."
		echo "This script expects some options in the following format:"
		echo "./timelapse.sh <File Prefix> <Frame Interval>"
		echo "<File Prefix> The script will prepend this name to every image as a unique capture session identifier."
		echo "A sequential number is appended to the end of the filename for frame identification."
		echo "<Frame Interval> This is the interval between frames, in milliseconds. Minimum 1250."
		echo "This minimum is required to retain stability & prevent dropped frames."
		echo "Every time the program is started, a new folder with the current date & time is created for the images."
		exit 0
fi
if [ $FRAME_INTERVAL -lt $FRAME_INTERVAL_MIN ]
	then
		echo Frame Interval Too Low!
		echo This will cause dropped frames! Exiting!
		exit 0
fi

mkdir -p ./$DATE-$1
echo Image Folder $DATE-$1 Created
echo Image Capture Interval $FRAME_INTERVAL ms 
echo Starting Timelapse Capture... CTRL+C To Exit...
raspistill -k -n -ex auto -awb auto -mm average -w 1920 -h 1080 -o ./$DATE-$1/$INPUTFILE.jpg -tl $FRAME_INTERVAL -t $RUNTIME

echo Timelapse Complete!
echo File Prefix: $INPUTFILE
echo Frame Interval: $FRAME_INTERVAL ms
echo Folder Name: $DATE-$1

[download id=”5595″]

73s for now!

The Shack

The Shack

So, here is where all the action happens.

Main radio of course is housed on the left, it’s partially hidden under my currently over-populated breadboard.

All 3 monitors are linked to the same PC, using a pair of video cards. This is a very flexible system with so much screen real estate.

Main system power is provided by the pair of power supplies next to the radio – these are homebrew units using surplus switched mode PSU boards. Check my previous posts for more details.

Power Supplies
Power Supplies

The main power supply system. These two supplies are cross connected, giving a total DC amperage of 30A at 13.8v. There is also a link to a large 220Ah lead-acid battery bank (orange cable), to keep me on the air during power outages. This cable is getting upgraded to something more beefy shortly. The white cable is currently supplying power to my online radiation monitor.
The main high-current DC outputs are the Speakon connectors next to the meters. The top one is powering the radio directly, the bottom is linked through to my 12v distribution box for lower current loads, such as the oscilloscope, audio amplifiers, tools, etc.

Radiation Monitor
Radiation Monitor

Attached to the side of the desk is the radiation monitor itself.

Core NAS
Core NAS

Under the radio is the core NAS of the network. It’s an array of 9 4TB disks, in RAID6, giving a total capacity after parity of 28TB. This provides storage & services to every other machine in the shack, the Raspberry Pi on top of the disk array is doing general network housekeeping & monitoring, also generating the graphs for the Radiation Monitor page. A Cisco 48-port switch is partially out of frame on the right, providing 100MB Ethernet to the devices that don’t require gigabit.

Posted on Leave a comment

QSO Logging Systems

As per my site update post, I have migrated my radio log onto a new system, from CQRLOG.

CQR log has served me well since I first started in Amateur Radio, however it’s a bit complex to use, requires a backend MySQL server for it’s database, and as it’s a local application, it’s not possible to share my log with other Hams without some difficulty.
The only other major system with an online logging system is QRZ, and I find that particular site a bit of a pain, and many of the features there aren’t free. (Although it’s not horrendously expensive, I’m on a very tight budget & I must save where I can).

CQRLOG
CQRLOG Screenshot

Because of these points, I went on a search for something that would better serve my needs. I have discovered during this search that there’s liitle out there in the self-hosted respect.

I did however find Cloudlog, a web based logging system in PHP & MySQL.
This new system allows integration with the main site, as I can run it on the same server & LAMP stack, it’s very simple to use, is visually pleasing and it even generates a Google Map view of recent QSO locations.
It will also allow me to save some resources on my main PC, running a full-blown MySQL server in the background just for a single application is resource intensive, and a bit of a waste of CPU cycles. (CQRLOG and it’s associated MySQL server is 300MB of disk space, CloudLog is 27MB).

Backups are made simpler with this system also, as it’s running on my core systems, incremental backups are taken every 3 hours, with a full system backup every 24 hours. Combined with offsite backup sync, data loss is very unlikely in any event. All this is completely automatic.
I can also take an ADIF file from Cloudlog for use with any other logging application, if the need arises.

Cloudlog is built & maintained by Peter Goodhall, 2E0SQL.
From the looks of Github, there’s also a version 2 in development, although now I have version 1 up & running, I might just stick with it, unless an easy upgrade path is available.

When I am not operating mobile, new QSOs should appear in this system almost immediately, with their respective pins on the map. (These are generated by the Grid Square location, so accuracy may vary).
If you’ve spoken to me on the air & I haven’t updated it, I’m most likely away from an internet connection, in which case your callsign will appear as soon as I have access.

73s for now folks!

Posted on 1 Comment

MSR605 3-Track Magnetic Stripe Writer

MSR605
MSR605

This unit was bought from eBay to experiment with Magnetic Stripe cards, for little money. This unit is capable of reading & writing all 3 tracks, & both Hi-Co & Lo-Co card types.
Interfaced to a PC through USB, this has a built in PL2303 USB-Serial IC & requires 3A at 9v DC to operate.
The 3 Indicator LEDs on the top of the unit can be toggled by the included software for Power/OK/Fault condition signalling.

Unit Bottom
Unit Bottom

Bottom of the unit with the model labels.

Model Label
Model Label

Closeup of the model label & serial number.

PCB Bottom
PCB Bottom

Here the bottom cover has been removed, showing the main PCB. The pair of large ICs bottom center interface with the magnetic heads. The IC above them has had the markings sanded off.

USB-Serial Interface
USB-Serial Interface

Closeup of the Prolific PL-2303 USB-Serial converter IC.

PCB Top
PCB Top

Here the connections to the R/W heads are visible, current limiting resistors at the left for the write head, a pair of signal relays, a pair of optoisolators & a LM7805 linear voltage regulator.

LEDs
LEDs

Here is the trio of indicator LEDs on a small sub-board.

Frame Bottom
Frame Bottom

The PCB has been removed from the main frame here, the only component visible is the rotary encoder.

Rotary Encoder
Rotary Encoder

The rotary encoder has a rubber wheel fitted, which reads the speed of the card as it is being swiped for writing. This allows the control logic to write the data to the stripe at the correct rate for the speed of the card. This allows the unit to write cards from 5-50 inches per second speed.
The Write head is directly behind the rubber pressure roller.

Read/Write Heads
Read/Write Heads

Here you can see the R/W head assembly. The write head is on the right, read on the left. When a card is written to, it immediately gets read by the second head for verification.

The drivers for this unit are also available here: Magcard Writer Drivers

Posted on Leave a comment

Cheap Ball Mouse

Mouse
Mouse

Cheap old style ball mouse. PS/2 interface.

Top Removed
Top Removed

Top removed from the mouse, the ball fits in the gap in the centre. The slotted discs are visible which contact the ball & move relative to the surface the mouse is on.

PCB
PCB

PCB removed from the shell. Pairs of IR LEDs & Phototransistors make rotary encoders with the slotted discs. The microswitches read the mouse buttons & wheel.
IC in the centre interfaces with the PC over a PS/2 connection.