Saturday, March 30, 2013

Raspberri Pi as a WSPR beacon

I've been trying out the threeme3/WsprryPi source that cleverly turns a Raspberry Pi into a little WSPR beacon. It really works! Here's my in-house big power transmitting station:


Here's the command line I used to transmit, pause twice, and transmit:


So, note that the arguments to ./wspr are call locator dBm freq freq freq...

To pause you put a zero for a frequency. And here's how it looks on a local WSPR receiver:


While there is some spurious signals there, it's basically quite stable and on time (that last one ended early because I killed it).

Mine was 1.4KHz below frequency and to get it close to 14,097100 (mid wspr band) I had to tell it to transmit on 14,095700.

Later when band conditions improve I'll connect it to an antenna and see how we go.

Friday, March 29, 2013

Converted to Cocoapods

Went to an excellent Sydney CocoaHeads meeting last week where Mark Aufflick explained and demonstrated CocoaPods. I have now "seen the light" and am using them extensively.

Years ago, I used Perl as my scripting language of choice, the language was similar enough to C, had regular expressions built right in and didn't need a compile tool chain to run. The greatest thing about Perl wasn't the language but the amazing library of modules people had written to do just about anything, this library, called CPAN could be searched and installed from the command line.

CPAN has 119,767 modules, which is overwhelming but means that anything you need to do has probably been done and packaged up pretty well.

When I "saw the light" and moved to Python (thanks Alastair!), it eventually got a similar system called PyPi with just 29,430 packages. Then again, python has batteries included so there's a lot of stuff built right in.

CocoaPods is built on top of Git. There is a GitHub repository of specs that tell the tool where to get the files for each library. There are 1,277 pods so far. I won't reproduce the getting started guide here, but suffice to say, it's simple. You add a Podfile to your project directory and it brings in the source and adds it to your xcode project. Here's a Podfile for one of my projects:


platform :ios
pod 'MBProgressHUD', '~>0.6'
pod 'Facebook-iOS-SDK', '~>3.2'
pod 'FlurrySDK', '~>4.1'


The first thing I've noticed is that many of my projects had old versions of the Facebook, and Flurry SDKs and cocoaPods quickly fixed that.

I was worried about ending up with projects with external dependencies being left in our source code repository, but the solution to that is to add your Pods directory so the last source is always available even if the pod goes away in the future.

Sunday, March 24, 2013

iOS face detection

While playing around drawing text over images that ended up looking bad because the faces would be obscured, I had the idea of trying to find faces and then avoid them.

You can see the end result on the right. The software finds faces in the image and gives you a box that contains the features. I make a green box that encloses all of the faces. Finally I find the largest area between the edge of the enclosing box and the edge of the image and use that to place the text.

The code on iOS is incredibly simple, (although being cocoa the words get rather long).


The resulting array of features objects have a .bounds CGRect that is the location of the face.

NSDictionary *detectorOptions = [[NSDictionary alloc] initWithObjectsAndKeys:CIDetectorAccuracyLow, CIDetectorAccuracy, nil];

CIDetector *faceDetector = [CIDetector detectorOfType:CIDetectorTypeFace context:nil options:detectorOptions];

CIImage *ciImage = [[CIImage alloc] initWithImage:image];
NSDictionary *imageOptions = @{CIDetectorImageOrientation: @(1),
                                   CIDetectorAccuracyHigh: @(1)};
    
NSArray *features = [faceDetector featuresInImage:ciImage options:imageOptions];

The face detector needs a full face, it doesn't recognise heads turned to the side so that one eye is gone but interestingly it does detect a few cartoon characters.


It's very fast and can even be passably used on video - I guess the code is in there for the face detection in the camera. CIDetector has only one concrete sub-class but I wonder how hard it would be to implement detectors for other things?

Saturday, March 23, 2013

On News24 this morning

I was asked to comment on the inquiry into IT pricing which is under way in Australia at the moment on ABC News24 this morning.


Being a fairly experienced radio pundit, I've developed some habits that need to be avoided when on screen. (Like reading my notes and slouching while talking). ABC News24 is an impressive setup with a surprisingly small number of people producing a 24 hour news service.


