I hope you enjoy this repository of my various projects and ideas. Thanks for looking, Joe.





Mini Home Theater PC

In order to fill my need to endlessly tinker and upgrade my HTPC, I decided to build a new system using one of Intel's Haswell CPUs. These are not only faster and more power efficient than past models, they also feature much improved graphics capability. I also decided to switch to external hard drive storage since USB 3.0 is not only well supported in Linux, it also performs nearly as well as internal hard drives. This allows me to more easily swap or add drives while keeping the size and noise of the HTPC to a minimum.

Parts List

The key to this build is the effectiveness of the USB 3.0 external hard drives. By moving to external storage I can use a much smaller case with an external power supply, all of which reduces the cooling requirements and consequently the noise of the PC. The only internal drive is the SSD which generates no noise and little heat. The only sound from this configuration comes from the CPU cooler which is somewhat oversized for the 35W CPU and therefore never runs at a high speed. The result is a versatile, snappy, power efficient, and very quiet HTPC.


For this build I decided to go with Linux Mint as I have grown progressively tired with Ubuntu's UI tinkering. Otherwise my software choices are similar to past builds.

Network Sharing

For network sharing I use the Samba utility (repository package:  system-config-samba) which makes it easy to setup and manage shares with other computers on my network. 


For backups I use the Scheduled Tasks utility (repository package:  gnome-schedule). With this I run various RSYNC scripts every night which synchronize my local hard drives with my FreeNAS server.

Media Playback

  • VLC - media player
  • XBMC - media player and streamer (using plug-ins)
  • PLEX - media transcoder (works great through its Roku channel)


  • Deluge - my favorite torrent client


Here's an informal comparison between this build (bold) and my old HTPC (in parenthesis):

  • Time to import 227MB, 128kbps MP3 into Audacity - 0:53 (2:16)
  • Time to re-compress 227MB, 128kbps MP3 at 64kbps with Audacity - 6:40 (10:08)

While this is a sizable improvement these numbers don't show how much snappier the system is in general, especially when multitasking.

Power Usage

While I anticipated a significant power consumption drop due to the lack of a video card, I was pleasantly surprised at how much of a drop I actually measured. 

  • Old HTPC - 43W
  • Current Configuration (including external hard drives) - 30W

That's quite a significant drop. From past experience I believe the video card used about 10W of power, therefore the Haswell CPU uses 3W less power on average than the Sandybridge model I was using previously.


This was another area of significant improvement. The combination of reducing the number of fans from 4 to 1 and swapping the stock cooler for a more efficient one results in this build being nearly silent.


FreeNAS Server

After two hard drives in my Home Theater PC failed this summer, almost resulting in some significant data loss, I decided to move toward a better local backup solution. My previous backup strategy involved syncing hard drives on my HTPC. Although this was a simple and effective solution, it wasn't the most efficient use of my hard drive space and it doesn't provide much redundancy. After looking at my options I decided that a FreeNAS Server was the way to go.

Parts List


For my server build I not only wanted to keep the cost down, I also wanted it to be as quiet and power efficient as possible. I chose the case because of its noise reduction features in addition to its build quality and 6 hard drive bays. The motherboard offers 8 SATA ports and 4 RAM slots for future expansion. I was planning on using an Intel Celeron processor, but the Pentium G630T is more efficient, generates less heat, and doesn't cost much more. I considered reusing some of my 2TB Western Digital Green drives from my HTPC, but in the end I decided to get 3TB Red Drives instead. Besides their larger capacity, they are specifically designed for this application as well as offering a better warranty and support from the manufacturer.


FreeNAS has a lot of useful documentation, but I found Engadget's tutorial to be a better starting point for basic setup. This got me started with basic CIFS sharing that I can access with both my Windows & Linux PCs. I set up my 4 hard drives as a RAID Z2 array which should be able to survive one hard drive failure without affecting performance and two hard drive failures without data loss. After creating the array, I ended up with about 5.5TB of space available for storage. This should be more than enough for the forseeable future, but I can aways get two more hard drives and recreate the array to increase my storage capacity. Another key part of this setup is the recognition that my server will be used for backups only, never as the sole repository of data. 

I ran into some issues, however, when I tried to RSYNC from my HTPC to the FreeNAS box. Using a scheduled RSYNC every night is how I plan to backup my media files and is critical to my local backup strategy. After a lot of Googling and experimenting I discovered how to properly setup the permissions on both the FreeNAS server and my HTPC in order to be able to RSYNC properly. 

For my purposes I only have a Guest account on the FreeNAS server. This account does not require a password and has full access to all of the files in the share. On the HTPC side I setup Ubuntu to mount the remote share every time it boots by modifying the "/etc/fstab" file with the following line:

