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 when it is being saved and read from EEPROM. To make sure that the data I read from EEPROM is exactly what I have written I decided to use CRC-16 CCITT across the whole structure.
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) that set the most low-level features of an AVR like:
Continue reading “AVR fuses for beginners”
Storing backups on NFS is not an officially supported by Apple, but is quite easy to do.
Continue reading “Using OS X Time Machine with NFS”
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.
Continue reading “Youkits TJ5A”
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 me must be build of several text fields, a decent database backend and some GUI-glue. Logging should be as easy as typing the callsign, report, optionally QTH, some remarks and pressing enter at the end.
Continue reading “MG-log 0.6 for Android”
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 I got a USB device (CDC-ACM class) that refused to be forwarded to the VM.
Continue reading “Serial port redirection from Windows to Linux with socat”
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:
- Extract a stage 3 tarball to the medium that will be the rootfs
- Try booting the kernel into it
RRDtool is both a database and a graphing tool that is well-suited to visualize time-varying data like temperature, pressure and all kinds of telemetry.
There are many tutorials available, but they dig too much into the details (like the official one). Since I use RRDtool only for storing and graphing telemetry data I will explain how to do it the easy way.
I use RRDtool for graphing many sources of data, like my small solar system:
Continue reading “RRDtool – quick tutorial”
The Banana Pi is a great alternative to the well-known Raspberry Pi. It is not a clone, nor a knock-off, rather a completely different, open single-board computer of a very similar size and good price. Most important features (compared to Raspi) to me are the 3 UARTs (one for the serial console, two free eg. for a GPS, the Raspi has only one in total) and a power management chip with battery charger.
Continue reading “Banana Pi on battery power”
I have recently bought a BananaPi with the intent of making a automotive datalogger. I needed a simple power supply that would work reliably in my car. I found some nice looking modules in “The Thick Electronic” store on Aliexpress.
Continue reading “Small, cheap power supply modules from Aliexpress”