DIY NAS: 2019 Edition

| Comments

Update (12/08/2019): I am excited again to share that the price for the DIY NAS: 2019 Edition has dropped below $1,400. The motherboard, case, and power supply all saw drops in their prices. However, those gains would’ve been wiped out by one of the hard drive models becoming exorbitantly expensive, the Seagate ST2000LM003. I am officially un-recommending this hard drive due to its $120 per drive price. As I continute to understand it, companies like SilverStone and Supermicro have been largely impacted by the tariffs levied by our government and as a result those costs are being passed along to their consumers. However, it’s nice to see some of those prices have fallen down as the year progresses. That doesn’t change the fact that it’s always us consumers who pay for tariffs and it remains incredibly disappointing to hear our governments continue to claim otherwise.

Seven years ago, I decided I wanted to start backing up all of my computers to a NAS. In doing some research for that NAS, I couldn’t find a blog, forum post, reddit thread or anything else which contained the kind of guide that I was looking for. This fruitless search led me to blogging about my own experience in building my NAS. Based on the traffic from Google and search results for DIY NAS building keywords, I’d struck a chord that resonated with others, and I’ve been both upgrading my own NAS or building other different NAS machines ever since.

For each year’s DIY NAS build, I try and come up with a “theme” that drives the architecture of that year’s NAS build. For the most part, this is something that I do to help keep myself from building the same exact machine year after year. But I also like to do it because it causes me to tackle the concept from different angles. For example, up until last year, I’d never really dedicated much of the budget towards the CPU. My reasoning had always been that it doesn’t take much CPU to serve up files to my household, but there’s many people out there with needs for storage due to their interests in media streaming, and that DOES require more CPU. So in the DIY NAS: 2017 Edition, I designed the NAS with media streaming and/or virtual machine hosting in mind.

So what did I wind up deciding to do in 2019? Make it even smaller! I’ve always preferred making my NAS builds diminutive on account of my limited desk space. Additionally, what I saw as one of the biggest advantages in comparing a DIY NAS build to the off-the-shelf NAS offerings from folks like Drobo, QNAP, Synology, et al. is the fact that the off-the-shelf NAS machines are nearly always compact. In building my own NAS, I wanted to demonstrate that a DIY builder could do it better!

How would I wind up making my DIY NAS builds even smaller? Find out what’s taking up the most amount of space—the hard drives—and replace them with something smaller! The footprint of a single 3.5” hard drive is about 147mm x 101.6mm x 25.4mm for a volume of 376.77 cm3. The smaller 2.5” hard drive form factor is 100mm x 69.85mm x 19mm for a volume of 132.72 cm3. A 2.5” hard drive is roughly 35% the size of its bigger brother. When you multiply that savings in space across 8 HDDs, the amount of space saved adds up to something impressive.

CPU & Motherboard

As is always the case, the motherboard wound up being the component that I spent the most amount of time and energy into selecting. The DIY NAS: 2019 Edition was especially problematic in that my original motherboard choice wound up not working out so well! After going back to the drawing board, I was quickly drawn to the Supermico A2SDI-4C-HLN4F(specs). The motherboard’s features which really drew me in were:

Due to my own experience and the experience of at least one #FreeNASGiveaway winner, I was a bit reluctant to try the latest Intel Atom CPU. The Atom C2000 hardware flaw had bricked my own NAS twice as well as that of one of the winners. However, I’ve been eagerly anticipating the motherboards powered by the Denverton CPU to both hit the market and to come down into the price range I considered acceptable.

While I opted for the Supermico A2SDI-4C-HLN4F, I liked that the Supermicro family of motherboards contained several bigger, badder versions of the motherboard also available for DIY NAS builders:

Ultimately, I wound up feeling like the Supermico A2SDI-4C-HLN4F fit what I expected a NAS’ workload to be. However, I wouldn’t fault anyone for picking a more powerful and more expensive motherboard because they wanted their NAS to be able to act more like a Homelab server. This is exactly why I encourage people to build their machine themselves to suit their needs.


Among the areas that presented with a significant opportunity to create some savings over last year’s NAS, RAM was probably among the top. In last year’s NAS, I went over the top with nearly every component, and RAM was no exception. I spent nearly $900 on RAM last year, and a good chunk of that was most likely money not ideally spent. Among the “guidelines” you’ll find when building a DIY NAS that runs FreeNAS, you’ll see people make the recommendation of 1GB of RAM per TB of storage. However, hopefully you’ll also see people like me routinely pointing out that hard drive capacities have long outpaced RAM capacities and that this isn’t really pragmatic or sustainable.

I’ve routinely built my NAS machines with around the bare minimum recommended amount of RAM, and I’ve yet to wish that I hadn’t. Last year’s NAS wound up being an exception because I wanted the machine to be able to host and power virtual machines. For this year’s NAS, I chose to buy 8GB of Crucial 2666Mhz ECC DDR4 RAM. While I’ve long advocated the use of non-ECC RAM in the building of DIY NAS machines, it made sense to use ECC since I’d already chosen to pay the premium of an enterprise-grade motherboard. Had I gone a different route with the motherboard, I would’ve been more than happy to use non-ECC RAM.

Case, Power Supply, and Cables

Because I’d pinned my hopes on reducing the DIY NAS’ footprint around dropping from 3.5” hard drives to 2.5” hard drives, my hope to achieve my goal centered around my ability to find a case. Thankfully, I quickly found the SilverStone CS280 (specs). The SilverStone CS280 is a compact case which measures 221.5mm x 176.7mm x 301mm and a volume of 11.8 liters. It is considerably smaller in volume in comparison to last year’s NAS using the SilverStone DS380, whose volume measured at 21.6 liters. It may be small, but there’s still room inside for a Mini-ITX motherboard, eight 2.5” hard drives in a hot-swappable drive cage, and an SFX power supply. For what I was wanting, the SilverStone CS280B was ideally suited to my objective.

For the power supply, I wound up choosing the SilverStone ST45SF-V3 (specs). The 450-watt, 80 PLUS Bronze certified power supply was going to be more than enough to meet the needs of the power-sipping CPU and 8 hard disk drives.

Because of the proximity of the drive cage’s backplane to the power supply, my collection of straight-through SATA cables wound up being too tight of a fit for me to be comfortable with. Thankfully, the SAS cable that came with the Supermico A2SDI-4C-HLN4F had really thin cables, but for the other 4 ports on the drive cage’s backplane, I was forced to use SATA cables with a 90-degree bend for the first time ever. Which is ironic because I’ve always despised the 90-degree bend connectors whenever I’ve gone to build some sort of computer, whether it be a NAS or not. I opted to get a pack of the Posta SATA III Cable (5 pack) with 90 Degree Plug. The 90-degree bend wound up being perfect to clear the close proximity of the power supply in the SilverStone CS280.

Speaking of the proximity of the power supply and the drive cage, I also wound up deciding that instead of stretching and tugging power cables across the already crowded space in the drive cage, that I’d buy a SATA-to-Molex Power Adapter for providing power to the drive cage. This allowed me to route two of the separate accessories’ power cables from the power supply to either side of the case and keep the drive cage clear for just the SATA cables.

Unfortunately, the SilverStone CS280B had two USB 3.0 ports on its front panel, but the Supermico A2SDI-4C-HLN4F lacked an appropriate header to plug the connectors into. I was a bit disappointed in this, because I would’ve loved to have kept the FreeNAS OS drives plugged into the front of the case.

Update (10/20/2019): I wound up getting an email from someone at SilverStone and he was nice enough to make a few suggestions on how this problem could be solved. While I was aware that solutions like these existed when I built the NAS, I felt that I’d already over-extended my NAS building budget. But in reflection, it seems like a mistake to not share the potential solutions! In my opinion the best solution would be a USB 3.0 to USB 2.0 Adapter Cable at $9.99. But if you’re looking to get full USB 3.0 speeds out of the front panel connector, you’ll need a USB controller like the SST-EC04-E ($50.87) or the SST-ECU05 ($57.16). Personally I prefer the adapter cable because: I like preserving the motherboard’s PCI-E slots for potential growth down the road for additional SAS/SATA controllers, I don’t think there’s a huge penalty to the lesser throughput of USB 2.0, and I like that it’s the least expensive option._


FreeNAS Flash Drive

I had some pretty exciting plans for the USB drive in the DIY NAS: 2019 Edition. I was hoping that through Tindie I could buy and resell my own USB drives. I’d even spent a few hundred dollars buying some USB drives, but in the course of trying to use them for building this NAS, I knew I was going to have to change my approach! I went back to my favorite maker of USB drives, Sandisk, and opted for their SanDisk 16GB Ultra Fit USB 3.1 Flash Drive (specs). Over the years I’ve been impressed with the Sandisk Fit-line of USB drives, and they’re routinely well spoken of when it comes to their use as a FreeNAS OS drive.

NAS Hard Disk Drives

I wound up picking 2.5” hard drives primarily because of their small footprint and the goal of building an even smaller NAS than in the years before. But beyond that, the 2.5” hard drive was designed to be used in laptops and other mobile uses, and as a result they tend to give off less heat and be more durable. All things considered and all things being equal, the 2.5” hard drive would seem to be a pretty ideal choice for a zealous DIY NAS builder such as myself.

On the other hand, 2.5” hard drives are also much more expensive per terabyte than their 3.5” cousins. This year, the average price per hard drive for the 2.5” drives was in the neighborhood of $85 each. At that same exact price point, there is a plethora of 3TB and 4TB hard drives in the same neighborhood for the price. Wouldn’t a zealous DIY NAS builder such as myself also want to get the most amount of storage out of his budget too? Wouldn’t he or she jump at the chance to double their storage at the same price?

When I built my very first NAS, I was pretty focused on building a DIY NAS with a footprint that was small. In planning that NAS out and shopping for parts, it never even occurred to me to take a peek at 2.5” HDD prices or to try and do the math to figure out how much space a smaller hard drive would wind up saving me. If I had a time machine and I went back to share all of my experience building these different NAS machines, do I think I would’ve wound up building a NAS with 2.5” HDDs or would I stay with 3.5” HDDs instead? I’m not really sure what the answer to that question would wind up being!

2019 NAS Hard Disk Drives
Seagate ST2000LM003   
WD Blue WD20SPZX   
Seagate Barracuda ST2000LM015   

The hardest part about picking out the hard drives this year was the fact that I couldn’t use the Backblaze Hard Drive Stats to help guide my decisions in picking out hard drives! The most interesting part in picking 2.5” hard drives as my preferred form-factor is that I’d have something that would be ideally suited for the person who wanted to build a NAS out of SSDs. There are generally one or two people out there each build who ask questions about building a NAS out of SSDs. I’d still never do it because the network itself is going to be a bottleneck, but barring some astronomical development in affordable network technology, this NAS build will be the closest I ever come to building an SSD-based DIY NAS.

As a suggestion for other DIY NAS builders, I’d reccommend that you potentially avoid the Seagate ST2000LM003, not for any quality reasons, but because it appears that it’s now discontinued and the price has steadily climbed ever since I purchased two for the DIY NAS: 2019 Edition. I originally paid $99.99 for the drives. At any price above this, I’d suggest looking for something else.

