M0AGX / LB9MG

Amateur radio and embedded systems

  • Making call graphs with GCC, egypt and cflow

    Call graphs are a visual way of showing relations between functions in a piece of code. They can be useful to analyze dependencies and to get basic understanding of a large, unfamiliar codebase. Tracing program flow can also help in finding bugs. I will use my antenna switch and rotator …

    Read more...

  • Antenna switch & rotator controller

    This is a two-in-one device. It can be set up to:

    • switch 7 antenna relays from a PC over USB or using transceiver band output
    • control an antenna rotator using buttons and LCD or from USB

    Assembled powered front PCB

    Hardware features

    • LCD 2x8
    • 5 buttons
    • USB
    • 8-15V DC power input (can also run …
    Read more...

  • Reliable storage of settings in EEPROM

    Embedded systems often require permanent storage of some configuration parameters eg. radio channel, volume in a radio etc. All settings must be saved and read reliably, otherwise the device may become unpredictable. Imagine a variable frequency drive (an "electric motor controller") set to a certain speed, that after a power …

    Read more...

  • Using XMEGA hardware CRC generator for CRC-16 CCITT

    CRCs are useful for checking if data received from outside or read from memory is not corrupted. This is especially important in embedded systems, as it could take just a single bit-flip to drastically change the configuration of the system. I needed to protect configuration structure of my new project …

    Read more...

  • AVR fuses for beginners

    Fuses in AVR microcontrollers have a bad reputation among beginners, because a wrong setting can lock you out of accessing the chip. With the right tools they are not scary. :)

    Fuses are just a special name for three bytes of EEPROM-like memory (they are not "conventional OTP" fuses at all …

    Read more...

  • Using OS X Time Machine with NFS

    Storing backups on NFS is not an officially supported by Apple but is quite easy to do.

    NFS server side

    The server can be any BSD or Linux. The first thing to do is to check the Unix user id on the Mac and NFS server (you can find it …

    Read more...

  • Youkits TJ5A

    The Youkits TJ5A is now my primary transceiver. I bought it with portable operation in mind (I do not have much space for decent antennas at home). Read more for high-resolution photos.

    tj5a_4

    Pros:

    • Very good filters (in terms of selectivity)
    • Built-in battery pack
    • 20W output power (peak SSB)
    • Robust construction …
    Read more...

  • MG-log for Android

    I released MG-log version 0.6 to Google Play store this week. It is now a quite practical app. I made my own log for Android, because I could not find a QSO logging app that would be easy to use during portable operation and not cluttered. A log for …

    Read more...

  • Serial port redirection from Windows to Linux with socat

    My work computer is a Windows machine running several virtual machines with Linux and FreeBSD via VirtualBox. A part of my work requires developing software that interacts with hardware. Most of the time I have successfully used VirtualBox USB filtering to redirect USB devices to the virtual machines but recently …

    Read more...

  • Gentoo on Banana Pi

    I like to use Gentoo for most of my tasks (except the smallest systems that run OpenWrt). I also wanted to have it on the Banana Pi. I did not find any specific manual for Gentoo and the Banana so I followed the standard, two-step installation manual for any architecture …

    Read more...