The studio has remote controlled cameras "robot cameras" they call them. Everyone is very professional and nice. I brought my daughter along and she took the photo above from the control room. She had a great time and reflected on how a regular viewer of TV doesn't really understand what goes in to that smooth presentation we're used to.

My actual job is iOS programming but hopefully I do a passable job at technology analysis, including on TV.

Wednesday, March 20, 2013

Samsung Chromebook Australia review

The long-awaited ARM based Samsung Chromebook finally appeared in local stores yesterday. I rushed to hand over $346 to try one out.


It's hard not to compare this device with an 11" MacBook Air, but that's unfair as it's a third of the price. For this money, it is excellent value. The keyboard is full size, rather Mac like (see there I go). The screen is the same resolution as an 11" Air but not quite as bright.


The keyboard has a huge "alt" key oddly and caps lock is a search button - rather like the Windows key on a linux box. Happily the track pad supports two-finger scrolling and even mac natural mode. (They call it "Australian" scrolling for some reason).

Boot and shut down is very fast so I tend to turn it off rather than sleeping it. They say the battery life is 6.5 hours but mine doesn't quite indicate that much at this stage - perhaps it's a calibration issue. (Update: now it says 7.5 hours)


Speaking of power, one hardware criticism I have is that the DC charge plug is really thin and seems like it might break if pulled the wrong way. (No Magsafe here).


I have read, but not confirmed, that it takes 12V which means this might be a good laptop for use on a 12V supply like in my solar powered shack.

Being ARM processor based and using a 16GB SSD, this device has no moving parts such as fan or disk. You can plug in an SD card, but it's not designed to be left in and sticks out.


I tend to live in Google's cloud world, being a GMail and Docs user so this works well for me but I do miss a few apps starting with DropBox and Skype. This is a great device for sharing on the living room couch where you want a keyboard, perhaps for doing some writing or replying to email. I imagine they might will be attractive to business or education where they've gone to Google Apps.

It can work off line after initial set up and syncing of recent documents in Google Drive.

The only problem I've had so far is with Wifi - it works brilliantly on my home WPA2 network but I cannot get it to connect to the office PEAP MSCHAPv2 authentication network and I did have quite a bit of difficulty getting it to see my iPhone personal hotspot on the bus. It seems I'm not alone with the enterprise connection problems.

JB HiFi and Harvey Norman are stocking these but only the largest stores so far.

Hacking update

I've now enabled developer mode, which gives you another virtual console with access to a root shell. (There is a built in console normally accessible with ctrl-alt-T but it's very limited and just enough to look at top and ssh out).

I did install Ubuntu on an 8GB SD card which turned out to be extremely slow, probably because of my card, but also the track pad is very annoying to use so I've given up on that approach for now.

Tuesday, March 19, 2013

Home Brew Group net - with a special guest

It was the ARNSW Home Brew Group radio net tonight and it was a great pleasure to hear Peter, VK3YE, on 7.159MHz 5 and 7 running a home brew SSB rig about the size of a house brick.

In the end John VK2ASU faded out for me although, as is the way with HF sometimes, Peter who is some 800Km away was still quite readable.

I thanked Peter for all his contributions to AR in recent times and complimented him on his very readable audio here in Sydney even though he's only running 3W.

Saturday, March 16, 2013

Should app developers target Android first?


As a mobile app developer specialising in iOS I get a lot of comments from Android users to the effect that as there are now more android devices in the market than iOS devices, apps should be made for Android first or at least made for both at once.

There is no doubt that there are now more Android devices in the market. But does that mean that the extra effort (yes really) is worth it in terms of the usage an app would get?

How big is the "Android" target market?

Android is a fragmented market. Not only are there many screen and resolution sizes, there are many versions and not all are easy to develop for. In fact it only makes sense to develop for version 4.1 and later if you need to use modern features. This chart from Google illustrates that the actual interesting Android market is quite small. (These are from March 2013).




Not only are there many different screen sizes, each manufacturer supports different hardware features, and most importantly for media app makers, different streaming capabilities, so we need to choose the most popular devices to target. OpenSignal published a nice breakdown last year:


Happily, one is very dominant, the big green block is is the Samsung Galaxy SII followed by another Samsung and the HTC desire HD. So maybe we should go for the top three?

