Posts

  • Side Projects, hobbies, and the next shiney thing

    Side Projects, hobbies, and the next shiny thing I’ve been reading Cal Newport’s Digital Minimalism, and it got me thinking about Side Projects, and hobbies in its context of “Digital Minimalism” Coming up with side projects and new cool ideas of things to try, seems to the be pretty straight-forward. Thankfully I work in an industry full of new an novel technologies and paradigms. There’s always something to learn and something that could be done...

    Read more...

  • Is Particle Physics in Apache Beam a terrible idea?

    Introduction I usually work with apache beam, for work so I thought I’d stretch it a little further and use it for something outside it’s wheel house and see how bad it would be and write a simple 2d particle simulation processed with apache beam. Why is this a bad idea? On a very cursory glance it seems like Beam handles parallelism for us, so it should be easy right? And it’s true, Beam is...

    Read more...

  • Dataflow performance improvements

    Introduction During my day job, I help a number of different organisations to build data warehouses on Google Cloud Platform, and one of the key products that make this possible at scale is Dataflow. Dataflow is a serverless product that allows for massive scaling for trivially parellisable problems, such as those typically found in ETL (Extract Transform and Load) applications. This allows the developer to focus on solving the business problem and delivering value, without...

    Read more...

  • Running WSJTX in a docker container

    Why? As part of creating the custom wspr spot server and building WSJTX from source I created a docker container that contained WSJTX build from source such that I could keep the version of WSJTX that I was build separate from the one that I had on my local machine, it also meant that once build I could use that version of WSJTX anywhere I had docker and not worry about missing dependencies. Building the...

    Read more...

  • Creating a Custom WSPR Spot Server

    WSPRNet is a great free service and resource for aggregating WSPR spot data. It provides archives of the data which can be downloaded and analysed, and I have done this to some success previously (see here and here). However one thing this approach lacks, is the ability to view and analyse spot data in real-time. The existing method is inherently limited to the schedule at which I can download the data from WSPRNet.org, which in...

    Read more...

  • Building WSJTX from Source on Ubuntu 18.10

    There a multiple steps for Building WSJTX from source (ie from the SourceForge Git Repository these can be summarised as follows: Install Build tools Install Build time dependencies Checkout HamLib Build modified HamLib Checkout WSJTX Build WSJTX Installing the build tools If you’ve build C++ and FORTRAN applications before, you can likely omit this step. Running it if you have already got everything installed won’t hurt either. sudo apt-get install -y build-essential gfortran autoconf automake...

    Read more...

  • DSD and the Rapsberry Pi

    This is a work in progress, and as such is more a journal of things that didn’t work I got DSD+ compiled without any issues, just following the instructions as George M1GEO did, however I did run into a couple of issues trying to decode anything and have been unsuccessful as of yet. The first was an error “Fatal unable to get cpu freq from /proc/cpuinfo” when running ‘dsd -a’ to list the audio devices...

    Read more...

  • Linux and Amateur Radio

    A few weeks ago I gave a talk at the Geelong Radio and Electronics society (http://qrz.com/VK3ANR) about the history of the Linux operating system and some the applications relate to amateur radio. In this short article, I aim to follow up on that talk and address some of the feedback I’ve received from the members by presenting some of the applications mentioned and how they can be installed. Most of the instructions here should work...

    Read more...

  • Raspberry Pi B+ Review

    Below is a review I wrote for the Geelong Radio and Electronics Society (VK3ANR) on the Raspberry Pi model B+ that was released earlier this year.   2 years ago, the Raspberry Pi foundation, launched the original Raspberry Pi Model B, a 700MHz ARM processor with 256MB of ram, USB, ethernet, HDMI and a whole host of other I/O and pins for good measure all in the area of a credit card. Since there have...

    Read more...

  • 2.2" ILI9340C TFT and the Raspberry Pi

    Introduction This page describes how I went about connecting a small 2.2” TFT display to the Raspberry Pi. This page is mainly for reference about what chip is in the display and what modules are required to make it work. The hardware The display is I purchases is a 2.2” Colour TFT with a resolution of 320x240. It is controlled with the ILI9340C LCD driver chip via the SPI bus and runs on 3.3v.  They...

    Read more...

  • Getting Started with the STM32F3 Discovery Board on Ubuntu 13.10

    On a whim I went out and added a STM32F3-Discovery Development board to a rs-online order. The board contains an STM32F303 ARM-Coretex M4 processor capable of ~70MHz and has four  5 MSPS ADCs, 12 Fast DACs, hardware DSP and FPU; making it an ideal candidate for building a software defined radio. Although before I could get to that I had to setup the tools needed to actually program the thing. Having never programmed an ARM...

    Read more...

  • AD9850 - 40MHZ DDS

    I recently purchased a small DDS board from ebay for $5 for use in a future project, I’d also seen on the internet a frequency counting library for the arduino and thought this the perfect time put the two together, just to see how they both worked.   The DDS takes a 40 bit configuration word, which sets both the frequency and the phase, this can either be clocked in serially, or a 5 8...

    Read more...

  • RTL-SDR on the Raspberry PI

    Intro: A while ago I decided to venture into the world of Ham Radio. Under the advice of   George I went out a purchased a cheap DVB USB dongle to use as a Software Defined Radio (SDR). I had thought about using it with the Raspberry Pi I bought a while ago. How? The software was pretty straight forward to setup, here are my instructions from a fresh install of the Raspbian distribution: Only two...

    Read more...

  • ADS-B

    Introduction Having bought an RTL-SDR compatible dongle recently I thought I could see what I could make it do. So one for the first things I did successfully was tracking planes using ADS-B. ADS-B or Automatic Dependant Surveillance Broadcast (http://en.wikipedia.org/wiki/Automatic_dependent_surveillance-broadcast) is used to track Aircraft, each plane is fitted with a transmitter which broadcasts its position, heading, altitude, identification and a number of other things on 1090MHz. ## Windows I first made it work quite...

    Read more...

  • Raspberry PI - USB Hub error

    When playing with the raspberry Pi I noticed a couple of oddities. If I have a mouse and keyboard plugged into a usb hub the ethernet goes very slowly and as soon as X is run pretty much becomes unusable, filling the kernel messages with: [ 2354.487491] smsc95xx 1-1.1:1.0: eth0: Failed to read register index 0x00000114 [ 2354.487530] smsc95xx 1-1.1:1.0: eth0: MII is busy in smsc95xx\_mdio\_read [ 2359.487451] smsc95xx 1-1.1:1.0: eth0: Failed to read register...

    Read more...

  • 4 digit 7 Segment LED Display

    After acquiring a large ( 26cm x 13cm) 4 digit 7 segment display, from George (M1GEO) and not wanting to unpack I set about making it work under linux. The board contains a SAA1064 - an I2c 4 digit 7 segement display driver chip. Ideal for connecting to my bus pirate. After much stumbling around and trial and error I managed to get it to light each segment. The notable points(errors) were:   I2C is...

    Read more...

  • GPS Disciplined Direct Digital Synthesisor

    Below is some code I cobbled together to produce GPS lock a Silicon Labs DDS. This was inspired by a need George M1GEO had for a frequency stable DDS. This work is a derivative of the code found here, and adapted to suit our needs and the DDS we had to hand. #include <Wire.h> #include <si5351.h> #include <avr/interrupt.h> #include <avr/io.h> // Set up MCU pins #define ppsPin 2 #define Resolution 6 #define Offset A2 unsigned...

    Read more...

  • Raspberry Pi

    I recently received my Raspberry PI from RS a few weeks ago. Here I plan to document the oddities and things I learn. If only such that I can look them up when I forget. I can wholly recommend the case sold by these guys it  fits perfectly. If you plan to have your root FS on a USB harddrive, you need to upgrade the firmware, either using the tool by hexxeh using his awesome util...

    Read more...