//     /mnt/Server cifs guest,uid=joe,gid=joe 0 0

In this application is the IP Address of the server as perminently assigned by my router. "Archive" is the name of the CIFS share I created on the FreeNAS server. The directory "/mnt/Server" is the local directory on my HTPC that I created to mount the server's share to. CIFS (Common Internet File System) is the file sharing standard. The next three additions are key to getting the permissions correct:  "guest" is the user ID on the FreeNAS server, "uid=joe" designates my user ID on my HTPC, and "gid=joe" designates my group ID on my HTPC. When the server's share is properly mounted I then had to make sure that the files I planned to share gave full read/write access to both my user and group. 

With these set properly I can now RSYNC my media files from my HTPC to the server with the following command:

rsync -avru --delete --progress /local_directory/ /mnt/Server/remote_directory


Now that I have my permissions and RSYNC issues resolved, I am very pleased with my FreeNAS server. With the fan speeds set low it is very quiet and over a week of use it had an average power usage of 48 Watts. File transfer speeds are also pretty good over my newly installed Gigabit network. FreeNAS is a versatile platform and I look forward to learning more about it in the future. 


Solar Chargeable Portable Battery Pack

There are a lot of rechargeable lithium battery packs available. Some have a lot of capacity and others can be used with solar panels, however, I could never find one that fits my requirements. The solar models that I've seen generally don't have much capacity and use such small solar panels that they don't charge very fast. Then I came across Adafruit's USB/Solar Lithium Ion Charger board and it solves all of my problems. This board has a lot of cool features: it can charge a battery via a solar panel or any other 5V input and it can deliver power to the MintyBoost from both the input and the battery simultaneously. In this way you could charge a device on a not so sunny day by drawing some power from the solar panel and the rest from the battery.

My main goal for this project is to have a versatile power pack for use when I go camping/backpacking. I have a fair amount of devices that I typically bring with me that can be charged via USB: camera, headlamp, UV water purifier, cell phone, mp3 player, etc. The 6600mAh battery can charge any of these devices multiple times, providing many days of capacity before needing to be recharged. On sunny days the 3.4W solar panel can recharge the battery if I am away from power for a long period of time. At full power the solar panel will take about 12 hours to fully charge the battery. While this is a long time, for my use case this should be fine as I will most likely be topping off the battery with the solar panel not charging it from zero. I like this solar panel for its combination of size and capacity. A larger panel could charge the battery faster, but would be a lot less portable.

Parts List

Adafruit has a detailed tutorial that explains how the charger board works and shows how to wire it to the other components. Basically the charger board is connected to both the battery and the MintyBoost and uses either a USB or solar panel input to provide input power when you want to charge the battery. The charger also has the option to output the charging status (charging, charging complete) to external LEDs.

For this project I used a red LED to indicate that the unit was charging and a green LED to indicate that the battery was fully charged. I also isolated the battery from the remainder of the system using a power switch. This prevents the small self drain inherent to the MintyBoost from discharging the battery when I am not using the unit. You just have to remember to turn it on when you want to charge the battery. In addition I used a coaxial power jack for the power input and modified both the solar panel and a USB cable with matching coaxial power plugs of the same size. The final piece was using a scavenged panel mount usb port for the MintyBoost's output. 

I have to say that I really like this setup. I can charge all of my devices and when placed in the sun, the solar panel started charging the battery with no problem.


Mini ITX PC Build

While assembling my new ham radio station I decided to build a dedicated PC to use for digital communications as well as logging. To save space I decided to do this build using the Mini ITX form factor. Other than being a tight fit in the case, this was a relatively straightforward build. It's pretty cool to be able to build such a small and inexpensive system using desktop PC components. 


Performance, Power Usage & Noise

I have now built a couple of systems using the Sandybridge based Intel Celeron processor and I have to say that I am impressed. While I wouldn't want to use it for video compression, for typical computer usage this processor is plenty fast. This system doesn't sweat running multiple ham radio related apps at once.

With the CPU as the only major component to power, this system is a power miser. At idle it uses about 20 watts and during typical usage it generally stays under 30 watts. Not bad at all.

The same goes for the noise generated by this system. The stock Intel heatsink & fan keeps the processor cool without rising above a whisper. Overall I am very pleased with this system. It's the perfect combination of size, performance, quiet operation, and low cost.


Loop Skywire Antenna


When I bought my house this spring, I immediately started planning an HF antenna for my ham radio station. It's been several years since I last had a permanent base station set up and I wanted to get on the air. After evaluating my options, I decided that a loop antenna would be my best option. The biggest advantage for me is that a large loop antenna fed with ladder line allows for good performance on a wide range of frequencies using a single antenna. This design also allows me to maximize the amount of antenna that I can fit on my 1/2 acre lot (an 80 meter loop is only 72ft on a side vs the 135ft overall length of an 80 meter dipole) without having to put up masts or towers.