Note that we only target a few of the iOS devices out there. Xcode only builds for iOS 5.1 and later and there are really only three phone screens: 3.5", 3.5" retina and 4" retina plus two tablet sizes.

If I make an app for Android will they use it?

iOS users browse the web twice as much as Android users according to NetMarketShare:

This is hard to explain as Chrome and mobile Safari are pretty much the same.

If you are trying to make money, Android users are even less "engaged" than their iOS counterparts. Asymco published stats last year showing online shopping by OS.


So despite being dominant in numbers, Android shoppers are 21% compared to 77% for iOS. 

Even simple paid web browsing on flights as reported by GoGo shows a similar ratios:


App Annie shows that App store revenues for Apps in the Google Play store are rising but iOS is still four times that of the most "popular" devices.


Does it cost the same to develop for Android as iOS?

I am reliably informed by people who have commissioned Android versions of iOS apps that it costs 30% more to make an Android version than the iOS version. This could be because they are targeting too many Android devices or it could be that the Android SDK is not as mature as the iOS SDK and takes more effort to implement the same features.

I'm also told that there's more money in Android development, presumably a greater demand for those skills and a smaller supply of developers - so perhaps the developers are being paid more thus pushing up the cost.

Draft conclusion

I would love to see every app developed for every device, that includes iOS, Android, Windows Phone, Blackberry, Symbian, Ubuntu, Firefox and more, but resources are limited.

When evaluating Android for the first target compared to iOS I think about [proportion of v1.4+] * [proportion of Samsung GSII and HTC] * [usage of device] * [willingness to pay]. (Reminds me of the Drake equation).

The result is very small compared to iOS at the moment.

Why don't Android owners use their devices, and why do they complain so bitterly?

Android devices are generally cheaper than Apple devices. If you are not prepared to pay a few dollars more for the device, presumably you are not interested in paying for Apps. 

Feature phones, for people who just want to make calls and maybe send a text, have now disappeared and have been replaced by low end (old OS version) Android phones, so a proportion of the market have devices that have features they never really wanted.

My theory on complaints is that many consumers see an iPhone running apps and decide they want one. Those who don't go directly to an Apple store are met at a phone shop by sales staff who get a higher commission for selling Android phones so they tell the customer to buy this one as it's cheaper and "the same".

When these users start looking for apps beyond Facebook and Twitter they find that the pickings are slim. They're angry (with themselves) for falling for the sales talk and figure that abusing the developers for not porting to their cheaper phone is the most likely way to get what they want. (This post is my answer to that enquiry).

Cross platform development?

There are a lot of cross platform development toolkits. I think if it's possible to do something as a web app then it should be done that way so that it will be available on everything with a modern browser. But users like native apps for their responsiveness and robustness in an unreliable network environment. Facebook is a good example of this.

Cross platform development is always a compromise, it must abstract away the platform and often ends up being a lowest common denominator set of features. Users don't like apps that feel alien on their device.

I think the ideal approach, if funds were available, would be to have a team with a UX designer, graphic designer and specialist developers for each platform who can provide the "love" and focus to make an app that uses the features of each platform.

There is no silver bullet so far.

Apple needs competition

Don't misunderstand me, I want strong competition for Apple. It keeps them focussed and moving forward. I've spent much of my working life developing for platforms other than Windows and I know what it's like to miss out on Applications.

Apple has had amazing success in recent years making phones and tablets that non-computer nerds can learn to use in minutes. Apple is not targeting technical users in iOS and that group will be looking elsewhere for highly customisable devices. Fair enough.

I don't want Apple to "do a Microsoft" and start adding every feature they can think of - making the OS complex and confusing. 

The proposition that Android is the first choice for developers right now is not correct in my opinion.

I welcome your feedback.

Friday, March 08, 2013

Helping each other with StackOverflow and github

There was a story this week about programmers getting half their documentation from StackOverflow. It's certainly true for me, I'm there many times a day and often a search for whatever programming problem is confounding me ends up there. I do try to answer questions when I can on StackOverflow but it's very unbalanced so far.

The other site I get help from is github where people share code. I'm happy to report that at the prompting of a friend, I've contributed my first snippet of code to github.