Update (12/18/2019): I’m officially unrecommending the Seagate ST2000LM003. The price on this hard drive has climbed to $120 and at that price point, I say don’t even bother with it. It was expensive at the price I paid for it ($99.99) and its price has done nothing but climb through the year. If you’re interested in building this NAS, I think my recommendation would be to simply go with four of the each of the other two hard drive models in the build. However, I wouldn’t blame you for wanting to add a different make and model of hard drive to keep the same diversity. If you do opt to remain diverse, please share the drive manufacturer and model that you picked in the comments below!

Final Parts List

Component Part Name Count Cost
Motherboard Supermico A2SDI-4C-HLN4F specs 1 $352.39
Memory Crucial 8GB (2x4GB) 2666MHz DDR4 ECC specs 2 $49.99
Case SilverStone Technology CS280B specs 1 $187.93
Power Supply SilverStone Technology ST45SF-V3 specs 1 $84.99
OS Drive SanDisk 16GB Ultra Fit USB 3.1 Flash Drive N/A 2 $6.33
Storage HDD 1 Seagate ST2000LM003 specs 2 $119.99
Storage HDD 2 WD Blue WD20SPZX specs 4 $72.01
Storage HDD 3 Seagate BarracudaST2000LM015 specs 4 $82.99
SATA Power to Molex Adapter SATA Power Adapter Cable 15-pin SATA Male to 4-pin Molex Female N/A 1 $6.99
SATA Cables Postta 18-inch SATA III Cable w/ 90 Degree Locking Latch (5 Pack) N/A 1 $7.39
TOTAL: $1,379.72

All Parts SilverStone Technology CS280B #1 SilverStone Technology CS280B #2 SilverStone Technology CS280B #3 SilverStone Technology CS280B #4 SilverStone Technology CS280B #5 Assorted 2.5 HDDs #1 Assorted 2.5 HDDs #2 Supermicro A2SDi-4C-HLN4F #1 Supermicro A2SDi-4C-HLN4F #2 Crucial 2x4GB DDR4-2666 RDIMM #1 Crucial 2x4GB DDR4-2666 RDIMM #2 Brian's Face USB Drives (2x16 GB) SilverStone Technology ST45SF-V3 SAS / SATA Cables SATA Power Splitter and MolexAdapter

Hardware Assembly, BIOS Configuration, and Burn-In


Assembly was painful, literally! The metal insides of the SilverStone CS280 were not cut in a fingers-friendly fashion, and in my efforts of getting all the SATA cables plugged in, I wound up cutting the knuckles on both of my thumbs! I sliced them open the exact same way on the sharp edges of the interior of the case. Having worked in and built dozens, if not hundreds, of computers in my early career, the only time I found sharp edges like these were in extremely inexpensive cases. I was a bit disappointed that SilverStone opted not to further machine their cases and make them a bit more finger-friendly.

My usual complaints about working in small spaces also presented themselves in the building of the DIY NAS: 2019 Edition. While I love the smaller footprint that the NAS wound up taking up, I did actually almost equally disliked the act of assembling it. You’re operating in limited space, and you’ve got a ton of repetitive tasks like plugging in SATA cables. I typically build the NAS, then burn it in, which is what I did this time. But I regretted when I had to repeat all that work. I disliked when I had to swap out the first motherboard that I picked out.

Working in a small space certainly upped the degree of difficulty on the assembly, and the razor-sharp edges inside the case sure upped the sense of danger when working on the case, but the only actual problem that I wound up running into was with the straight-through SATA cables I mentioned above. The size of the connector and direction of the SATA cable was just too long to close the narrow gap between the power supply and drive cage backplane. Thankfully, the SAS cable that came with the motherboard had thinner cables which actually worked, but my traditional straight-through cables simply would not fit. I wound up replacing the straight-through cables with cables that had a 90-degree bend.

BIOS Configuration

Generally speaking, I like to keep the BIOS configuration as close to factory defaults as I possibly can. The DIY NAS: 2019 Edition was no exception. I made the usual edits by making sure that legacy USB support was enabled, legacy boot and UEFI (usually the dual setting) were configured, and that the only boot devices set up in the boot order were the USB devices. Under ideal, and usually typical, circumstances, I save my changes and exit the BIOS and then boot right up and start running a memory test or some sort of CPU torture test.

I’m not sure how detectable it is in the assembly’s video, but I ran into two problems immediately in the BIOS and then on the next boot.

  1. Only 6 of the 8 drives were showing up in the BIOS.
  2. I couldn’t seem to get the machine to boot up off either my Ultimate BootCD flash drive, or my Memtest86+ flash drive.

The first problem was pretty quickly solved via some Google-searches and tinkering in the BIOS. Under Advanced > Chipset Configuration > South Bridge Configuration, there’s a setting called Flexible I/O Selection. I experimented with the different values and ultimately found that setting it to Mini SAS/SATA[3:0] caused the other two missing drives to show up in the BIOS. I captured all of the changes I made in the BIOS in a video that’s embedded down below with the FreeNAS installation.

The next problem nearly ruined an entire weekend! For whatever strange reason, I couldn’t get the DIY NAS: 2019 Edition to boot up off of any of my usual USB drives that I use in these builds. Primarily, neither my Ultimate BootCD on USB or my Memtest86+ on USB from would work. I recreated each of the USB sticks, I confirmed they worked on other machines, I tried setting the Boot Mode in the BIOS to Legacy, UEFI, and Dual. But no matter what, nothing seemed to work. I even went as far as to open a ticket with Supermicro’s support. One of my patrons, Uffe Andersen, commented sharing some of the same pain that he went through with a motherboard from the same family and suggested that I try a UEFI USB boot device to see if that worked, because it had worked for him.


All I’m trying to do when I burn-in one of my NAS machines is to look for any kind of defect in the computer’s hardware or how it’s been put together. My primary concern is that once I button up the case, I’d rather not have to open it up until I’m doing some sort of upgrade. I tend to zero in on the motherboard, CPU, and RAM in how I burn-in the DIY NAS. The fact that I have redundancy amongst the hard drives makes me feel a bit cavalier about testing the hard drives.

Both of my favorite tools (UltimateBootCD or stresslinux) for doing the CPU burn-in aren’t bootable via UEFI. When discussing my challenges with my good friend, Pat, he mocked me a bit and said he was surprised that I did any kind of CPU burn-in as part of my testing. Pat’s an excellent sounding board and he’s also probably correct—modern CPUs have the ability to throttle themselves back based on their own thermal budget, so the kind(s) of burn-in testing I’d been doing in the past wasn’t really providing much benefit. I opted this year to not do any kind of CPU burn-in testing.


Due to challenges presented by the motherboard with regards to booting USB drives, I wound up using a different flavor of Memtest86 for the DIY NAS: 2019 Edition. I wound up downloading PassMark’s Memtest86, putting it on a boot drive, and using it instead. I’m not entirely certain what the exact differences between PassMark’s Memtest86 are and the open source Memtest86+ actually are, but as far as I could tell, they’re very similar. I expect that they share a common ancestor and can be used pretty interchangeably. I ran PassMark’s Memtest86 with pretty much the bone stock defaults and monitored its execution via the IPMI interface.

Altogether, it used all 4 of the CPU core to make 4 passes of the 12 different testing algorithms types supported without any reported errors. Usually, I just like to leave the memory test running for day(s) on end while I work on other things, but the free version of PassMark’s Memtest86 is sadly limited to 4 passes, which should be more than enough to give me a warm and fuzzy feeling about the RAM installed. I got an especially warm and fuzzy feeling, as I had to do this several times as I tried to capture it in video for the blog.

FreeNAS Installation and Configuration

In past years, I usually list out step by step the number of different things that I do and accompany that with screenshots of part(s) of those steps. But for this year, I opted to handle it a bit differently. I recorded the entire setup, from the initial boot all the way up to testing out the file shares from one of my Windows machines. If you’re interested, I captured all of the step by step BIOS, FreeNAS installation, and FreeNAS configuration content into its own blog post—check it out!


I have two primary concerns with regards to the performance of my NAS: throughput and power consumption. The throughput of the machine determines how useable it winds up being, and the power consumption typically determines how much it’s going to wind up costing me on a recurring basis. Naturally, there are untold other possible metrics that could be of interest; these are just the two that wind up of the most interest to me. Are there any benchmarks that I’ve overlooked? Please leave a comment for any metrics you’d like to see in future NAS builds.

Power Consumption

I measured the power consumption of this year’s NAS by using one of my Sonoff S31 smart outlets. For nearly two days, I had it keep track of the amount of power drawn. During those two days is when I performed the bulk of the configuration, tinkering, and the throughput testing.

In those 47.47 hours, the DIY NAS: 2019 Edition consumed 1.98 kWh of electricity, which is really damn close to being 1.0 kWh per day. I extrapolated the hourly consumption (.0417 kWh) over an entire year and arrived at 365.355 kWh for the year. Assuming I understand the details of my electricity plan, I’m paying around 12.5 cents per kilowatt-hour today. At that rate, it’d cost me around $50.00 to power this NAS for an entire year.


Over the years, I’ve tried to test throughput using a number of different methods— crudely timing large file transfers early on and in most recent years using tools likely IOMeter. Each of the different NAS builds has been unique in its own way, but I like using the throughput to compare the builds from the past to the builds of today. I started off with the results from last year’s benchmarks, but omitted the 10Gb results since the Supermico A2SDI-4C-HLN4F only contains the four Gigabit interfaces.

  1. Mapped a drive in Windows to the share on NAS that’s being tested.
  2. IOMeter
    1. Set up 2 workers per CPU core. On each worker I set the Maximum Disk Size number of sectors to a number that’d be 2.5 times as big as my total amount of RAM (~512 bytes per sector) and also picked the drive letter of the mapped drive as the Target
    2. Under Access Specifications, I created four different Global Access Specifications all with a 512KB block size.
      1. Sequential Read: 100% Read and 100% Sequential
      2. Sequential Write: 100% Write and 100% Sequential
      3. Random Read: 100% Read and 100% Random
      4. Random Write: 100% Write and 100% Random
    3. I quadruple check each IOMeter worker because I almost always forget to update one when repeating these steps.
  3. I execute each of my four different tests (described above) individually in IOMeter against the drive mapped above.

Overall, I’ve come to expect that a typical DIY NAS built today should be readily able of saturating a gigabit link during the read test, and this year’s NAS did not disappoint in this regard. I enjoyed monitoring the sequential throughput test in both my desktop machine’s task manager, but also in the new dashboard in the latest version of FreeNAS:

The hardware in this year’s NAS compared to last year’s DIY NAS build are a bit less powerful, and that shows up in the benchmarks. The performance over the Gigabit in the sequential write, random read, and random write tests were all lower than both last year’s NAS and my own NAS. Given the amount of money spent, I expected this year’s NAS to have a hard time competing against last year’s NAS. The fact that this year’s NAS didn’t outperform my own was a bit disappointing.


I was very interested in building the most compact DIY NAS as I could reasonably achieve, but I was almost nearly as interested in evaluating the latest release of FreeNAS, FreeNAS-11.2-U2. The DIY NAS blogs wind up being an excellent way for me to tinker with the latest version of FreeNAS, before deciding to upgrade my own NAS. The release notes from the FreeNAS 11.2-Release r talk extensively about the new Anuglar-based UI, which has been something I’ve been looking forward to for quite some time.

I really enjoyed using the new user interface. I didn’t have any issues or concerns about FreeNAS’ legacy interface, but it was quite dated. Among the biggest improvements of the new UI is the improved dashboard. Being able to log into the DIY NAS: 2019 Edition and get a live peek at what was going on with the NAS was really helpful in the creation of this blog.