The general idea of a loop skywire is to put up as much wire as possible, without worrying about cutting it to resonance, and feed it with ladder line. Since ladder line exhibits very low loss compared to coaxial cable, even with a large impedance mismatch, the total amount of signal loss in the ladder line will be minimal. With a good antenna tuner between the ladder line and the radio, all of the HF ham bands should be available.


For wire I purchased Wireman #531, which is insulated wire made up of stranded 13 AWG copper-clad steel. The steel core makes it strong (400 lb breaking strength) and helps minimize stretch, while the copper cladding gives it good electrical conductivity. The insulation helps to protect the wire from the weather. 

The feedline I chose is 300 ohm ladder line, which is a little harder to find than its 450 ohm cousin. Some ladder line is cheaply made, but this type from DX Engineering uses 18 AWG copper-clad steel and works very well. They also make a great antenna feed point kit with built in strain relief slots for use with their 300 ohm ladder line. It is well worth the money.

While I could have used a balanced tuner, or some other type of manual antenna tuner, I decided to go with an automatic antenna tuner for my station due to their ease of use and their ability to store impedance matches to memory. The memories allow the tuner to pull up previous tuning settings without having to rematch the radio to the antenna, saving a lot of time. I use a LDG AT-200ProII in my station and it has worked great so far with my loop antenna. I chose this model for its wide impedance matching range, its ability to store 4000 frequency & impedance combinations, and its 200 Watt power rating. Although I don't plan on using more than 100 Watts in my station, the 200 Watt model is only slightly more expensive and because of its higher power rating it will hopefully be even better equipped to withstand the high impedance mismatches that this antenna presents.

The final piece of this arrangement is the balun. In this case I used a high power current balun between the ladder line and the antenna tuner. This device blocks the current on one side of the ladder line from continuing on to the shield of the coax on the other side. In this way it transforms the balanced load of the antenna and feedline into an unbalanced load for use with the antenna tuner and radio. I could have made my own balun, but I decided to buy a DX Engineering BAL050-H10-AT. This is heavy-duty (rated for 10KW) balun designed for exactly this type of application and is much better constructed than anything I could have made on my own. 


Putting up the loop was a relatively straightforward process. The first step was to pick which trees to put the support ropes in. I don't have a ton of options on my small lot, but four trees were spaced appropriately for me to make a trapezoidal shaped loop. To get the ropes (I used 3/16" Dacron) into the trees I used some light nylon cord tied to a wrench and tossed the wrench over the highest branch I could reach. I then pulled the heavier rope up over the branch. Next I attached the insulators that I had made using 1 inch 45 degree PVC elbows (painted black for stealth) and bungie cords. The bungies act as a stress relief between the trees and the antenna, thereby allowing the trees to move in the wind without jerking the antenna too hard. I used bungies on three of the four corners, leaving only the corner nearest the feed point without one. 

I then ran the antenna wire through the insulators until I had both ends at the location of the feed point. By taking the slack out of the ropes I was able to start trimming the antenna wire such that when the insulators were lifted as high as I could get them the antenna wire was tight. After a few adjustments, and some branch trimming, I was able to get the antenna in the air. I then set the antenna back down and attached the ladder line to the feed point and raised the antenna to its final position.

Finally I mounted the balun to the side of the house and ran the ladder line to the balun. To support the ladder line I attached some rope to the feedline with zip ties and hoisted it using an eyebolt screwed into the eave of the house. I also made a spacer/strain relief for the ladder line to keep it away from the aluminum siding on my house. This is necessary because if ladder line is too close to anything conductive it can unbalance the feedline, thereby causing it to radiate like the antenna.


After trimming, my loop ended up being 215 feet in circumference and uses 47 feet of ladder line. I lucked out on the length of ladder line that I needed; you have to be careful not to use a length that is harmonically resonant on any of the frequencies you wish to operate, otherwise the feedline could radiate and cause interference. While this antenna is technically a little short for use on the 80 meter band, it will tune on that band along with all of the remaining HF ham bands (except 160 meters).

Considering the limitations of my property in terms of the size and height (around 30 feet) of the antenna, I couldn't be happier with it so far. I love the ability to operate from 3.5 to 30 MHz without having to switch antennas. Overall performance has been great. In my limited time using my new station I have been able to contact stations in Europe and throughout the US, as well as have a lot of fun in the Pennsylvania QSO Party (my home state) where I was able to contact pretty much every station that I could hear.