It's a minimal iOS project that illustrates a way to make an iPhone app with a side menu - like Facebook and many other apps do these days. It does this by making a View Controller Container.

Let me know if you see any bugs or can improve it, or, as they say - "fork me on github".

Friday, March 01, 2013

Try the ABC Vegie Guide iPhone app - just out

I'm excited to announce that an app I've been working on in recent months is now in the Australian Apple App store.

Vegie Guide includes great wisdom from the popular ABC Gardening Australia team.

Getting an app to this point is a team effort, combining the skills of content authors, artists, user experience designers and a touch of engineering (my bit).

The app looks at your location and the time of year and recommends the best plants to plant. Once planted you can record progress in the form of notes and photos. As well as a plant encyclopaedia there are useful fact sheets to read.

I hope you'll try the app (it's free) and tell your friends about it. Please let us know what you think.

Sunday, February 24, 2013

Wyong field day 2013 - quiet but entertaining

It was a pleasure as always to make the drive from Sydney to Wyong for the annual ham radio field day. As always, the NSW home brew group had a great display of home built equipment.


Modern equipment was on show.


I caught up with old friends, that's John and John, the one on the left is the station announcement voice on the ARNSW WIA Sunday broadcasts.


Software defined radio continues to be actively used and developed.


It was great to catch up with everyone.


Unfortunately, the dire weather predictions the day before frightened off the majority of car boot sales and attendees. My thanks to the organisers and the tea and cubes of cheese were fantastic as always.

Saturday, February 23, 2013

Install Ask toolbar - are you kidding Oracle?

Every time my Windows computer upgrades Java - which is getting rather frequent and reducing my faith in that virtual machine as being safe - they try to push the Ask toolbar on me.


Now that we know that Twitter, Facebook and Apple have all been hacked through the vector of Java I think it's time to let this thing go. Having the updater attempt to install malware each time (and often tricking even me into it) just diminishes the Oracle brand. Stop it.

Sunday, January 27, 2013

FreeDV codec2 presentation to Home Brew Group

Today at the ARNSW Home brew group, I presented a talk about FreeDV and codec2. Feeling unqualified to talk about how codec2 works, I wrote to David Rowe - the author of codec2 and last week we met up in Sydney where I interviewed David on video and that conversation is included in my talk.


Codec2 is an exciting new low bit rate voice codec that is open source. It is particularly suitable for digital voice over HF radio.

Thanks to Peter, VK2EMU for asking me to speak, John, VK2ASU for videoing the talk, and of course to David Rowe for taking the time to answer our questions on codec2.

Here's just the interview with David without my prattling on before and after:

Sunday, January 20, 2013

Ham radio software on MacOS - try wine

MacOS users sometimes feel like second class citizens with so much great Ham Radio software for Windows and increasingly Linux. But I've found that many of the Windows versions of programs work brilliantly under the Wine windows api emulator. Here's WSPR for windows:


WSPR shows that audio in and out works well. One thing to note is that you run the installer and then must run the installed program which ends up at ~/.wine/drive_c/Program\ Files/WSPR/wspr.exe so I run it by:

  • cd ~/.wine/drive_c/Program\ Files/WSPR/
  • wine wspr.exe


Here's FreeDV receiving:



Here's me transmitting using the display microphone:


Audio actually works a little better than under real Windows where I'm unable to mix USB and on board audio. MacOS seems to have better built-in audio support. FreeDV is simply downloaded as a zip archive of a directory containing the exe and some shared libraries.

WSPRX unfortunately doesn't run by the way.

Building Wine

Windows are displayed using XWindows and for that you need to install XQuartz.

To install wine I recommend homebrew. I'm on MacOSX Mountain Lion and the build gets a link error and I needed to do this:
  • brew update
  • brew doctor # which reports that all is well, if not take advice
  • brew rm libpng
  • brew install libpng --universal
  • brew install wine
So, great work by the wine and hombrew folks.

MacOS X users are not really short of Ham Radio Software

My opening remark gives the wrong impression, there's actually great Ham Radio software for MacOS these days. Machamradio has a great list.

Sunday, January 06, 2013

ARNSW Sunday broadcast via digital voice

This morning VK2JI relayed the Sunday broadcast via digital voice using freeDV. Here's how I received the signal on 7190 from the Central Coast of NSW (I'm in Sydney).