Given what I’ve experienced of FreeNAS-11.2-U2, I’m looking forward to getting it installed and configured on my own NAS here in the very near future!


Once I’d finished building the NAS, installing and configuring FreeNAS, and working through some of the throughput benchmarks, I stopped and asked myself two questions: Did I successfully build a smaller NAS? Was it worth it? Ultimately, I think the answer to those questions is going to be a matter of opinion. The DIY NAS: 2019 Edition is absolutely much smaller than my own personal NAS and my own NAS was built to have small footprint. In order to answer the two questions above in the affirmative, you’re going to definitely need to place a considerable amount of value on the NAS’ footprint.

Considering the small footprint was the primary objective in the design of this NAS, you can understand why I think the answer to both of those questions is yes. But aside from the footprint, I think I’d still be inclined to answer in the affirmative when considering these features:

  • 10TB of total storage with two drives’ worth of fault tolerance
  • Intel Atom C3558 CPU: 4-core 2.20GHz CPU with 17W typical TDP
  • 8 GB of ECC DDR4 RAM
  • 8 Hot swappable drive bays

Comparing the DIY NAS: 2019 Edition to other off-the-shelf solutions reinforces this pretty well. Off-the-shelf NAS systems like the Synology DS1817 ($829), QNAP TS-873-4G-US ($863), and the ASUSTOR AS6208T ($749) all wind up being more expensive than a diskless version of the DIY NAS: 2019 Edition which comes in around $759. With the exception of a feature or two, the DIY NAS: 2019 Edition is both friendlier to your bank account and has a more powerful feature-set than these other comparable NAS systems.

Ultimately, space is what mattered the most in this blog, and I think that I’ve been unquestioningly successful in that regard. The amount of space that the DIY NAS: 2019 Edition takes up (11.8 liters) is nearly half of what the prior year’s NAS used up (21.6 liters). It’s been quite a few years since I built my NAS, but given what I know of my data-storage habits today, I probably would have been quite comfortable to trade a bit of storage capacity to build an even smaller NAS.

But Brian, your conclusion is WRONG!

Fear not, my disagreeable NAS enthusiast, my conclusion basically boils down to a question of value and opinion—there’s plenty of room for conclusions other than my own. I wouldn’t blame any of you for accepting a larger footprint in order to move up to 3.5” hard drives, which are definitely a better value than their diminutive 2.5” siblings. Simply swap out the SilverStone CS280 case from this year’s NAS for something like the SilverStone DS380B. And then spend about $75 to $100 per drive on about 8 hard drives. It looks like there’s a healthy variety of 4TB drives in this price point. I wouldn’t blame anyone for wanting to double the storage capacity by also nearly doubling the volume.


#FreeNASGiveAway Update

05/10/19: Everybody please put your hands together and join me in congratulating Tim Malone, who’s been lucky enough to be the winner of the #FreeNASGiveaway of the DIY NAS: 2019 Edition. I drew Tim’s name earlier today when the contest concluded. Thanks to everyone who joined the contest, you all made this the biggest #FreeNASGiveaway to date and I can’t wait until the next give away!

For more details please check my FreeNAS Giveaway page. In short, you can enter several different ways by interacting in various ways with my social media accounts. For fun, I’ll be ending the giveaway on my birthday (May 10th) and announcing the winner that weekend. Thanks for helping make the giveaway successful, and good luck!

DIY NAS: 2019 Edition

DIY NAS: 2019 Edition’s BIOS Configuration, FreeNAS Installation, and Initial FreeNAS Configuration

| Comments

For those of you who preferred the in-depth, step by step recounting of what I did in the configuration of the DIY NAS: 2019 Edition, you’re in luck! Not only did I record it all in video, but I also captured that list for you too.

Ultimately, I only opted to remove this from the main blog after how long that blog had grown to be!

Please make sure to leave a comment down below if you value what’s captured below, I’m strongly considering excluding it from future builds’ blogs in an effort to keep things more concise.

FreeNAS Installation and Configuration

BIOS Configuration

  1. Connected to the IMPI Interface using the SuperMicro IPMIView Utility (link)
  2. Launched the iKVM Viewer to remotely control the machine and powered it up.
  3. Make the following changes in the BIOS
    1. Advanced Tab
      1. Under Chipset Configuration > South Bridge Configuration changed the “Flexible I/O Selection” to Mini SAS/SATA[3:0]
      2. Checked for the presence of all 8 SATA HDDs in the Bios, when only 6 showed up, I saved my changes and exited the BIOS.
      3. Went back into the BIOS and confirmed all 8 SATA HDDs were being detected now.
    2. Boot Tab
      1. Set the “Boot Mode Select” to: UEFI
      2. Set the “UEFI Boot Option #1” to: UEFI USB CD/DVD: UEFI: SanDisk (the name of my FreeNAS install device)
      3. Set UEFI Boot Option #2 through UEFI Boot Option #9 to Disabled

FreeNAS Installation

  1. Used the BIOS’ boot menu to boot from my FreeNAS USB Installer
  2. Picked to “Install/Upgrade FreeNAS”
  3. Selected the two SanDisk Ultra Fit 16GB drives (da1, da2) as the targets of the installation.
  4. Chose “Yes” on the warning about the partitions and data on da1 and da2 being erased.
  5. Entered and confirmed a password to be used for the root account.
  6. Chose “Boot via UEFI” for the FreeNAS Boot Mode
  7. Removed my FreeNAS Installation USB device and hit OK on the successful installation dialog.
  8. Used the Shutdown option to power down the NAS.

With FreeNAS now successfully installed, I went ahead and powered the machine on. Given my difficult with Legacy Boot mode not seeming to work on the motherboard, I was a tiny bit nervous that the machine would not cleanly boot off the USB drives I’d just installed FreeNAS on. But, given the choices I had made, I was still pretty confident it’d boot right up—and that’s just what it did!