Earlier in the broadcast:


Here's a screen shot.


There is discussion of all this on the digitalvoice google group.

Here is Ed's video of the transmit setup.

Thursday, January 03, 2013

Upgraded to Bigpond Extreme, getting 80Mbps

We aren't on the three year plan for the NBN so I decided to go ahead and upgrade our cable internet to Bigpond Extreme.

Here is how it was before according to speedtest:


And here's how it is now:


So, oddly, ping time is slightly worse from 6ms to 9ms, but download speed is noticeably better going from 26Mbps to 80Mbsp. The experience of loading a web page is very nice indeed.

We no longer have a land line so we pay $110 per month and get 200GB of data. Incidentally, we've just installed a Skype phone - one that doesn't need a computer - and it seems to work very well.

Tuesday, January 01, 2013

Running a temporary syslog server

I'm trying to connect a SIP VOIP device VK2ASU kindly passed me to pennytel but it won't register with them. The device's web interface doesn't give much information but it does have the option to send logs to a syslog server on your network. I've figured out a very simple way to run up a server for temporary use using netcat.


$ sudo nc -ul 514
Password:
<13>[SIP]  | NOTICE | allocating transaction ressource 119 19277552-0131122292
<13>[SIP]  | NOTICE | allocating NICT context
<12>[SIP]  | WARNING| info: Name resolution requested.
<12>[SIP]  | WARNING| Doing asynchronous name resolution.
<14>[SIP]  | INFO   | MESSAGE REC. CALLID:19277552-0131122292
<12>[SIP]  | WARNING| OnEvent_New_Incoming4xxResponse!
<12>[SIP]  | WARNING| User need to authenticate to REGISTER!
<13>[SIP]  | NOTICE | allocating transaction ressource 120 19277552-0131122292
<13>[SIP]  | NOTICE | allocating NICT context
<12>[SIP]  | WARNING| info: Name resolution requested.
<12>[SIP]  | WARNING| Doing asynchronous name resolution.

This gets nc to listen to UDP on port 514 and it displays whatever comes in.

Sunday, December 30, 2012

Homebrew hangout

I've just participated in a Google hangout with a buch of homebrewers around the globe using Google's amazing Hangout video conferencing. Thanks Jason Mildrum, NT7S, for organising it.


Participants were on Linux, Windows, MacOS and iOS. There is a bit of confusion caused by Google's display of the time of the hangout in the zone of the organiser so for me it kind of looked like I'd missed it.

It seems like there is a limit of ten video participants but we think you can have ten sending video but many more if they are just viewers. More experimentation is needed.

The only other issue was echo from people who had their sound on a local speaker, we think that is due to the latency inherent in a global conference call. I think headphones are a must.

It was great to meet everyone and talk about projects. We discussed Antennas, arduinos, Raspberry Pi, making PCBs with a CNC, Beach 40, and got a tour of a station.

Thanks to Jason for organising this, can't wait for the next one.

Thursday, December 27, 2012

Preserving our digital photographs


Holiday season is family photo season and now that we’ve transitioned from film to digital photography the number of pictures we take is at an all time high. But while our family albums often have pictures taken a century ago, it’s likely that the current crop of snaps will be irretrievable in just a decade, unless we work to preserve them.

The oldest surviving photograph, taken in 1826 by French inventor Joseph Nicéphore Niépce, titled “View from the Window at Le Gras” is still visible today while the ink jet prints on my fridge from 2005 are badly faded.

Niépce covered a pewter plate in lavender oil containing dissolved bitumen and exposed it for eight hours to the sunlit scene outside. The exposed bitumen hardened and the rest was washed off to leave a permanent image.

Photography has got progressively easier since then, including Kodak launching the brownie in 1900 with the slogan “you push the button, and we do the rest”. Later mass market innovations included 35mm cartridges and instamatic cassettes (although I never liked them).

Film based photography peaked in 2000 at 85 billion photos (this estimate is based on the global use of silver in the process) but this year, now that we’re digital and don’t run out of film, it’s estimated to hit 380 billion pictures. (Whether this four-fold increase in snapping actually produces any better images is debatable).

The largest single archive of current images is Facebook who noted that they had 219 billion images as at September 2012.

From the time I was in my teens, until about two years ago, I selected the best images from each roll and glued them in a series of albums. Recently I find I’m showing images to family and friends via Instagram, Twitter and Facebook. My album series has ended and I fear that my digital image narrative my have ended too.

Often it is the images that capture the ordinary, the view of the kitchen bench, the junk near the TV, rather than the false smiling relatives that are the most rewarding in retrospect. But being able to keep everything is a double-edged sword.

My digital archival storage plan


While digital storage is reliable it is ironically brittle. I’ve used and thrown out: punch cards, data cassettes, eight inch floppies, 3.5 inch floppies, zip disks and CD ROMs will be next in line.

My Aperture library, containing all my serious (RAW) images for the past few years is under 90 Gigabytes. Many other images have been posted directly to Instagram and only survive in 612 square pixel format.

When much loved Panda the cat died recently after keeping us company for fourteen years, I realised how few images remain.

I have images all over the internet, on Google Picassa, Yahoo Flickr, DeviantART, MySpace, and MobileMe. The last ones, on MobileMe web albums were deleted when Apple closed it down earlier this year. Yes they gave me plenty of warning, but no, I never got around to looking at them or saving them.

Paying for online image storage provides some assurance that they’ll make an effort to contact you before disappearing. The act of renewing the payment details every few years also serves as a reminder. It’s not expensive, Google charges $5 per month for 100GB of storage, Yahoo charges $25 per year for “unlimited” storage - although I’m always a little suspect of unlimited things.

Hard disks get cheaper very fast and currently a terabyte drive is about $100 so a good plan is to purchase a new one each year and copy over the whole archive from last year’s disk plus all the new images. The act of re-copying, plus keeping a few past years disks provides some redundancy in case of mechanical failure.

Apple has photo stream and iCloud but at the time of writing I’ve seen enough weirdness to not trust their cloud services just yet. (Jobs should have purchased DropBox).

The answer for me is a combination of the annually refreshed external hard disks plus some online storage (in case the whole house goes up).

I’ve also started printing out a few pictures and the bound books from Apple and others are a nice update to the glued albums I used to keep.

More pictures are being taken than ever before but I don’t think they’re better. Sometimes I like to use a camera that slows me down and doesn’t track the faces automagically. My new years resolution is to take fewer, better pictures and make an effort not to lose them in a disk crash.

I discussed this topic with John Doyle on ABC RN Breakfast this week.

Saturday, December 22, 2012

Correspondence with planning minister Brad Hazzard about ham radio antennas

I wrote the following letter to the NSW planning minister, Brad Hazzard on 18 November 2012:


The Hon. Brad Hazzard, MP
P O Box 405
Dee Why NSW 2099



Dear Mr Hazzard,

I am a member of your electorate and a licensed ham radio operator, VK2TPM.

I’ve recently heard that your new planning system for NSW does not include the streamlining of approvals for the antennas that we ham radio operators need to put up to pursue our hobby.

The antennas that most of us put up are no more unsightly than TV antennas and much less unsightly than many of the tall masts which are common in suburbs on the northern beaches. Further, I find the power poles and lines, along with the low hanging cable TV and internet wires, to be much more unsightly than the occasional ham radio antenna that my colleagues put up.

Ham radio is a wonderful hobby and serves an important public service in times of disaster when conventional communications is unavailable. 

Specifically, what I’d like to see is:
  • Ground mounted radio masts or antennas of up to 10m height (or 5m above a roof if attached to a building) be exempt from a development application.
  • Masts up to 15m should only require a simplifying permit based on given standards.
Victoria and South Australia have regulations like this. Can you explain to me why we can’t match this in NSW?

If I can be of any further assistance, or you’d like to visit my ham radio shack for a cup of tea, you’d be most welcome.



Sincerely,


Peter Marks

He replied:

17 Dec 2012

Dear Mr Marks

I refer to your letter concerning the construction of radio antennas without the need for
approval, as exempt development.

I would like to acknowledge the valuable work performed by amateur radio operators in
transmitting vital information during natural disasters and other emergencies when
traditional infrastructure fails.