FreeNAS Configuration

  1. Using the IP displayed in the FreeNAS console (, I pulled up the FreeNAS web interface in a browser.
  2. Logged in using root and the password I picked during the installation.
  3. Went under “Storage and Pools” clicked Add and Create Pool
  4. Selected all the hard drives listed under Available Disks and then moved them to the right under Data VDevs
  5. Named the new pool “storage”
  6. Below the Data VDevs I picked Raid-z2
  7. Clicked the Create button.
  8. Created a dataset called “share” under the “storage” pool.
  9. Attempted to set permissions on the share dataset, and realized I hadn’t created a Group yet to assign the permissions to.
  10. Created a new group under Accounts > Group and named it “shareusers”
  11. Added a new user named “brian”, set the password to match what I’ve used on my local machine(s), and added that user to the “shareusers” group.
  12. Validated that the “shareusers” group had my new account listed as a member.
  13. Under Services> SMB, I started the service and set it to “Start Automatically”
  14. I opened the SMB Configuration and made the following changes.
    1. Set the “NetBIOS Name” and “NetBIOS Alias” to: diynas2019
    2. Set the “Workgroup” to: lan
    3. Set the “Description” to: DIY NAS: 2019 Edition
  15. Opened Sharing > Windows (SMB) Shares and clicked the Add button.
    1. Set the Path to “/mnt/storage/share”
  16. Went back to Storage > Pools, expanded the storage pool and chose to Set Permissions on the “share” dataset.
    1. Changed the group to “shareusers”
    2. Chose the option to “Apply permissions recursively”
    3. Checked Confirm and clicked the Continue button.
  17. Opened Network > Global Configuration and made the following changes
    1. Set the “Hostname” to: diynas2019
    2. Set the “Domain” to: lan
  18. Under System > Advanced I chose the “Enable Autotune” option.
  19. Under Tasks > S.M.A.R.T Tests I added two tasks
    1. A weekly Long Self-Test on Sundays
    2. A daily Short Self-Test
  20. On my desktop, I browsed to \diynas2019, opened share, and created a file, modified a file, and deleted a file to test the permissions.

Because I’m nitpicky, I probably should’ve created my user and sharegroup before creating the storage pool and share dataset. If I had taken step-by-step screenshots like I did in prior years, I would’ve just juggled those screenshots around into a more efficient set of steps. I suppose I could’ve done the same by carefully editing the video, but I didn’t think it was worth all that effort to disguise that I wasn’t perfectly efficient in the FreeNAS configuration.

Integrating my 3D Printer into my Home Automation

| Comments

Back when I was involved with our local makerspace, I really wanted to help show off the 3D Printers that the makerspace had purchased. At that time, access to the printers and Pat’s 3D-Printing expertise were among the best reasons to become members of the makerspace. As the guy with the keys to the makerspace’s social media accounts, I really wanted people to share pictures and videos of everyone’s 3D prints so that we could showcase what our members had been up to.

In fact, I was so enamored with the printers’ outputs—I had expressed my intentions of finding a way of capturing pictures of what people printed and automate the sharing of those prints. Unfortunately, the enclosed-style printers that they had at the makerspace (and that I bought to use at home) simply prevented getting a decent picture of the items printed on the printers.

Fast-forward a year or two and I’ve decided to upgrade my old Qidi Technology I — Dual Extruder 3D Printer with something newer. I opted to upgrade to a Prusa I3 MK3 3D Printer. Among its features was an open design that was infinitely more friendly to capturing the time-lapse photography that I had been wanting to do previously.

Enter OctoPrint, Octolapse and OctoPrint-IFTTT


For those of you unfamiliar, OctoPrint is a fantastic print controller for your 3D printers. OctoPrint runs on a Raspberry Pi and manages your 3D printer; it’s got a fantastic feature set and I can’t recommend it enough to anyone who owns a 3D printer. The moment I’d completed my purchase of the Prusa I3 MK3, I started shopping for a Raspberry Pi, and wound up buying a CanaKit Raspberry Pi 3 B+ Kit whose job it’d be to manage my new 3D printer.

My first 3D print on the Prusa I3 MK3 was Pat’s Mounting Brackets with Swivel for Logitech C270 and C920 Web Camera which works so nicely with the inexpensive IKEA Tertial work lamp.

After a little bit of work, I had my Logitech C922 Webcam attached to the Tertial work lamp in place of the lamp, and mounted to my 3D printer’s stand and ready to record time-lapses of all my prints.

OctoPrint has some time-lapse photography features built right into it, but it’s pretty basic. The pictures are taken throughout the print job and the print head was frequently in different positions, oftentimes obscuring the printed object. I’d dug around the Internet a bit and learned that people have improved the quality of their own prints’ time-lapse photography by working with their slicing programs to generate the appropriate GCode on every single layer change. What they do is send the code to move the bed and print head to the same position on each layer and get that to coincide with the time-lapse photography.


Thankfully, there are options for people who don’t want to have to monkey with settings to insert custom GCode on every layer, like me. A very handy OctoPrint plug-in exists named Octolapse. As I understand it, Octolapse interprets and analyzes the GCode uploaded and handles inserting the correct GCode to improve your time-lapse videos. Just working through the few set-up steps improved my videos dramatically!

But after viewing a few of my first couple time-lapse videos, I still had a few complaints about what I was seeing:

  1. Too Darn Bright: My beer-stein lamp is right next to the 3D Printer, and while it’s a fantastic source of light to keep my office lit to what my specifications are, it was washing out everything in the videos of my prints.
  2. Lights turning on and off!: Over the duration of my prints, my home automation had been turning the lights in my office on and off. In the time-lapse, every now and then you’d see a chunk of frames with the lights in either position and it annoyed me that the videos’ lighting wasn’t consistent the whole way through.
  3. Not Automated Enough: I was thrilled to be getting the time-lapse of my 3D prints captured, finally. But I was still disappointed that I was having to manually find the files, download them to my PC, and share them on my own.

The first two problems were solved pretty easily by just manually turning the lights off and keeping them off during my prints. But as I was turning lights off and manually uploading time lapse videos to my social media accounts, I wondered what it’d take to do this in a more automated fashion.


And then, out of nowhere, OctoPrint let me know via a notification that a brand-new plug-in had been published, OctoPrint-IFTTT. I’ve been using IFTTT for a smorgasboard of automated activities for years now and I eagerly installed the new plug-in and got started tinkering with it.

Now about those lights!

For whatever reason, the combination of my Logitech C922, the colors of my various rolls of IC3D ABS filament, and my nearby beer-stein lamp resulted in all of my videos looking really washed out. White filament almost appeared to be glowing and was so bright, it was devoid of features. Bright green filament looked practically pastel, and my red filament wound up looking pretty pink. So the first thing that I did was configure OctoPrint-IFTTT to call IFTTT’s Webhook with OctoPrint’s PrintStarted event and then tied it to the trigger I had set up to automate turning off my beloved beer-stein lamp.

Making it a bit darker in the room when my 3D printer is active improved the filament from looking to be so washed out and I was mostly happy with the results. I think ultimately I probably need to do a bit of research and experimentation to find the best lighting for these time-lapse videos, but I’m pretty excited that I can automate that solution to be triggered by my 3D printer’s activity.

Publish the Time Lapse Videos Automatically

After studying the supported OctoPrint events, I knew what I wanted to take a look at next: the MovieDone event. On the surface, it seemed like it’d be a simple task to trigger IFTTT to post my time-lapse videos to Twitter using IFTTT, but in the initial releases of OctoPrint-IFTTT, that wasn’t possible. The file’s path and name was just being passed as a string on to the IFTTT actions and not the actual file content.

I reached out to the developer, tjjfvi on GitHub, and submitted a feature request. The developer was gracious enough to offer me a few tips and in the process we found that (for what I’d been looking) IFTTT was expecting to be passed a URL where the file was accessible. We came up with a solution that’d allow IFTTT to pull it directly from my OctoPrint server, but that’d involve exposing my OctoPrint server to the Internet and that seemed like not the greatest of ideas.

However, by the end of the day, the developer had put out a beta version using the file-sharing. If asked, the OctoPrint-IFTTT would upload the file to, which returned a URL that could then be sent on to IFTTT for performing whatever action you wanted done. Unfortunately, I couldn’t find any actions in IFTTT that’d upload video clips to either my Twitter account or blog’s Facebook Page. Ultimately, I wound up adding IFTTT’s competitor, Zapier, into the mix as well. In the end, what I built seemed convoluted, but it worked!

Brian’s Time-Lapse Sharing Automation

  1. OctoPrint-IFTTT creates a webhook to IFTTT at the completion of creating a time-lapse video and triggers activity that uploads the video to a particular folder in my Google Drive account.
  2. Zapier monitors Google Drive and when a new file is uploaded to the specified folder, it is uploaded to my YouTube channel.
  3. Using IFTTT, I created two new actions to share the YouTube video’s URL to both Twitter and Facebook.

What’d I think?

I was—and still am—pretty excited to have achieved a goal that I’d had in my head for quite a while. But in this particular case, most of the value wound up being found in the travel—not in the actual destination. I knew that automating the sharing of these videos would be formulaic, but I wound up being turned off by what showed up in my social media feed. I also didn’t quite appreciate how convoluted the automation wound up being. I was reliant on far too many different services working independently of each other in the hopes of accomplishing my task.

In the end, a somewhat convoluted process to generate a formulaic result seemed like a bad combination to me. However, I did decide to go ahead and keep the initial step that results in the time-lapse being uploaded to Google Drive. Having the time-lapse videos up on Google Drive would make sharing them to social media quite a bit simpler.

What’s Next?

To be honest, I don’t know! Regardless of the fact that I wasn’t a huge fan of how it turned out, I’m still pretty in shock that one of the more meaningful goals was achieved. I probably would appreciate adding a couple new IFTTT applets to send me a Pushover notificationon my mobile devices when a print finishes or failed. I think maybe it’d be neat just to keep a Google Spreadsheet to log all the different prints I’ve done and how long they took. What sort of functionality would you like to see triggered in IFTTT by your 3D printer?

What Makes a Good PC Monitor?

| Comments

To say that there are a lot of options out there when you want a PC monitor is an understatement. However, not every PC monitor comes with the same quality as others on the market. This can make the process of choosing a PC monitor rather overwhelming.

To help you out, in the heart of this article, we have highlighted some features you need to look out for in a great monitor.

What Are You Going to Use It For?

The first question you need to answer is, why are you buying a PC monitor? Are you looking for something to do office spreadsheets on? Are you a video editor that needs the best quality? Are you a casual/hardcore gamer?

The point behind this introspection is to make sure you are getting the features you need. For instance, a monitor intended for gaming is going to need a lot of high-tech features, such as faster refresh rates, faster response times, adaptive sync support, and relatively higher resolutions. If you opt for a monitor with all those features for your office computer, you’ll definitely have a good PC monitor, but odds are you won’t use the features to their full potential.

Of course, a PC monitor equipped with greater resolution, more response time, and more refresh rate will put a dent in your pocket more significantly than the one with less quality. After all, the more features and capabilities a monitor has, the more expensive it is likely to be. When trying to find the balance between quality and budget, it’s important to know what you need so you don’t buy extras you won’t use.


When you are looking at monitors, the first thing that you’ll notice is the size of the monitor. Once again, the size you want depends on what you are looking for. For purposes like gaming, many users find that bigger is better.

On the other hand, if you work in a small office, you might find that a large monitor is too bulky.

The good news is that monitors come in almost any size you might want. You can choose something as small as the size of a tablet or as large as 49 inches.

Though you know your PC monitor needs clearer than we do, we have offered a few suggestions to help you reach an informed buying decision:

  • Larger monitors are ideal if you will be making use of them for graphics-related purposes, such as editing or watching videos, photography, graphics-intensive video games, and the likes.
  • If you do numerous work on the computer, you should opt for larger and multiple displays to make you more productive.
  • If your PC isn’t used for these kinds of intense activities, a large display might not be the best for you.
  • Bear in mind that some PC monitors could simply be too big to use on your desk comfortably. For standard (or normal) PC viewing distances, anything that is more than 34 inches is generally too big.

Armed with these tips, go for a screen size, expressed in diagonal inches, that is well suited to your needs and style.

Curved or Straight?

One of the latest innovations when it comes to monitors is that some of them are being released with curved screens. These are usually larger monitors. The choice of curved or straight really comes down to preference, though. Usually, this is a feature that individuals choose when they want an extremely spacious display.

Type of Screen

There is more than just one type of screen to choose from. These include cathode ray tube (CRT) monitors, liquid crystal display (LCD) monitors, and light-emitting diode (LED) monitors.

The most modern choice is LED monitors. These are a great choice because they offer higher contrast images and use less energy to do so. This environmentally friendly option does come at a higher price, so lower-priced monitors tend to use LCD displays.

CRT monitors aren’t often used anymore. These are the monitors that were bulky and heavy rather than flat like their modern counterparts.


The size of the monitor is measured in inches. However, the resolution tells you the length and width of the monitor measured in pixels. This is the specification you see in measurements such as 1920 x 1080p. There are recommended resolutions for the size and type of monitor that you are using, but generally, users look for the highest resolutions possible.

The resolution of any monitor shows the number of pixels it is able to accommodate. Owing to the fact that higher pixel counts means better image quality, if you are purchasing a monitor for gaming, higher is better concerning the native resolution of a monitor.

The 3 most commonly used monitor resolutions in this day and age include the following:

  • 1080p (commonly referred to as Full HD)
  • 1440p (commonly referred to as QHD)
  • 2160p (commonly referred to as 4K/UHD)

While it is true that a higher resolution brings better detail and clarity, you need to note that the higher the resolution, the more powerful the capabilities of your hardware should be. The majority of gaming enthusiasts seem to agree 1440p displays do strike a balance.

Contrast Ratio

The contrast of a display tells you the difference between the purest white and deepest black. The higher the contrast, the more vivid the images on the display. Unfortunately, unlike measurements such as resolution, there can be differences from manufacturer to manufacturer on how contrast ratios are measured. They are all, however, formatted into a ratio.

Response Time

The response time of a monitor tells you how often your monitor refreshes the information on it per second. It is measured in milliseconds (ms), and the higher the response time (or the smaller the number), the smoother your monitor will show images.

Though a fast response time offers enhanced video quality, for most people (including graphic professionals), it is not an important specification.

But faster response times are critical to PC games’ performance because slower response times can bring about motion blur. Gamers need to demand a quick response time, which lies below 8ms (and the smaller, the better) to make sure their monitor is not having a subtle impact on their performance in games that are fast-paced.

Refresh Rate

Expressed in hertz, the refresh rate of a PC monitor depicts how often it refreshes the image on its screen. 60 hertz, ideal for regular office use, is the standard refresh rate for LCDs, and the majority of users do not need a PC monitor that has more than this value.

For a gaming monitor, though, this number is extremely important to prevent lagging images during gameplay. Hence, gaming-branded displays can have as much as 120Hz, 144Hz, or even 240 hertz.

Connections and Extras

Another aspect that you will want to look at when you are choosing your monitor has nothing to do with the display at all. It’s important to consider what ports you want in your monitor. While it might seem like a given, some monitors don’t include USB ports, HDMI ports, and other ports. There is also the consideration of extras such as integrated speakers. If you want these features, make sure to check that the monitors you are looking into have them. Another extra you might want to consider is if you want a touchscreen monitor. This isn’t a feature limited to tablet-style monitors, either. Full-size monitors also often have a touchscreen option. For instance, this is a feature useful for graphic designers.

In a Nutshell

While monitors will not make your PC faster, the best among them enhance your computing experience, as they make everything look much better and boost your productivity. When looking to buy a quality monitor, you need to consider the purpose you’re getting it for, as this will determine the resolution, screen size, refresh rate, and other features to focus on. By taking note of the suggestions offered in this article, you will be able to purchase a monitor that strikes a balance between quality and cost-effectiveness.

I Put My Face on a USB Drive

| Comments

Ever since comissioning my face as the site’s logo, I’ve incorporated my face into many things. Things I’ve designed like the cooling duct for the Silverstone DS380B (Thingiverse), stickers on my recent DIY NAS builds, or anything else I feel emboldened to put my face upon.

When an intrepid promotional company reached out to me and offered customized USB flash drives, I was immediately tempted and gave in to my urges by buying quite a few of them. Hopefully with a little bit of good fortune, I’ll wind up buying these regularly on into the future as more people use my NAS builds as templates for their own.

Introducing Brian’s USB Drive

Without further ado, here’s Brian’s USB drive! It has my face on it, my site’s URL is on it, it is 16GB, it is diminutive, and it can be used as a paper clip!

I think its specifications are ideal for many of the USB-related things that I talk about on my site: you can use it to load FreeNAS on your own DIY NAS, you can use it (or a pair!) to function as the FreeNAS OS drive on your own DIY NAS, you can use it to run Memtest and test the RAM in your new gaming rig, or you can use it for any of the other things you might use a 16GB USB flash drive for.

I plan to sell two variations of this USB drive on my store at Tindie:

  1. Brian’s Face USB Drive (Blank) for $12.00
  2. Brian’s Face USB Drive (w/ FreeNAS) for $15.00

In an effort to keep shipping inexpensive and simple, I’ll be using USPS First Class postage for shipping. I’ll be shipping anywhere in the United States for $2.50 per USB drive. I learned from last year’s FreeNASGiveaway that shipping internationally is expensive and aggravating, so for those of you reading my blog from outside of America—I apologize that this won’t be available to you yet. Please use the blog’s comments if you’d like to see it available outside the United States—maybe you can change my mind!

Brian's Face USB Drive


This is an excellent question! Unless stated otherwise, everything I talk about in my DIY NAS builds comes out of my own pocket. Early on, I found that my own blogs talking about hardware which I didn’t even put my hands on seemed artificial and lacked the authenticity of my other blogs I’d written about actually building my own NAS. This led me to the conclusion that if I was going to write a blog about something, that I’d at the very least have my hands on the hardware. Naturally this has made some of my blogs, especially the DIY NAS builds, a more costly topic to write about. Hopefully, the sale of these USB drives helps offset that expense.

In the past, I’ve tinkered with trying to find enough spare cash to stock up on some of the hardware that I recommended and take a stab at reselling it myself on Amazon, instead of linking to others’ products out there on Amazon. This has been tempting, but I simply couldn’t be competitive with the prices that are already out there. Reselling the hardware myself at the quantities that I could afford to buy it would’ve resulted in a huge competitive disadvantage for me.

But with USB drives, I found that wasn’t quite the case, or at least USB drives were inexpensive enough that my own markup only wound up amounting to what seems like a more palatable price premium. I am also gambling that there’d be enough people out there willing to support my blog by buying a slightly more expensive USB drive and that might make this a profitable endeavor—or at least not a tremendously expensive failure.

What about the Quality?

This is a question that gets asked about USB flash drives as the FreeNAS boot device all the time, even before I was buying and reselling my own. The cheaper the memory, the lower the quality. The quality of the memory used in flash drives is less than that of the memory used in RAM or SSDs. It’s a logical conclusion to think that the memory used in inexpensive promotional drives like mine is among the least expensive and therefore lowest quality.

Brian's Face USB Drive on my desk

While I believe this is a valid concern, I don’t think it is a significant one. Personally, I didn’t let that concern stop me from using two on my own NAS! However, for the people concerned about the quality, I’d urge them to make sure they mirror their FreeNAS USB Boot Device, to stick with my favorite SanDisk Cruzer Ultra Fit, or even better yet—do both!

Final Thoughts

What do you think? Was there a better way to try and generate some revenue for my site in my DIY NAS blogs? Do you wish there were other sizes of the Brian’s Face USB drive? Or are there other images other than FreeNAS that you’d like to see as an option to choose from? Let me know what you think. Assuming this experiment goes well, I’d love to work in your good ideas!

Backing up my FreeNAS to Backblaze B2

| Comments

For a very long time, my NAS was my backup plan. The primary function of my NAS was to store the backups of all of our PCS in the house. My approach worked pretty well except for two chief concerns: stupidity (a catastrophic destructive change) and some sort of disaster that deprived us of the NAS. While my approach of backing the computers up to my FreeNAS box covered the most likely sources of my problems, it has gnawed on me that there are other scenarios it didn’t account for. For example: fire, theft, tornados, and any number of other physical threats. For a long time, I’ve mitigated those with cloud storage providers like Google Drive and Dropbox.

Further complicating matters is the fact that I’ve switched to using SSDs in most of my computers, and the rate at which I’m generating content has skyrocketed. The photos and videos that I record for my blog take up quite a bit of space, and my recent obsession of flying freestyle FPV quadcopters has generated tons of high-definition videos. Reducing the storage capacity of my computers at the same time as ramping up my content creation has forced me to start using my NAS as the primary storage for much of what’s most important to me.

For quite a while, I’ve been pondering the complexity and price of backing up this critical data to one of the cloud storage providers: Amazon S3, Crashplan, or Backblaze B2 Cloud Storage. While I was pondering, I decided to back up that same critical data on our PCs to the cloud using CrashPlan, but weeks later Code42 abandoned the consumer market and yanked the plug on CrashPlan, leaving consumers like me in a lurch.

Without a real backup plan beyond my helter-skelter use of Dropbox and Google Drive, I wandered around aimlessly a bit, pondering exactly what I’d do.

Backblaze’s Blog to the Rescue

I love, love, love Backblaze’s Blog—the hard drive statistics that they share are an invaluable resource in my DIY NAS builds. I also love the detail that they go into when sharing the details about the Backblaze Storage Pod. Just the other day, I was battling through a normal workday and I saw this crawl through my Twitter feed on my phone:

Seeing this tweet reminded me that I needed to get off my rear and get back to addressing my outstanding concerns. That very weekend, I sat down and read through the Backing UP FreeNAS and TrueNAS to Backblaze B2 blog and knew exactly what I was going to experiment with next.

What is Backblaze’s B2 Cloud Storage Anyways?

Effectively, you pay a monthly flat rate of $0.005 per Gigabyte of B2 Storage. And when you need to pull down any of that storage, you pay $0.01 per gigabyte of download. At the moment, there’s nearly 11 TB of data on my NAS, but I don’t think much of that is critical. When you subtract out the amount of storage that my ancient backups, ZFS snapshots, and other cruft take up, there’s right around 2TB of data that I’d label as critical. Using Backblaze’s B2 pricing calculator, it’d cost me about $10 a month (2000GB x $0.005) to store that critical data. In the event that I lost all 2TB of that data in some sort of catastrophe, restoring that 2TB would have a one-time cost of $20 (2000 GB x $0.01).

At first, I wasn’t a big fan of how downloads carried their own cost, which is similar to how Amazon is pricing their competing S3 storage. But the more I thought it over as I wrote this blog, the more I began to understand and appreciate that Backblaze separates the pricing for downloads apart for their B2 Cloud Storage. It seems much more straightforward—other services are certainly accounting for the costs associated with the downloads and factoring that into the pricing of their product. But, depending on how you wind up using it, you may not do much—if any—downloading of your stored data. Considering how I plan to use Backblaze B2, it seems like a much fairer way to price retrieving your stored data.

How much work did it wind up being?

For the sake of this blog, I thought I’d demonstrate setting up a task that backed up the latest copy of my entire blog up to Backblaze B2. I figured I’d set everything up on Backblaze B2 in such a way that only the latest copy of what’s being stored on my NAS is uploaded and stored in the cloud. While I’m intrigued at the backup options and versioning that Backblaze B2 offers, I also didn’t want to wind up paying for storing multiple copies. I’m fine with only having the latest copies of my files backed up on Backblaze B2. With that in mind, here’s what I wound up doing.

Setting up Backblaze B2

  1. Create a Bucket
  2. Set the Lifecycle Settings to keep only the last version of the file.
  3. Follow the Show Account ID and Application Key link to Add an Application Key
    1. Name the Key
    2. Specify which bucket(s) to grant it access to.
    3. Specify the Type of Access (Read and Write)
    4. Note all the key information somewhere for later.
Creating a bucket Setting bucket's lifecycle settings Generating an application key

And that was it! I’d set up a bucket to retain only the latest copy of uploaded files. Now I just needed to set up my FreeNAS box to start syncing the bucket up with the current contents of my blog.

Configuring FreeNAS

Enter Cloud Credentials

  1. Expand System
  2. Expand Cloud Credentials
  3. Select Add Cloud Credential
    1. Name the Cloud Credential
    2. Choose Backblaze B2
    3. Enter the keyID (from above) as the Account ID
    4. Enter the text created and displayed one time only by Backblaze as the Application Key

Set up Cloud Sync Task

  1. Expand Tasks
  2. Pick Add Cloud Sync
    1. Add a Description
    2. Pick Push for Direction
    3. Pick your Cloud Credential from above for Provider
    4. Pick the bucket the sync is pushing to for Backblaze B2 Buckets
    5. Set the Path to the local Path of what you’re wanting to push to B2
    6. Set the Transfer Mode to Sync
    7. Pick the Task Scheduling Options which match your needs

Adding Cloud Credential for B2 application key Configuring the Cloud Sync tasks Cloud Sync task created. Cloud Sync task in progress Cloud Sync task completes

Overall, this was pretty much as easy as it seemed in the Backing Up FreeNAS and TrueNAS to Backblaze B2 blog made it sound like it’d be. For the most part, it was a pretty painless exercise. As I’ve been working on this blog, I’ve set up additional tasks to back up the critical files we’ve collected since we began using the NAS as primary storage. As I write these words, my NAS is working pretty tirelessly behind me. With each passing moment that my Cloud Sync tasks are running, I’m feeling a bit more at ease with the welfare of my critical data.


Once it was all said and done, I was pretty pleased with how this worked out. Backing up my NAS to Backblaze B2 was easier than I would’ve anticipated. However, there were a couple wrinkles along the way:

Interestingly enough, it took a try or two to get this running. My first attempt at running my Cloud Sync task claimed it was running, but no files were showing up in Backblaze and there wasn’t any outbound traffic on my NAS. After a while, I went in to look at the details of my Cloud Sync task and it wouldn’t (or couldn’t) pull up my list of buckets and there was a red error message which only read “22.” I did some digging around on Backblaze and found out that I’d hit my daily allotment of free Class C Transactions, which is 2500. After punching in my credit card info (Class C Transactions cost $0.004 per 1,000) and removing the cap, I saw the counts for the Class C transaction calls climbing by the thousands, but never saw any files transferred. I was stumped—I even posted a thread on the FreeNAS forums hoping someone would tell me if I’d made a newbie’s mistake or if there was some tweaking that I needed to do.

Because I’m impatient, I went ahead and upgraded from FreeNAS-11.1-RELEASE to FreeNAS-11.1-U6, and the next time I created and executed a Cloud Sync task, it started right up! I’m not entirely certain what fixed it: the upgrade, the waiting a couple days, or the entering of my credit card information and removal of the cap on Class C Transactions. But one or more of these steps seems to have solved my problem.

One other potential gotcha is that the Cloud Sync tasks are not currently using any client-side encryption. The client (rclone, I believe) being used to accomplish the Cloud Sync tasks to Backblaze B2 is capable of encryption, but the FreeNAS implementation does not currently leverage it. As I understand it, a feature request was submitted for client-side encryption and is going to be part of the upcoming FreeNAS 11.2 release, which is currently in its second beta. Once the client-side encryption feature is available in an official release, I’ll be emptying my buckets and refilling them with encrypted files.

Brian, what if I don’t have a FreeNAS or any NAS at all?

Wanting a solution to back up my PCs is what drove me to build my very first DIY NAS. If Backblaze had been as mature back then, I may have never had a justification to build a NAS in the first place! My advice to many of you would be to go ahead and build your own DIY NAS! After all, you’ve come to the right place to get started. I’ve got a DIY FreeNAS build to get you started thinking about how to build your very own FreeNAS machine.

However, if you don’t want to build your very own NAS, Backblaze has an awesome unlimited backup product which features a user-friendly client application that runs on either on your Macintosh or Windows. You could bypass the NAS entirely and start backing your PCs to Backblaze for five dollars a month per PC!

What about You?

I’m pretty excited with what I’ve been able to accomplish by backing up my FreeNAS machine to Backblaze B2. It ultimately solves a great big concern that I had with my prior strategy of keeping everything on the NAS and hoping that nothing catastrophic happened to my data or to my NAS. When it’s all said and done, I expect the cost of Backblaze B2 to be slightly less expensive for our uses, since we tend to aggregate all of our important data on the NAS and then access it from our various computers. But, given my experience so far, I’d happily switch to the Backblaze Unlimited Backup at $5/mo per PC if it turns out to be the more frugal option.

Are you using a cloud storage service to back up your critical data? What service(s) are you using and how much data are you backing up? What feature (like client-side encryption) would you like to see FreeNAS incorporate in future versions to further leverage services like Backblaze B2?

Brian’s Home Theater PC: The Hardware

| Comments

For a long time, I’ve been out of HDMI inputs on my television; the Fire TV, PlayStation 4, Steam Link, Google Chromecast, Blu-ray player, and my cable box were too much for my poor television to handle all at once. Never mind the other random gaming consoles and devices that get dragged out of storage from time to time. For a long time, I had an inexpensive HDMI switchbox which I’d routed all the gaming devices through, but I didn’t really like that I had added yet another device to my home entertainment setup. When things went wrong, and they often did, I was muttering expletives and juggling between 3 and 5 remotes to get what I wanted output to the television.

Out of frustration one time, I exclaimed “I wish I could just consolidate down a couple of these devices!” and unwittingly sowed the seed for a new blog topic and computer build—a Home Theater PC!


Ultimately, my lack of HDMI inputs and resistance to buying another HDMI switchbox or even a fancier TV is what set me down on this path. My most basic need was pretty plain: find a way to consolidate at least two devices down into the home theater PC (HTPC). At the very least, I wanted to replicate the functionality of at least two of my devices inside the HTPC. Additionally, my family has been keeping in touch with our extended family via Google Hangouts since the birth of my son. I figured as long as I was adding PC hardware to my entertainment center, I may as well make it so that we could do these Hangouts from our own couch instead of cramped around one of our desktop PCs, or worse, our smart phones.

The Objective

Ultimately, I decided that the Steam Link and Blu-ray player were the best two devices to consolidate into my HTPC. Other good candidates for consolidation were the Chromecast and FireTV. Having done a bit of initial investigation, it seemed like Kodi was going to be just what I wanted to accomplish my primary objective. Beyond my primary objective, Kodi’s extensive add-ons library also seemed like it might be able to potentially add the functionality of other devices. Even better, the extensive Kodi Add-ons library promised to add all sorts of functionality to my home theater that I hadn’t even thought of yet.


Normally in my blogs like this, I dive headfirst into the hardware in painstaking detail, justifying the choices I made. While I think that the hardware is quite important, I think the focus of an HTPC build is the software behind it. Nevertheless, I still obsessed a bit over the hardware. In picking out my components, I had these few loose requirements in mind:

  • I wanted it to look like it fit into my entertainment center without seeming obtrusive or like it didn’t belong.
  • It needed an HDMI out.
  • The hardware needed to be powerful enough to natively run some games on its own.
  • Whatever games it couldn’t run on its own, it needed to have the option of streaming others from my gaming PC.

Case and Power Supply

Considering my entertainment center’s layout, the case found itself scaling up the importance list. I had a very specifically-sized cubby in the entertainment center and I wound up deciding that I wanted a basic case without any fancy doors to hide my access to an optical drive. It was also important to me that the case had two front-facing USB ports for an infrared receiver and possible Bluetooth adapter.

I wound up deciding that I liked the SilverStone Technology GD09B (specs) primarily because it would fit so nicely in my entertainment center. Its single external 5.25” drive bay could fit an optical drive—assuming I chose to add one—and it had two USB 3.0 ports on the front for any USB devices I’d wind up needing. For a power supply, I chose the Rosewill Arc Series 450 Watt (specs) primarily for its cost. At 450 watts, it was capably sized for the hardware I was planning on running with hopefully enough extra capacity to perhaps survive an upgrade to a couple components over its lifespan.

CPU, Motherboard, and RAM

So far, I’ve been really happy with the AMD Ryzen 1800X that I put into my primary desktop/gaming PC in late July of last year. Part of my objective in my HTPC was to consolidate my Steam Link into the HTPC, but another secondary objective was to improve the performance of playing my Steam Library. The Steam Link is a brilliant device, but some of the latency introduced by the mechanics of how it worked doesn’t work as well with games that required speedy, twitchy responses. At the same rate, I didn’t want to build a new PC more powerful than my old one—so I tempered my lust for bigger and badder by opting for the AMD Ryzen 1500X CPU(specs) for my HTPC build.

My motherboard of choice on this particular build was the ASRock AB350 Pro4 Motherboard (specs). At its price, it seemed like a decent value, and I’ve had some pretty good luck with ASRock motherboards in a few of my DIY NAS builds, including my own. I was somewhat tempted to try the Ryzen’s onboard video, but opted instead to buy a separate GPU. The motherboard’s 8 different USB connectors—2 front, 1 Type-C, and 5 on the back of the motherboard—addressed a remote concern of running out of USB ports.

In comparison to other computers I’ve built recently, I skimped on the RAM in this build. In case you haven’t noticed recently, RAM prices are pretty outrageous right now. While I haven’t investigated to understand the reason prices are sky-high, I’ve seen the effects in shopping for my last two computer builds. I opted to bite the bullet for my HTPC to go light and buy a Crucial Ballistix Tactical 8GB Kit (specs). If I had my way, I would’ve put 16GB of RAM into this machine, but I imagine that 8GB will be quite fine for most of what I want to do.


Because I wanted to play some games using my HTPC, I opted to pick a GPU. Hopefully something powerful enough to handle most of my Steam Library and hopefully all of the stuff I’d be willing to play on a couch! I settled on the MSI GeForce GTX 1050 Ti 4GT LP (specs). Hopefully there aren’t many titles that I can’t play straight off of the bat at my TV. Should I come across a game title which the MSI GeForce GTX 1050 Ti 4GT LP can’t handle on its own, I will look into using Steam’s streaming to run the game on my main PC but play it down on the couch.


My days of using platter hard drives for anything other than storage are pretty far behind me, which is why I chose the Samsung 850 EVO 250GB. I’ve owned quite a few of the Samsung 850 EVO SSDs and haven’t had nearly as many problems with them as I have with platter drives. However, I also do build one or two NAS builds every year and I’m always looking to upgrade my own NAS. As a result, there’s a shelf in my closet with a number of old platter hard drives that were once in a NAS. One of these drives is bound to wind up in my HTPC, for no other reason than to be there for when I run out of storage on the SSD.

In picking out parts, I put something in this HTPC that I’d sworn years ago I’d never install in another computer ever, a LG Electronics 14x SATA Blu-ray Rewriter (WH14NS40) (specs). At this point, I’ve still got a few DVDs and Blu-rays that have sentimental value that I can’t bring myself to donate or get rid of. I hoped that in building my HTPC that I might be able to create a better experience for watching DVDs or Blu-rays than I currently get on my Playstation 4.


I had the most amount of fun shopping for the input devices than I did the rest of the HTPC build. Don’t get me wrong, I love shopping for PC components, but with as much as I do it for my other blogs, it gets a bit repetitive. Trying to find the right input devices wound up creating a bit of uniqueness in the HTPC build.

Because I’d be sitting clear across the living room on the couch, I wanted a decent wireless keyboard. Something small enough to fit in the storage bins built into our sectional sofa and with an integrated touchpad. After a bit of searching, I wound up finding the 1byone Ultra-Slim Wireless Bluetooth Keyboard (specs): a small, rechargeable Bluetooth keyboard and touchpad mouse combination. If anything, it might be a bit too small. I can’t imagine ever spending much time using the keyboard, but I wanted to have one nearby for when my remote control fails me.

One day, I envision having a single remote that works with all of my devices at my entertainment center. That remote will be intuitive to use, it will be simple to add new devices, it will intelligently figure out which devices need to be running and configure them for specific activities, and it’ll solve world hunger. Given my experience with universal remotes, I don’t think that device will ever exist! But when it does, I want it to be able to talk to my HTPC, so I added a FLIRC USB (2nd Generation) Universal Remote Control Receiver to plug into the front of my HTPC. I’m hoping that it’s within my capability and patience to be able to program my universal remote to control the media being played on my HTPC.

And to go along with that IR receiver, I picked out a Plugable USB Bluetooth 4.0 Low-Energy Micro Adapter (specs). The Bluetooth receiver was required to work with the keyboard and my various Playstation 4 controllers, which I plan to use when gaming. I’m hoping that the Bluetooth comes in handy for other purposes too, perhaps the streaming of media from our various Android or iOS devices. Maybe even a remote control app which runs on our phones?

Component Part Price
Motherboard ASRock AB350 PRO4 ATX Motherboard specs $84.99
CPU AMD Ryzen 5 1500X Processor with Wraith Spire Cooler specs $149.99
RAM Crucial Ballistix Tactical 8GB Kit (4GBx2) DDR4 2666 MT/s (PC4-21300) specs $101.99
Graphics Card MSI GeForce GTX 1050 Ti 4GT LP specs $209.00
Case SilverStone Technology GD09B specs $79.99
Power Supply Rosewill Arc Series 450 Watt specs $40.99
SSD Samsung 850 EVO 250GB specs $74.95
Hard Disk Drive Some Random 2TB HDD that I had laying around the house N/A N/A
Optical Drive LG Electronics 14x SATA Blu-ray Rewriter (WH14NS40) specs $50.99
IR Receiver FLIRC USB (2nd Generation) Universal Remote Control Receiver specs $22.95
Bluetooth Receiver Plugable USB Bluetooth 4.0 Low Energy Micro Adapter specs $12.95
Keyboard / Mouse 1byone Ultra-Slim Wireless Bluetooth Keyboard w/ Built-in Touchpad specs $25.99
TOTAL $738.84

Brian's HTPC Parts


The hardest part of putting this particular machine together was talking about it! I’ve watched my assembly video a few times and cringed at my misspeaking, mistakes, and the video quality a countless number of times! Compared to my more compact DIY NAS builds, the assembly went quite well. If you labored through the entire video, I pity you, but you also understand that about the biggest challenge I had was getting the video to display on my ancient monitor.

What’s Next?

Well, first I’m going to brush off four months’ worth of dust and accumulation and then I’m going to get an OS loaded. I haven’t completely decided yet, but I’m leaning towards a Windows installation on this HTPC. From a hardware perspective, I didn’t risk having to wrestle with finding drivers for the Bluetooth and IR dongles. More importantly, gaming’s an important aspect of my HTPC, and Windows has a much bigger gaming footprint. After the OS is loaded and the hardware has been tinkered with, I will start digging into Kodi and its competitors.

Brian's HTPC

In all that tinkering and learning, I suspect there will be ample material for another blog. Hopefully it won’t take another four months to get it fired up, but you never know—there could be a NAS build lurking and waiting to hog my attention!

Quadcopter Garage Sale – July 2018

| Comments

When I pick a new hobby, I go “whole hog,” and quadcopters has been no different. In fact, I’ve been more active with quadcopters than I am able to keep up with in writing blogs. I build, break, upgrade, and retire drones at such a rate that it has often exceeded my capacity to write about. As a result, I’ve been accumulating drone-related stuff that may not be all that useful to me anymore, but it’s still quite useful.

Have you been interested in quadcopters, but not knowing the best way to begin? I think that a deeply discounted, somewhat-used quadcopter is a great place to get started!

So here’s the deal…

I’m looking for an easy way to free up my drone storage and maybe buy a few spare parts for my favorite quadcopters with the proceeds. Let me start off by saying “Caveat Emptor!” Everything I’m listing here is going to be sold “as-is” without any kind of warranty or promises. The prices include me paying for shipping within the United States; if you’re outside the US then I’m very sorry but I won’t be able to sell to you. When it comes to people who may live in the same massive metroplex that I do, I’d really prefer if you just let me ship it, but maybe I can be talked into meeting up somewhere to deliver things.

Without further ado, here are the things I’m selling or have sold:


DJI Spark Fly More ComboSOLD!

Update (7/15 at 4PM): The DJI Spark sold!

With my first quadcopter, I was convinced that I’d be way more interested in aerial photography than flying FPV drones. So much so, that I raced out an preordered the DJI Spark Fly More combo when it was announced. I figured it’d be a good foray into drone photography and let me know if it was a good fit. Sadly, aerial photography just wasn’t all that interesting to me. As a result, my DJI Spark follows me out to the park every time I go flying but never manages to get up in the air. Rather than letting it gather dust any longer, I figured I’d put it up for sale!

Auction Link Opening Bid Buy it Now Final Price Status
DJI Spark Fly More Combo on eBay $150.00 $300.00 $300.00 Sold

KingKong 90GT++ and Spare PartsSOLD!

Update (7/22 at 7PM): The KingKong 90GT++ sold!

I love the KingKong 90GT; I’d never be where I am today without it. It’s the quadcopter that I learned how to fly FPV with. It was a fun little quadcopter that I could fly around easily enough outside, but it was inexpensive enough that I was emboldened to take the risks that allowed me to steadily make improvements until I was every bit as willing to take the same risks with bigger quadcopters.

The 90GT ultimately wound up getting pushed out of my bag by the fact that I simply had too many other quadcopters which I enjoyed. About my only complaint about the 90GT was that it was too powerful for inside the house, but not quite powerful enough to substitute in for my other bigger quadcopters.

In this auction, there’s literally one ready-to-fly quadcopter with a FrSky receiver, an entire assembled replacement, and a whole bevy of replacement parts—including spare flight controllers and video transmitters.

Auction Link Opening Bid Buy it Now Final Price Status
KingKong 90GT and Parts on eBay $35.00 $90.00 $126.50 Sold


Update (7/22 at 7PM): The Pseudo++ sold!

In my opinion, this is by far the best quadcopter I’m selling—but depending on your point of view it may also be the worst. I wanted to build a premium, mini quadcopter capable of keeping up with my bigger quadcopters and recording HD footage. It started out a bit more modest, as Brian’s Pseudo Mini Quadcopter. Since building it, I’ve upgraded the motors to the T-Motor F20 II, I’ve upgraded the frame to the HyperLite Tooth Fairy 3” frame, and I tried to upgrade the flight controller/ESC to a new stack with a built-in VTX in the ARTOWER Mini ARF4-SVTX F4 flight controller.

However, what I found was that I don’t like building tiny quadcopters. There’s too much going on in not enough room, so it wound up being something that I didn’t like doing. This was further complicated by the fact that any time I did a roll, it’d roll out of control until it crashed. I’ve seen similar problems that wound up being a bad ESC, but rather than subject myself to fixing it, I just ordered something prebuilt.

Please note that in the terrible picture of the flight controller, you see the wires of the receiver. The receiver is not part of this auction as I’ll be using it on a different quadcopter. Currently, Pseudo is in a bunch of pieces. But if you’re willing to tinker and put it back together, you can get a premium 3-inch quadcopter for a fraction of the price!

Auction Link Opening Bid Buy it Now Final Price Status
Pseudo++ on eBay $40.00 $100.00 $80.00 Sold

Furibee X215 ProSOLD!

Update (7/22 at 7PM): The Furibee X215 Pro sold!

At one point, I was looking to compliment my quadcopters with a decent “backup” quadcopter for when I wrecked one of my favorites. And then a funny thing happened, I mostly stopped wrecking my favorite quadcopters. And we also got better and more efficient at fixing our quadcopters. I only flew this FuriBee X215 Pro a handful of times. It flew well enough, but I wasn’t super impressed with it and very quickly it wound up gathering dust in a box. It’s been a few months, but it flew just fine the last time I took it up. My X215 includes a FrSky receiver. Check out UAVFutures’ review of the X215 Pro which convinced me to buy it in the first place.

Auction Link Opening Bid Buy it Now Final Price Status
Furibee X215 Pro on eBay $50.00 $125.00 $102.50 Sold

Miscellaneous Odds and Ends

STRIX 4S Parallel Charging BoardSOLD!

Update (7/22 at 7PM): The STRIX 4S Parallel Charging Board sold!

I really, really liked the STRIX 4S Parallel Charging Board, but ultimately I wound up building quadcopters around 6S batteries and it got a bit constraining to be so limited to the kind of batteries that I could charge. I wound up switching over to a different balance charging board, but figured someone out there might appreciate their own STRIX 4S Parallel Charging Board

Auction Link Opening Bid Buy it Now Final Price Status
STRIX 4S Parallel Charging Board on eBay $10.00 $20.00 $18.50 Sold

Lumenier DX800 DVR w/ 5.8GHz 32CH ReceiverSOLD!

Update (7/22 at 7PM): The Lumenier DX800 DVR sold!

Among the things I’ve always wished was that it’d be easier for us to share a display with a random stranger who comes up to us in the park and wants to learn a little bit about our first-person-view quadcopter shenanigans. I had thought that this Lumenier DX800 DVR w/ 5.8GHz 32CH Receiver would make it easy to hand off a working display to that spectator so that they could see what’s going on. However, given that we fly primarily during the day, it wound up being really difficult for folks to see with or without the included sunshade (which I’ve misplaced). Pretty quickly, I figured out that this wasn’t going to be a solution for me, but it might work better for you!

Auction Link Opening Bid Buy it Now Final Price Status
Lumenier DX800 DVR w/ 5.8GHz 32CH Receiver on eBay $25.00 $52.00 N/A Sold


Update (7/22 at 7PM): The SKYRC IMAX B6AC v2 sold!

The SKYRC IMAX B6AC v2 wound up being my very first LiPo battery charger; it had come highly recommended to me by a friend with expertise. And it served me very well for quite a long time. I charged single batteries, I charged batteries in parallel (with the charging board above!), but I wound up coming across a different battery charger that I wound up liking better because I could combine it and a really big battery and do some field charging. My new charger quickly replaced the B6AC for all my charging duties.

Auction Link Opening Bid Buy it Now Final Price Status
SKYRC IMAX B6AC v2 on eBay $13.00 $26.00 $21.29 Sold


At the rate that I’m buying, breaking, and upgrading quadcopters, I think this will turn into a regular thing. I’m hoping that as I do bigger and badder things with my drones, that someone curious can come in and buy what I’ve outgrown to get into the hobby on their own.

Trade Wars 2002: My First Gaming Addiction

| Comments

A long, long time ago in a decade we refer to as “the 80s,” I was a fledgling computer geek—a fire sparked and stoked by my parents when they purchased a used Apple IIe. In the midst of my tween years, one of my older cousins came over with a handful of floppy disks and showed me a number of new things. One of the things he introduced me to was the world of dial-up bulletin board systems (BBS), and by the time he left that afternoon, I was hooked!

In short, a BBS was essentially a very crude social-networking platform. You would use your dial-up modem and a terminal program to connect, and once you managed to log-in, you could post messages, share files, and most importantly to my younger self, play games. BBSes came in all shapes and sizes, from small single-line BBSes operated by hobbyists to great big complicated multi-line BBSes hooked into big messaging and file-sharing nodes.

What really became my obsession in the BBS universe were the BBS door games. A BBS door was essentially a way the BBS handed off a user to an external application. The type of BBS doors that got my attention were the door games. The fact that I could play games against other people without them being present was amazing and exciting to me. Games like Solar Realms Elite, Operation Overkill II, Global War, and even Freshwater Fishing Simulator occupied the majority of my time whilst dialed in to the BBS. Regardless of the games’ subject matter, they all operated pretty similarly: each day you received an amount of turns which were used up as you played the game. A particular genre of BBS Door games wound up drawing the majority my attention: space trading and adventuring.

I played the original Trade Wars before moving on to Yankee Trader and then eventually to what I consider the penultimate game of this category: Trade Wars 2002 (TW2002). The game was built upon each player using a spaceship to buy and sell goods to accumulate wealth. That wealth, in turn, was used to buy bigger and badder ships, colonize planets, and eventually to conquer the universe.

At the time, TW2002 was, in my opinion, the pinnacle of online gaming. Keep in mind however, that it reached its peak in popularity at a time when the term “online gaming” didn’t even exist yet. One of my favorite features of TW2002 was its animated ANSI graphics for some of the game play mechanics. Destroying a ship, a planet, or even getting blown up yourself all resulted in some nifty animations which looked pretty awesome to me over my 2400 baud modem in 1980-something. For comparison’s sake, my Frontier FiOS is capable of nearly 9 million characters per second, while that 2400 baud modem’s maximum throughput was right around 236 characters per second. My FiOS is roughly 38,000 times faster than that modem. Considering the limited transmission capabilities of that age’s technology, I am impressed that anything was animated in the game at all.

Little geeky tweenage Brian played TW2002 on a handful of different BBSes. I’d like to be able to gaze back through my rose-tinted glasses and wax poetic about the mastery of the many universes I demonstrated, how I’d built massive empires in different galaxies and ruled them firmly but fairly. But I’m modest enough to admit that I was a very middling player. I was always excited to crack the top 5 or 10 players on any of my BBSes. It’s this admission that really typifies what a great game TW2002 is—it was so entertaining to me that I enjoyed playing it even though I might not have been very good at it.

Sometime around 2000 to 2002, I got nostalgic about BBSing and I wound up spending a few dollars and standing up my own BBS which ran as a telnet server over my Internet connection instead of using a modem and phone line. I named that BBS “Oober BBS,” which I am surprised to see that it still turns up in Google’s search results. I wound up standing up quite a few of my favorite BBS door games, but my entire motivation around that nostalgia was playing some more TW2002. Sadly, back then I didn’t have nearly the digital reach that I have today, and only a few of my friends even had an idea of what a BBS was. As a result, my own BBS experiment didn’t wind up being very successful.

But the other day, I was discussing Trade Wars 2002 over at the Plano-area Makerspace,, and I was excited to find out that a handful of the other members had also been into the BBS scene and played some of the games like TW2002. I mentioned to them that I had licenses to the game and asked about their interest in joining me in my nostalgic gaming kick. Enough people seemed interested that I decided to try and get a virtual machine spun up in Azure and see if I could start up a game of Trade Wars 2002 which everyone could play.

Without further ado, I’m genuinely excited to announce that I’m resurrecting a sliver of the Oober BBS by bringing its Trade Wars Game Server back online. The Trade Wars Game Server can function independently of any BBS software now and is accessible over the Internet.

How do I connect?

First you’ll need some sort of a telnet client to connect to the Trade Wars Game Server. There are a plethora of free Telnet clients, but my favorite one has almost always been PuTTY. As an alternative, there’s at least one Trade Wars game client that I’ve found so far that I like: SWATH. Unfortunately, it’s not free, and to be honest I think it’s a bit expensive at $26.00. However, there are quite a bit of features and functionality built into SWATH that are extremely handy. In fact, it has a scripting language of some sort that I hope to use and create a bot that can scrape some information about the game and help me automatically tweet a thing or two about what’s going on.

Brian’s TWGS Info
Discord Chat

Game Info

At the moment, there’s only one game running. That may change in the future, but you can find the initial game’s settings and info as of 3/3/2018 at 9:45 AM below. Everything is currently set to the default values. What sort of tweaks and adjustments would you like to see in future games? Please make sure to leave your suggestions in the comments below!

Registered to    : Brian's Blog
Version          : 3.34b                Host type           : TWGS v2
Age of game      : 141 days             Days since start    : 141 days
Delete if idle   : 30 days

Players in game  : 24    of max 200     Percent good        : 83%
Aliens in game   : 50    of max 0       Percent good        : 36%
Ports in game    : 393   of max 400     Value of ports      : 13052553
Planets in game  : 175   of max 200     Percent w/ Citadels : 26%
Ships in game    : 40    of max 800     Corps in game       : 10
Figs in game     : 563232               Mines in game       : 863

Game type        : Open                 Game time           : 09:52:40 AM
Time per day     : Unlimited            Turns per day       : 250
Planetary Trade %: 60%                  Steal from BUY port : Yes
Initial fighters : 30                   Clear Busts Every   : 7 Days
Initial credits  : 300                  Last Bust Clear     : Yesterday
Initial holds    : 20                   Multiple Photon fire: No
Sectors in game  : 1000                 Display StarDock    : Yes
Start with planet: Yes                  Classic Ferrengi    : Yes
Production Rate  : 5% / Day             Max Regen per Visit : 100%
Tournament Mode  : Off                  Invincible Ferrengal: No

Report Settings

High Score Mode    : On demand          High Score Type   : Values
Rankings Mode      : On demand          Rankings Type     : Values + Titles
Entry Log Blackout : None               Game Log Blackout : None
Port Report Delay  : No Delay


Ship Attack/Move : Third (1/3 s/t)      Planet Move    : None
Other Attack     : None                 Rob/Steal      : Constant (2 s)
Photon Launch    : None                 Photon Blast   : None
Ship IG          : None                 Planetary IG   : None
Dock/Depart      : None                 Land/Takeoff   : None
Drop/Take Mines  : None                 Drop/Take Figs : None
Planet Transport : None                 Ship Transport : None
EtherProbe Move  : None                 GenTorp Launch : None

IO Emulation

Input Bandwidth  : 1 Mps Broadband
Output Bandwidth : 1 Mps Broadband
Latency          : 150 ms

Sonoff S31: I Cannot Imagine a Better Smart Outlet!

| Comments

I’ve been a big fan of the Sonoff lines of products, starting with the Sonoff and Slampher back in 2015 and then again last year with the Sonoff TH and POW products. I’ve liked them primarily for two reasons: they’ve been based on the ESP8266 and because they are comparatively inexpensive. I’ve tried other products, namely the Belkin WeMo, and I’ve found that the Sonoff products compare favorably in nearly every category. I was really excited when the Sonoff S31 became available—it was by far their most appealing product to date.

With the prior Sonoff products, there was a tiny little bit of assembly required. Not too much, mind you. But you did have to hack into the power cords of your devices, or in my case, I’d cut up little power-extension cables and wire them up. I must admit that hacking these power cords up and integrating the Sonoff products actually wound up being a bit of a selling point for me. It was a bit fun to have to do the wiring, but I could see how that might scare off consumers that are not as eager to play with electricity.

Nothing bad ever happened with my Sonoff products, mind you. The worst thing that happened was that I put a couple together poorly and had to deal with some devices losing power after one of the wires worked loose. Electrocuting myself was never an immediate concern, but I’d be lying if I said it didn’t cross my mind from time to time. However, it made me wonder what might happen if my friends at ITEAD were to try and build a product a bit more finished, like the Belkin WeMo. What would that be like? How would it compete against the other devices like the WeMo?

Enter the Sonoff S31

The Sonoff S31 (specs) appears to be ITEAD’s foray into a more consumer-friendly product. Its most exciting feature is obvious to the naked eye: it has been designed into its own enclosure. The enclosure is small enough that you can comfortably fit two Sonoff S31s into a typical outlet here in North America. What I’d had to do with my previous Sonoff TH and Sonoff POW was to screw them into the wall nearby, which wasn’t always the nicest-looking solution. Even though I had enjoyed hacking into electrical cables and wiring up to the prior generations of Sonoff products, it occasionally worried me that things might come loose. Being able to eliminate the potential of my own shoddy work immediately piqued my interest when I learned of the Sonoff S31’s existence, and at around $18.00, I was really excited with how it was more affordable from the comparable units from other manufacturers.

Power Features Built-in!

I borrowed Pat’s Kill a Watt so frequently that it was every bit as likely to be found at my house as it was his! After borrowing the Kill a Watt for the umpteenth time, I went ahead and bought my own. Over the years, I’ve used it in a number of different ways—just about anything I’ve ever expected to use more than its fair share of electricity has found itself plugged into my Kill a Watt. My curiosity about devices’ power consumption was what had me the most excited about reviewing the Sonoff POW last year.

The Sonoff S31 took the advances of the Sonoff POW a step further. Within the app, in addition to displaying the wattage being drawn by the Sonoff S31, the app also displayed the current and the source voltage. Digging into the details of the device in the EWelink app gives you the ability to measure power consumption over time and set up a number of alarms (realtime power minimum/maximum threshold, current threshold, and voltage threshold).

The ability to monitor and report on the power consumed by the device(s) plugged into the Sonoff S31 is a huge selling point to me. I’ve had my Kill a Watt for quite some time, but its price is pretty much exactly what I paid for it a few years ago. The fact that I can get a Sonoff S31 for pretty much the same exact price would make it really easy for me to suggest that people who are interested in measuring the power consumed by their devices check out the Sonoff S31 over the Kill a Watt. Being able to monitor the Sonoff S31 on a mobile phone from anywhere with Internet access makes it a better alternative to the Kill a Watt.


Home Automation

The best part of the maturation of ITEAD’s Sonoff products is the integration of services like IFTTT, and products like Amazon Echo and Google Home. The past couple months I’ve been playing with one of the Raspberry Pi-driven Google AIY Kits at home. Apparently, I have been engrossed enough with the Google AIY Kit, that my wife bought me a Google Home as an anniversary present. And just a few weeks prior, Santa had brought an Amazon Echo Spot for my wife this year. The fact that the Sonoff S31 was being advertised as compatible with both the Google Home and Amazon Echo products was a tremendously interesting feature for our whole household.

That being said, I probably wouldn’t define being able to ask Google (or Alexa) to turn my lights on for me as home automation. You’re simply using your voice to replicate what you used your hands to do previously, turn something on and off. In the end, you’re still the one manually turning the lights on or off. If you have a stricter definition of home automation and you’re looking for a much more truly automatic solution, look no further than openHAB, which boasts modules for the Sonoff products. I haven’t had the time yet to dedicate to it, but one of the things I want to run on my homelab machine is an openHAB virtual machine and to create a set of rules to determine whether or not I’m home using a set of conditions like:

  1. If any of our mobile phones can be pinged on the network.
  2. Whether or not our computers’ screensavers are active.
  3. The TV is on.
  4. The time of day.
  5. Etc.

Using those conditions and openHAB will allow for some actual home automation. But all of that’s a topic for another day! I look forward to seeing how my Sonoff S31 and other Sonoff products end up working into those plans!

I used a Sonoff S31 to control my face!

I wanted to experiment with the different ways I could work with the Sonoff S31, both semi-automated and automated. Especially since my darling wife bought me a Google Home for Valentine’s Day. Here’s a couple quick and tasks that I built around using the Sonoff S31’s capabilities.


My son, Gunnar, is nearly two years old and is absolutely the current center of our universe. A couple times while commuting home from my day job, I’ve been apprised that Gunnar’s been screaming “Where’s Daddy?!” at my exasperated wife. Back when I was building my keezer, I purchased a silly custom edge-lit LED sign with my face on it. Since buying it, it has dutifully sat on top of a built-in bookcase and perpetually lit up.

I was looking at it just the other day and thought that it’d be neat if I used [IFTTT][ifttt], my mobile phone, a Sonoff S31, and my sign to indicate whether I was close to home or not. Using the GPS on my phone along with its Internet access, I could turn the sign on as I got within a few miles of the house. Or using the EWelink app, maybe my wife could placate Gunnar for an extra few minutes by turning the sign on from her own phone.

Using Google Home

As a Valentine’s Day gift this year, my wife bought me a Google Home smart speaker. I’ve barely had a chance to tinker with it, essentially using it as a fancy kitchen timer for the making of my morning upside-down method AeroPress cofee, playing some music, and telling me whether or not the weather’s going to let me fly my quadcopter this week. Considering the timing of this blog, it only seemed to make sense to try and see how complicated integrating the Sonoff S31 to Google Home’s functionality was.

And you know what I found out? It’s not hard at all! Not only was I able to integrate ITEAD’s latest in the Sonoff S31, but every Sonoff device in my account was pulled in by Google Home and worked right off the bat. Even the protoype of the first Sonoff product that I was given to review nearly three years ago immediately started working with the Google Home. To be completely honest, I was astonished at how easy it was to get my Sonoff devices working with the Google Home.

How does the Sonoff S31 Compare?

I’ve tinkered with quite a few “smart outlets” like the Sonoff, and in the past I’ve preferred the Sonoff’s inexpensive price despite the Sonoff requiring the splicing of electrical cords as part of its installation. A little bit of work on my part was always worth the fact that the Sonoff products were a fraction of the price of similar products. In the Sonoff S31, ITEAD has built something to compete directly with the likes of the WeMo Mini Smart Plug and tp-link Smart WiFi Plug Mini. However, in the case of the Sonoff S31, it is both considerably cheaper than the other products and it includes power-monitoring features that the other two completely lack.

Final Thoughts

I’m pretty excited about the Sonoff S31. It is absolutely everything that I could ask for in a “smart” outlet. It has a small footprint, it has power-monitoring features, it integrates into both the Google Home and Amazon Echo products, it’s bit hackable, and—best of all—it’s inexpensive! In my opinion, the folks at ITEAD have really hit a home run with this product. ITEAD originally offered to send me one free Sonoff S31 to review, but when I saw its cost and features, I went ahead and bought 4 of my own. Now that I’ve had the chance to use the Sonoff S31, I’m pretty eager to buy additional ones and begin automating or monitoring more of the things plugged into my home’s outlets! As a bonus to my blog’s readers, ITEAD has issued a coupon code. Enter S6CUSNS9 for 10% off either a 1 or 2 pack of the S31 when buying them from Amazon (Link:Sonoff S31 on Amazon)!