Provisions of State Environmental Planning Policy (Exempt and Complying Development
Codes) 2008 (Codes SEPP) allow antennas and aerials to be erected on most lots in
NSW to a height of 1.8m above the highest point of the roof on a dwelling. This includes
aerials and antennas which may be erected at ground level such as those used by
amateur radio operators. In situations where there is a two storey dwelling, this allows for
the erection of an aerial or antenna that is around 10m high.

These standards are designed to balance the rights of owners to erect these structures
which are suitable to the scale of existing buildings, while minimising visual and other
impacts on adjoining neighbours.

I note your reference to the approval and location of traditional infrastructure and the
impacts they have on amenity. The erection and development of power poles and lines as
well as cable TV and Internet wires is governed by other legislation, including the
Telecommunications Act 1979, administered by the Commonwealth Government.

Amendments to the Codes SEPP have recently been exhibited for public comment.
Amateur radio operators raised concerns regarding the Codes SEPP and the ability to
erect radio masts and antennas. Each submission is currently being reviewed and I have
asked the Department of Planning and Infrastructure to pay particular attention to the
concerns yo rail- in finalising the SEPP amendment.

Should you have any further enquiries about this matter, I have arranged for Mr Michael
File, Acting Executive Director, Assessment Systems of the Department of Planning and
Infrastructure, to asist. Mr File can be contacted on telephone number 02 9228 6407.

Yours sincerely

HON BRAD HAZZARD MP
Minister

Wednesday, December 19, 2012

Codec2 and modem on a raspberry pi?

Encouraged by early success with FreeDV digital voice with codec2 it occurs to me that a great project would be to build the equivalent of these AOR digital voice modems. Looks like they sell for US$449 so to build something functionally equivalent based on a $38 Raspberry Pi is very attractive.

There's an interesting thread on the codec2 mailing list about running codec2 on a raspberry pi.

I imagine AOR are not too pleased about this prospect - if they are watching the road ahead, they would be working to build codec2 right in and they will pick up a potentially interesting early adopter market.

Looks like I'm not alone and ON1ARF is already working on this. Although he's using a pandaboard for decoding at this point.

We are at a fascinating time in Amateur Radio.

Update - audio on Raspberry Pi

Downloading and installing codec2 on the raspberry pi couldn't be simpler:

  • sudo apt-get install subversion
  • svn co https://freetel.svn.sourceforge.net/svnroot/freetel/codec2-dev codec2-dev
  • cd codec2-dev
  • ./configure
  • make
To get the play utility, install sox:
  • sudo apt-get sox

The test that encodes and then decodes out to the rpi's built-in audio works great:
  • cd src
  • ./c2enc 1400 ../raw/hts1a.raw - | ./c2dec 1400 - - | play -t raw -r 8000 -s -2 -
Next step, where I'm a bit stuck at the moment, is to record audio from an external USB headset. I plugged it in and you can list devices as follows:
  • arecord --list-pcms
My USB Headset is a little Sennheiser one, so I get:

$ arecord --list-pcms
null
    Discard all samples (playback) or generate zero samples (capture)
sysdefault:CARD=headset
    Sennheiser USB headset, USB Audio
    Default Audio Device
front:CARD=headset,DEV=0
    Sennheiser USB headset, USB Audio
    Front speakers
surround40:CARD=headset,DEV=0
    Sennheiser USB headset, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=headset,DEV=0
    Sennheiser USB headset, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=headset,DEV=0
    Sennheiser USB headset, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=headset,DEV=0
    Sennheiser USB headset, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=headset,DEV=0
    Sennheiser USB headset, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=headset,DEV=0
    Sennheiser USB headset, USB Audio
    IEC958 (S/PDIF) Digital Audio Output


Copy the device name from the list above and use it in arecord and aplay below. To record 10 seconds of audio from the USB headset:

  • arecord -D sysdefault:CARD=headset -d 10 test.wav
To play that back to the USB headset:
  • aplay -D sysdefault:CARD=headset test.wav
I can hear my voice but it sounds terrible. It would be an abuse of codec2 to use it as input. Any tips would be appreciated!


Saturday, December 15, 2012

First HF Digital Voice contact with codec2 and FreeDV

I'm very excited to report that I've had two digital voice contacts on HF using FreeDV which runs codec2 by David Rowe. (There's also a very active digital voice Google Group).
Here's how Patrick VK2PN looks to me running 5W.


This mode uses about half what a sideband radio would use and is perfectly intelligible when it's working. The other bonus with a digital mode is the complete lack of background noise.

Here's how I look to Patrick on his panadapter:



Patrick has written up our contact from his side on his blog.

FreeDV is very easy to get going on Windows, I had a go at building it for Ubuntu Linux but ran into a few bumps in the road.

Here's a video from my end where you'll hear how Patrick sounds to me as we both reduce power.


After the contact with VK2PN I was also able to talk with Graeme, VK4CAG pretty well.

So, this is an extounding day! Great work by David Rowe and all those involved. It's fantastic to have a good quality low bit rate voice codec that is public domain. This is a great thing for Ham Radio and I would think will have reverberations through the voice over IP business as well.

Update - FreeDV under Wine

Stephen, VK2BLQ, has just pointed out that FreeDV seems to run well under Wine on Linux.


Update - FreeDV now builds on Ubuntu 12.10

The latest code from subversion now builds smoothly on Ubuntu 12.10 but for me the audio stutters for some reason so I'm still using the Windows version under Wine. I just heard VK4BD on 14.236 but couldn't decode more than the call sign.

Update - FreeDV on MacOS via wine

FreeDV appears to run ok on MacOS under wine but again I'm hearing audio stuttering. It looks pretty good though:


I installed wine with brew. Note that to get it installed you need to do the following:

  • brew rm libpng
  • brew install libpng --universal
  • brew install wine
Then you cd to the directory with freed-windows and wine freed.exe



Tuesday, December 04, 2012

Current project - the "Beach 40" DSB transceiver

Peter, VK3YE, is an inspirational home brew designer and constructor. In a series of YouTube videos he demonstrates and then walks through the design of a simple double side band transmit, direct conversion receive, transceiver he calls the "Beach 40".

The minimalist QRP Transceiver group has drawn the circuit up (in the files section).

I started construction over the weekend but my oscillator didn't.


I'm using the "manhattan" or "paddy board" construction technique using bits of PCB cut with tin snips and superglued on to the base board as insulating islands. It's not as compact as "ugly" construction but the circuit is more obvious and it's very low profile. I'm thinking of stacking boards one above the other in the final box.

After some tips on non-starting oscillators from VK2ASU and VK2BLQ (who's also building one), I put a variable capacitor in place of the 390pF in the Colpitts oscillator and it started.


Peter's design has evolved through the YouTube video series, mostly in the receive audio switch to an LM386 but I am attracted to the all discrete transistor version if it can be made to work. It's much quieter in my shed than it is on Elsternwick beach.

Update

Stephen, VK2BLQ, is also building and it's looking good (click to embiggen):


His CRO is much fancier than mine but I'm a bit suspicious of that waveform from modulation of a 1kHz tone on 7144kHz:


VK2BLQ is powering ahead of me:


But I own Saturday....

Update. Does this look right?

I'm still on the balanced mixer. I'm feeding in a 2.2V peak to peak 1kHz tone and here's the modulated RF output I get.


Seems very low level and somewhat non-symetrical. The variable resistor changes it but the trimmer capacitor has very little effect.

Stephen is powering ahead and now can transmit, here's his latest work (I wish mine was as good).


Stephen writes "Hi Peter, seems to be real QRP final current less than 250mA can't read any power
on  the meter.

As can be seen on the CRO, the PEP is 20v p-p which is about 250mW or 1 watt if it were CW. I think the final transistor  is not right. It is  a CB radio final and should be good for 4W. Time to cook dinner and have a look later"



Update - My power strip

Like Stephen, I'm getting 20V p-p or 1W out which seems a little disappointing.


Don't worry I will find some heat sinks. Here's a top view:



Sunday, November 25, 2012

Software Defined Radio talks

Today at the ARNSW Home Brew Group, we had two talks on Software Defined Radio, one dealing with VHF and up, the other on HF. First here's Gary, VK2KYP, who kindly gave me permission to post this video. Gary has previously purchased a FunCube dongle but finds a $20 DVB tuner works pretty well and is great value.



And here's Stephen, VK2BLQ, on HF SDR: