I was traveling most of March, so I wasn’t in a launch-day rush, but after reading some reviews, I saved a couple hundred bucks and went with a $320 Ryzen 7 1700. As a bonus, the 1700 comes with a nice looking (and pretty functional) CPU cooler and my copy easily overclocks to 3.7GHz (3.8-3.9 pushing voltages, but I’d probably upgrade the cooler in that case – you can purchase pre-binned versions here).
I bought an MSI X370 Gaming Pro Carbon primarily because it was a nice monochrome look and had dual M.2 support (only the first slot runs at PCIe 3.0 x4 sadly due to the Ryzen 7/x370’s PCIe lane availability), but I wouldn’t recommend it. While it’s had some BIOS updates, it still doesn’t have the latest 4/10 AGESA update, and in general has had sluggish support and a few issues (my personal gripes: pokey POSTing, no last-good/soft-CMOS reset). Personally, if I was buying a top-of-the-line board, I’d probably go with the Asus ROG CH6 – while it doesn’t have a second M.2 slot, you could put a PCIe adapter board on the last slot for that. As a bonus, there are a bajillion USB ports.
Instead of buying new GPUs, I just brought along a couple RX470 mining cards (sadly, these two weren’t running the past two months – that would have been $400-600 of missed earnings w/ the ETH run-up). I have them beavering away in the background right now while the system idles. (I am running the latest 17.4.2 drivers but with a BIOS signature check bypass).
One note during installation is that I had hard-lockup problems when installing from a 2015 Windows 10 stick – you’ll want to make a new one, w/ a 12/2016 ISO I didn’t have any problems.
While my VR development has been a bit sidetracked recently (one guess why), with the release of Nvidia’s Pascal 10-series mobile GPUs, I’ve been looking forward to abandoning my previous portable VR workstations and switching to a more traditional, relatively compact laptop.
I was originally most interested in the Aorus X3 Plus V6, but its release was so delayed, that I ended up preordering the Dell Alienware 13R3 when it was announced in November. Due to some discount hijinks (and the fact that it hadn’t shipped when it was scheduled to), I ended up reordering during the Black Friday sales. Delivery was originally scheduled for Dec 5, but got pushed back until the 22nd, by which time I was already out of the country, so I only this week finally had a chance to break it out and put it through its paces.
So, first, some positive things:
OLED screen – the main reason I decided I wanted the Alienware 13, despite the long wait and a few other concerns, was because of the screen. While only 60Hz, the OLED pixels really are glorious – sharp, contrasty, with 1ms switching and a ridiculous color gamut (104% AdobeRGB). It’s a capacitive multitouch screen (I don’t like to touch my screens but the one time I accidentally did, it seemed to work), and it’s mounted on a very solid hinge that doesn’t not wobble *at all* when typing. There is an achilles heel, but I’ll save that for the ‘cons’ section.
Good performance – If you order the 13R3 now, you’ll get the latest Kaby Lake (7-series) processor – mine was in the one-month window where the Skylake (6-series) shipped, however the performance difference is minimal (the Kaby Lake might have an ever so slightly better boost clock). I got mine with the highest specced i7-6700HQ that despite worries due to thermal problems in many early subreddit threads, ended up running fine. CPU stress tests clocked it at about 75-80C running at a boost clock of 3.1-3.2GHz, with even lower temperatures undervolting w/ Intel XTU. Sadly, when running benchmarks like Valley or gaming, the system still ended up being about 20% slower than my compact (stock) i7-4790K and GTX970 combo, but I doubt that any other GTX1060 based portable system would do much better (the GPU clock of the GTX1060 didn’t boost to 1900MHz, but stayed a reasonable 1600-1700MHz at around 80-85C while gaming).
The keyboard and trackpad were top notch, both in feel, and surprisingly, with the lighting on the trackpad (this is configurable, but by default the trackpad glows when in use and it’s actually pretty neat). The top plate is a soft touch plastic that is nice, although even over a couple days of light use, has started to acquire a few spots of sheen (ick, I know).
The Webcam has IR support for Tobii eye tracking (never used) and Windows Hello logins (which actually works great and is delightful)
Build quality is super solid – it’s built like a tank and it feels like you could definitely use it as a bludgeoning tool and then continue on your merry way. It’s also worth noting that swapping RAM (2 slots) or m.2 SSDs (2 slots) is a breeze – literally 5 phillips screws on the bottom, which is a big plus. The service manual is online, and overall, near complete disassembly looks like a breeze.
Due to the delays, I ended up calling Dell customer service a few times, and while not always completely helpful, I didn’t have to spend too long on hold and most of the time it felt like they were moving the ball along, so kudos for that.
OK, now with the cons, which includes some pretty serious stuff, sadly.
The screen – As I mentioned, one of the main reasons I picked the Alienware 13 over anything else was the OLED screen. And it really is glorious – as long as you are in complete darkness that is (that Achilles heel I mentioned). Even in indirect or low ambient light, the screen is basically a mirror, and if you like running dark text terminals like me (which would also be better for the OLED’s battery life), you will spend a lot of time staring at your own reflection. I really can’t fathom why someone would have such an otherwise awesome display and then put it behind such a glossy piece of glass.
Size and weight – While the build quality is admirable, and in theory I knew it was heavier than some of the alternatives, it’s not until you get it in your hands do you realize how bulky it really is. The computer itself is 2.5kg (5.5lb), and the power brick is another 0.8kg (1.7lb) on top of that. In total, you’re looking at almost 3.3kg (7.2lb) for the package. The sizing isn’t much better. It’s relatively thick at about 24-27mm (the other dimensions aren’t super small either), but worst of all, the center of the laptop is actually pointy, not flat. This makes propping the laptop up or using many laptop stands a non-starter. I don’t really know what Alienware was thinking with that design element.
Battery life – shorter battery life is something that I expected but in practice, turned out to be unacceptably low (much lower than reviews and claims I had seen) 84t92ao. In my unscientific rundown test of random web browsing and YouTube video watching, I got 3h 10m of use from a full charge before it shut down. This was in a darkened room and I don’t think I heard the fans turn on once mind you, so I don’t think it was stressing the system (also, w/ the OLED screen, you can’t disable Optimus, so I assume it wasn’t working out the dGPU even).
I paid a few bucks extra for the Killer 1535 (vs 1435) network card, which is supposed to have solved some of the older 1435’s connection problems. I also uninstalled the Killer Suite and reinstalled just the drivers, as that’s supposed to help as well. Alas, for whatever reason, the 1535 would drop connection (well, remain connected but time out on packets) about once a day. I have half a dozen devices running on my AC wifi without issues, so I’ll lay the blame on the card – it’s a relatively minor issue since it’d only be about $30 and 5 minutes to swap it out w/ an Intel wifi card, but I figure I’d mention it, while I’m piling on.
As I mentioned, there’s some minor throttling under gaming loads (1600-1700MHz on the GPU vs the 1900MHz max boost), although angling the laptop for better ventilation didn’t seem to improve things much. I also noticed some minor occassional graphics memory corruption in certain overlays in the game. Note: performance improved by about 10% after updating to the latest Nvidia WHQL drivers. There’s probably more I could have done to tweak out performance, but the screen, life, and bulk really killed my enthusiam
As you might expect, after a few days realizing some of the shortcomings, I’ve ended up deciding to return the system. I think for those that don’t fly/travel as much, or that don’t mind extremely glossy screens (there must be a lot of people like that, because I feel like Dell isn’t the only offender here), this might be a good fit. There really are a lot to admire here, and the reviews that I read/watched were mostly positive, so I don’t want to give the impression that this laptop is a total stinker.
For those looking at lightweight/portable VR capable workstations, your options are still sort of limited. I’ve ordered a Gigabyte Aero 14 that will hopefully address the worst issues I had with the Alienware 13 – it has a matte anti-glare IPS display (sadly w/ average color gamut), is 1.9kg (the 2.4kg weight with the power adapter is the same as the weight of the Alienware laptop by itself) and is almost 50% thinner. It also has a beefier 94Wh battery (Gigabyte has made claims for 10 hours of use, but honestly, I’d be happy if it could hit 5h of web browsing) and an Intel 8260 wifi card. Gentech is also offering a free liquid metal CPU+GPU repaste so I have some hopes that performance might actually be a bit better as well.
Here’s a couple video reviews of the Alienware 13:
(Just look at that glare in the Linus video – he doesn’t mention it at all)
Note, this is actually cheaper (and brighter) than the cheapest reasonable 60 Watt Incandescent A19s I could find. These are 2700K soft white, 60W, 630 lumens bulbs rated for 3500 hours (pretty good!) and cost $4.97 for a 2-pack ($2.49/bulb).
Before we calculate the power-inclusive cost, lets just total bulb replacement cost based on rated lifespan. The LED bulb is $1.99/10K hours, the incandescent is $7.10/10K hours, and the halogen is $9.17/10K hours. It’s somewhat surprising, that even if electricity were free/infinite and a non-issue, the LED bulb would still be over 3X cheaper than the incandescent now (post 2014 phaseout, prices will probably keep going up if you can even find standard incandescents).
Now, lets look at power over the same 10K hours using the 13 c/kWh average rate. The LED light bulb would use 85kWh, costing $11.05. The incandescent would use 600kWh, costing $78. And the halogen would use 430kWh, costing $55.90
In my 2006 post, my 110M household number stats was actually probably outdated/from previous years. In any case, Statista pegs 2015’s households at 124.59M, we can conservatively ballpark 2016 household numbers at 125M
We can now do a 1:1 update of the 2006 numbers. Replacing a single incandescent light-bulb per household with an LED bulb (probably a lot less common now), you would save approximately $9B over the lifetime of a single LED bulb
When looking at the power usage, say taking the 5 hours/evening usage from the old post (1826.25 hours/year), we end up at just under 12M MWh power savings, or about 1.5 1000MW nuclear power plants
Based on a ballpark distribution cost of $250M (assuming bulb+handing out bulbs = retail cost of the bulb), we end up at about $21/MWh saved, far cheaper than USD/MWh costs for any type of new power plant.
The LED bulbs linked above are CRI80 while the incandescents/halogens are CRI100. A high CRI (90, 93) LED bulb runs at about $4 or $5. Either way, they should in general be more pleasant than most CFLs from last decade.
GWB signed the EISA that had a low-efficiency incandescent phase-out (triggering the introduction of halogen alternatives, more about that here and on wikipedia)
Last week, GoPro announced its long-awaited drone, the GoPro Karma. The most compelling part is that it’s a modular system that includes the drone and a 3-axis gimbal that can be detached and used as a handheld. The product itself is super polished and includes a carrying backpack (w/ a chest mount no less) for a very reasonable price. For $1099, you get the system with a GoPro HERO5, which offers top-of-class image quality – honestly, GoPro’s promo vid, entirely filmed w/ GoPros, needs to be seen in high quality (youtube-dl -f 266+140 'https://www.youtube.com/watch?v=vlDzYIIOYmM') to be believed.
Today, DJI responded with the DJI Mavic, a foldable/portable drone that is smarter (it has all the obstacle avoidance and object tracking of the Phantom 4 and more) and incredibly small (folding into probably half the volume). It also has a (super-tiny) 3-axis gimbal and a camera that looks about on par w/ the HERO5 Session. It is $999 w/o a carrying bag/backpack, and neither the camera or stabilizer are modular (it also requires your smartphone to use for navigation vs the Karma’s AIO controller). Here’s the best hands on I saw today:
I’m definitely in the market for a travel drone, and while the Mavic’s stability is perhaps a question mark (UPDATE: looks good on Casey’s video), in almost every other way, it’s an obviously a better drone than the Karma, but if you are looking for more general (ground + air) filming, to get the same setup you’ll need to either pack your phone and spend another $300 for something like the DJI Osmo Mobile or for all-weather/action use, a stabilizer and an action camera (conservatively $500 total). As a do-everying solution, the GoPro Karma is compelling, even more-so when you consider that you can upgrade the camera separately. (While the HERO5 is w/o a doubt “the best GoPro ever,” honestly I was hoping that GoPro would end up offering an Ambarella H2 option for 4Kp60 10-bit capture and >60Mbps recording. Well, there’s always next generation.)
As of right now, I’ve preordered the Mavic, as the image quality is good enough, I don’t much care about the GoPro accessory or software ecosystem (both of which could be big pluses for some people), and I’m much more weight/volume than price sensitive. I sold some of the GPRO today that I bought a couple weeks ago to defray the costs (I’m actually still pretty bullish on GPRO and still long on it. Also, was pricey by the time I looked at it, but AMBA has been on a tear and maybe be the real winner from the drone wars.)
I’d like to start doing some more video in general, but I’m currently a bit undecided on the right mix of cameras. A m43 upgrade is almost certainly in the cards (the new Olympus EM1mk2 will do Cinema 4K 237Mbps recording w/ IBIS as well as a monstrous 15fps mechanical shutter for stills. The GH5 will do UHD 4Kp60 422 although details are sparse since it won’t be out until mid-2017), but I’m a bit unsure on what kind of stabilized (waterproof?) camera I’d want to go with, and whether there are any worthwhile stereo-180 or mono-360 cameras coming out (I’m tracking a bunch of options, just haven’t seen anything great yet).
UPDATE: The Karma does not fare well in this comparison:
UPDATE 2: Hmm, maybe not so terrible, the Hero 5 video quality is better and you’ll be able to upgrade the camera as well…
By my count Lensley is going into year 8 (jeez) but despite working with all kinds of image and video processing over the years, I only just finally got around to sitting down and grokking ffmpeg’s filter_complex this past week.
While it’s conceptuallysimple, the syntax documentation is rather dense and unintuitive. Web searches will let you find how to do any number of things, and you can hack your way for most stuff (in the past I’ve used h264_mp4toannexb, various intermediates, and concats to chain things together for example), but recently I found two writeups that were particularly useful in breaking down how -filter_complex works:
This Stack Overflow answer does a great job breaking down the exact construction of a relatively simple multi-stream complex filtergraph
One thing to note is that image2’s frame inputs remain stubbornly limiting and it’s tempting to simply do image manipulation externally to pass in, but doing it all in ffmpeg was at least 10x better performance than using ImageMagick for preprocessing. ffmpeg is just stupidly fast. I simply end up writing temporary symlinks and calling the ffmpeg bin, but you can also now conceivably use PyAV in Python which has just recently added filtergraph access to its libffmpeg/libav bindings.
Another recent “I probably should have sat down and figured this out years ago” moment was finally figuring out single-line multi-hops. I’ve been an “intermediate” level SSH user for a while now, figuring out SOCKS proxying and autossh-based tunneling a long while back. All our Lensley machines automatically reverse tunnel to our config servers and I have both ssh configs and various portmapping scripts to make connecting relatively easy.
However, my access (whether it be connections, port forwarding, or file copying) has always required an extra step for chaining until I stumbled on a post about multi-hop proxying. Now that particular description is confusing as hell, but the secret is in the -t part of the command. Here’s a much clearer description. So now I have a script that lets me connect to a reverse tunneled machine in one command that looks something like:
ssh -t server ssh -t localhost -p $port
Of course, there’s more than one way to skin a cat, and it looks like OpenSSH 7.3, released just a few days ago, has just added a ProxyJump command that makes life easier.
That script I wrote also tests first to see if a machine is available on the local network using curl (better than ping I think. netcat -z would be preferable but even w/ time-out set to 1, it always takes 5 seconds to time out):
It’s been a long while since I’ve spent much time thinking about file compression tools, but I was running out of space on one of my smaller SSD’s and the culprit was mainly lots of large multi-GB TIFs and PSDs that had accrued in our Lensley Dropbox.
My first thought was xz, since it compresses super well, but I was growing old waiting for files to compress and decided to switch. lrzip seemed like a good option, and performance was much better than xz, and threaded (and with multi-file support and a nice progress UI to boot), but I also happened on another compressor shoot-out page (if you’re interested in this topic, definitely read this, there’s a lot more testing and nice pros/cons list for the apps) which concluded that lbzip2 was a good choice.
I gave it a spin, and sure enough lbzip2 is great. With defaults, it loses a few percentage points when compressing vs lrzip, but it also compresses on average twice as fast, with the kicker being that its archives are fully cross-compatible with bzip2, so pretty much any system can access the archives by default. I’ll be aliasing bzip2 to lbzip2.
(If speed isn’t as important (batch compression) and for max compression of large files, lrzip is probably better. Although a lot of people have been using xz, even with multithreaded support, I still didn’t feel performance was great so for personal use, I’ll probably end up mostly using lbzip2 or lrzip from now on.)
After my writeup on battery powering a (portable) PC, I meant to publish this last part shortly after, but ended up with some IRL distractions and have been putting it off since I never ended up really polishing up the mounting. This is way overdue, and in any case, this writeup is much shorter (honestly, almost all the hard stuff is just getting the PC power set up) so I’m just gonna send this out.
When I started this project earlier this year, there wasn’t much out there on backpack VR rigs, and while I still haven’t seen many writeups on DIY rigs (here’s one), several manufacturers have now started to show off VR-targeted backpack/backtop systems:
I’m sure there will be more details (maybe even systems from more manufacturers) this week at Computex. I’m most interested in HP’s system and it has a great looking form-factor and will have hot-swappable batteries. The GPU it uses has yet to be announced – I wonder if it’s a new AMD Polaris part (from what’s leaked so far, AMD is aiming to have relatively low power (100W TDP?) mainstream parts that meet VR min-spec performance.
If you aren’t interested in making a DIY rig, or want something a bit more polished, I highly recommend keeping an eye out, as I suspect this will be a pretty crowded space soon.
In any case, on to the build details. Probably the biggest reason I’ve been putting off publishing is while all the parts are there, I never got around to polishing up the mounting (which would probably involve cutting some acrylic plates/3D printing some fixtures), but it’s time to just get on with it. Here’s what the backpack rig looks like:
It weighs in at just under 7kg (about 15 lbs) in total (including the Vive components, it’s closer to 5kg w/o), and is surprisingly comfortable when put on. As you can see it’s pretty rough looking – mounting is all just plenty of gaff (the solution to everything that duct tape doesn’t cover) and there aren’t shorter HMD cables available right now, so that’s just looped up. I’m actually also using the link box simply due to the lack of a proper adapter (the HMD/link-box uses a 1.3×3.5mm plug which requires 12V DC power, more on that later).
Here’s the parts run down:
I’m using a Vargo Ti-Arc backpack frame. The full pack is $400, but I was able to buy the frame by itself for $225. I got it because it’s ridiculously light (755g), but having done the mounting now, I suspect I would have been better off with just an ALPS OutdoorZ frame ($80) or even a plain old A.L.I.C.E. frame ($44). For anyone making their own system, I recommend using an open frame so you don’t have to worry about ventilation/heat management.
Due to the way the S4 Mini case works (if you haven’t seen it btw, that Glacier White version is sexy af), you have to point either the CPU or GPU fan into your back. I chose the CPU side, since most VR apps are GPU bound, and it does get a bit toasty after a while. If I were seriously building a backpack rig, well, I’d probably look at taking a gaming notebook apart first, but if on a budget, I’d look at a DTX board w/ 90 degree angled PCIe which would allow the CPU and GPU to both radiate properly.
As previously mentioned, the Vive requires its own 12V power, and since I don’t have any fancy power management for my main system battery, I simply bought a separate cheapie 6000mAh 12V battery ($30). (Note, for a proper build, you could just use use the 12V output from a spare Molex connector from the HDPLEX power board.) I originally wasn’t sure what size DC plug I needed so I just bought a random set of plugs, but if you are looking for the exact plug, you’d ideally want a 1.3×3.5mm female to 5.5×2.1mm male connector. Sadly most of my EE gear is packed up so I don’t really have good measurements for how much power the Vive HMD actually uses in typical VR content.
So, this is still a fairly involved process (even strapping on a ready-made backpack system might seem dubious) so it might be worth answering the question of “is this actually worth doing?”, and the answer it turns out is, yes, absolutely! The actual experience of having full positional tracking, and being completely untethered within a walkable space is quite frankly, awesome. If you’ve used the Vive much, you’ve probably developed a good “cable sense,” which seems fine, but it’s not until I didn’t have to worry about the cable at all that I realized how much that affected my experience. While a backpack probably isn’t the best for very frantic experiences like Audioshield, for more sedate activities, like hanging around the reef in theBlu or, drawing in Tilt Brush, it’s great. My experiences w/ a fully untethered, tracked VR leaves no doubt in my mind that it’s the way it should be (and has to be, for mainstream adoption), and it’ll be interesting to see where mobile and desktop VR meet.
Obligatory backpack selfie:
Note: due to the Rift’s USB 3.0 (required!) camera-based tracking, it’s not currently possible to have an untethered, tracked Oculus experience, as there are no wireless USB 3.0 solutions available (I’ve looked very hard. There are a couple USB 2.0 solutions, and there’s a WSE spec, but no products or even devkits I could get my hands on).
UPDATE: Actually, there’s probably still some good reasons to DIY-build vs buy. More details have come out, and it looks like MSI’s backpack unit which is closest to production is targeted at a very loose 2H16 (holiday season from this report) release date and expected to cost $2-5K at launch. HP’s Omen X VR pack is supposed to be a devkit that will start trickling out this month, but there’s no mention of any consumer release date or pricing. Also, while the press pics have shown it as a tiny unit, the batteries are on an external holster, which is decidedly less sleek. Zotac’s backpack looks like it simply packs a flat mini-ITX system into a mesh backpack and there are no details for release. It’s worth noting that I went back and specced out the price for a full DIY backpack system, and it comes out to under $1300, so that’s something to keep in mind if manufacturers are selling their backpack systems for $2K+.
Lately, except for the very occasional iTunes full backup, I’ve just been intermittently copying photos from my iPhone via my Linux machines, mounting with Thunar and gvfs.
Recently, I had reason to do a bit of poking about, and it turns out that libimobiledevice, and more specifically, ifuse, is the way to go for scripting. ifuse will mount your iOS device as a virtual file system, and let you copy photos and other media via regular command-line tools like rsync (it can mount the root file system only if your phone is jailbroken). If you want to get this working on arch, it’s very straightforward. You can add a udev rule and basically script to your hearts content. (I’ll probably set up an rsync backup script sometime.)
We have relatively modest AWS bills w/ Lensley, but it’s been inching upwards and broke $400/mo at the beginning of the year. Originally, I thought this was mostly just due to ever increasing S3 usage, but it turns out that wasn’t the case. After going through and trimming things, we’ll end up saving about $250/mo, which isn’t a huge absolute amount ($3K/yr) but was over 60% of our monthly.
Obviously there were a couple EC2 instances hanging around that we didn’t need. One was a bit pernicious since it kept regenerating (not a Spot Request, but actually due to an old Elastic Beanstalk test. Oops.)
Our Reserved Instances had lapsed, so everything was 50% more than it should have been. Double oops.
Our instances were running old and busted m1’s – with our usage I was able to switch m1.smalls to t2.micros and m1.medium to t2.smalls, cutting costs by 2/3’s (w/ equal Reserved discounts).
It’s worth noting here that one of the instances was running EBS Magnetic storage. Obviously worth snapshotting and switching over to gp2.
We’ve been paying for an ELB and MultiAZ instances but honestly, have never had to use the failover. At the risk of jinxing myself having typed that, I just got rid of them.
A few years ago I switched to a Multi-AZ RDS instance for our database. At the time this seemed like a good idea, and while I never had to worry about things, w/ the rollout of gp2 (SSD) EBS w/ plenty of IOPs, it seemed maybe a bit wasteful for minimal convenience. Switching from Multi-AZ db.m1.medium to a t2.medium w/ a 100GB gp2 EBS volume lowers our monthly cost from ~$160/mo to $33/mo
Clearing out unused EBS volumes/snapshots, ofc
A big chunk of our savings were the result of getting rid of some redundancy, but since I can count the number of single-AZ outages (we’re in us-west-2 in Oregon) we’ve been affected by over the past 3 or 4 years on a single hand and there’s nothing super-mission critical that can’t live with a few minutes of downtime.
This is a sort of part two between my write-up building a portable PC the other week and the one on building a backpack VR shenanigan next week (or so). DC powering a PC is sort of a big topic, and I haven’t seen a lot of good guides/writeups online, so I’ll try to be somewhat thorough.
Always unplug before doing any work, including batteries. Note, AC power supplies can remain dangerous even unplugged, but you shouldn’t need to touch those at all within the context of building a DC/battery-powered system.
Never leave any exposed wires – always use heatshrink/electrical tape around anything carrying live current.
Treat electricity like it can kill you – err, because it can.
Don’t cross the streams.
If that last point doesn’t make sense, you should first, make sure you’ve watched Ghostbusters, you philistine, and second, you should make sure you’ve read enough on electrical safety that it does make sense before proceeding. Or not, I can’t stop you.
And now, for some basic theory.
First, while the electrical grid runs on AC power, all your computer components use DC power. Typical internal computer power supplies (form factors like ATX, SFX, etc) convert AC to DC. If you use something like a PicoPSU or HDPLEX, these are DC to DC converters that take a certain input voltage and convert them to an output your computer components will use (typically 12V and 5V). These require a separate external power supply convert AC power to DC power.
Speaking of, here’s a decent summary of AC vs DC power if you are so inclined, and you can also read about what a dick Edison was (Oatmeal form). All this is somewhat academic as all batteries are DC, but it does mean that if you plan on battery powering your computer, you should strongly prefer to use a DC-DC converter board and external power supply, otherwise you would to suffer power-loss going from DC to AC w/ a power inverter, and then an additional AC to DC w/ a standard PC power supply, which is a bit silly and pretty inefficient.
Most PC enthusiasts talk primarily about wattage when discussing power, and while a watt (1 J/s) is the measure of power (the rate of doing work), for our purposes, we actually care more about the relationship a watt has to amperage (flow rate of electric charge) and voltage (difference in charge, or electric pressure).
(A slightly tangential relationship is that 1W = 1J / 1S. 1 cal = 4.18J, so 1W is basically the power needed to heat about 240g of water by 1 degree C in a second. Almost all the power consumed by a computer is output as heat.)
Ignoring power factor (or not), you could say that for a computer that averages 300W of power consumption at 110V (regular US AC), you’d need about 2.7A of current. If you were to power the same 300W system from a 19V battery, you would need 15.8A of current. If this is new information, hopefully, this also helps make all those numbers on the wall-wart plugs around your house make more sense now.
With this knowledge in hand, we can roughly figure out how much power you need. While you can adapt an existing PC (and use something like a Kill-a-watt or Watts Up to get ballpark power consumption), if you are building a new system, in practice you’ll be limited by your DC-DC board. The highest performance option commonly available option is the HDPLEX HiFi 250W DC-ATX board with support for “Support 250W with 400W Peak” power (with sufficient cooling, it should be able to handle sustained >250W – I run it regularly at >300W, but obviously that’s out of spec.) The HDPLEX has a wide input range of 16-24VDC, which is perfect considering that a battery’s voltage changes based on charge (if that doesn’t make sense, this article may help explain why).
OK, time to talk batteries.
There are lots of different kinds of batteries, but I’ll run through a few of the more common battery chemistries:
Alkaline – these are your old-fashioned coppertops. They’re not rechargeable and completely inapplicable to our discussion
Lead Acid – car/marine batteries, also used for UPS’s – they retain charge well and are cheap, but their energy density sucks (you should be getting at least 3-5X w/ Lithium chemistries). They have lots of subtypes (AGM, Gel, etc), and if you are building a non-portable solution you might want to look at these, but it’s obviously not good if portability is a consideration
NiMH – better energy density than lead acid, but still, don’t care. These guys have a memory effect and heavy metals (definitely need to recycled/ewasted). I can’t think of a good reason these days to use these (or their even more toxic cousins, NiCds)
Li-ion/LiPo – These are the lithium ion batteries that are in pretty much all electronics these days (typically LiCoO2). They have the highest energy density available (until Li-S batteries start popping up), and are standardized at 3.7V nominal, 4.2V max charge per cell. Note, the only difference with “polymers” is referencing the form factor (a polymer pouch vs a cell casing). As you should know from the news or traveling, these can get flamey/explodey if undercharged, overcharged, or otherwise mistreated (temperature, pressure)
LiFe – These are worth noting as they have lower energy densities than other Li-ion chemistries (there’s also NMC but you won’t really find those around) but are more stable. These are commonly used in electric bikes and for utility storage and are 3.3V nominal, 3.6V max charge per cell.
For portable power, LiFe’s are an okay (safer, longer cycle life) option, but for energy density (Wh/kg), cost ($/Wh), capacity (Ah), and continuous discharge (A or C), there’s really only one choice – LiPo’s used for RCs and drones are by far the best suited option.
Watt-hours (Wh) – simply how many watts/hr a battery can supply. In theory, a 500Wh battery for example would be able to power a 100W system for 5 hours or 250W system for 2 hours. In practice though, the higher your draw (amperage) the less power capacity you have (heat, resistance, etc increase)
Amp-hours (Ah) – Wh is typically a computed number from this “actual” capacity number (well, at least how batteries are properly rated; you need to individually measure each battery or even each cell if you want to get the actual actual capacity, which will change over the battery’s cycle lifetime to boot). Wh is Ah * nominal voltage. (BTW, for those wondering what “nominal means” – that’s because the batteries have a range of voltages that is a curve based on their discharged state (and rate))
Voltage (V) – your DC-to-DC board takes a certain input voltage. Note, some DC boards like the picoPSU expects 12V and does not do any voltage conversion. While a bit more efficient with steady power, this is a really bad idea with battery power since a 12V nominal battery will probably pass in something like 15V/16V at max charge and less than 12V when it gets low. Also, a lower voltage requires higher amperage. Consuming 240W @ 12V means you need 20A of current, vs a 24V battery only needing 10A.
Amperage (A) – this is the current that’s being drawn (or charged). Higher current drawn will negatively effect battery life as temperature and internal resistance increase. If none of what I’m describing makes sense, this guide to LiPo batteries does a good job of giving more background.
Capacity/C Rating (C) – this is a standard used by RC/drone batteries in particular for measuring discharge rate. C is a multiplier number against the Ah capacity of a battery. There is typically a continuous and instantaneous/peak discharge number. A 10C 12Ah battery is rated at 120A continuous discharge.
Energy Density (Wh/kg) – Watt-hour per kilogram is the standard metric for energy density. Consumer grade RC/drone cells are about 180-200 Wh/kg. LiFe batteries are around 100-120 Wh/kg. Perhaps one day soon, Li-S batteries w/ 400-500 Wh/kg energy densities will show up, but I wouldn’t hold your breath, next-gen battery tech is always coming next year (or better yet, 5-10yrs). Calculating this number is just what’s on the tin: nominal voltage * capacity / weight.
Cost Ratio ($/Wh) – Even more obvious. Typically the price decreases as capacity goes up (since there are fixed costs associated w/ a battery). This is most useful for comparing different battery types and seeing if some other characteristic is worthwhile.
I’ve included a spreadsheet of options, but I’ll make this easy and just tell you which one to get. You want to buy a MultiStar High Capacity 6S battery from Hobby King. The 6S wiring gives you a 22.2V nominal voltage (25.2V max, 18.0V min) which puts it squarely in the HDPLEX HiFi 250W DC board‘s 16-24V input range. (If you go with a LiFe battery, a 7S would give you the exact same voltage range as the 6S LiPo.)
The Multistars “only” have a 10C continuous discharge rating (120A for a 12000mAh, 160A for a 16000mAh), which is still 100-140A more current than you should ever need for your PC. You wires will melt long before you touch those amperages. (Oh yeah, definitely take a look the American Wire Gauge (AWG) current ratings (also)). For our purposes 10 gauge is overkill, 12-14 gauge is good, 16 gauge is a bit weak sauce, but you’ll probably get by.)
Next is connectors.
The HDPLEX has a 7.4 x 5.0mm barrel connector. This is a pretty standard jack size and is also used by the Dell 330W and HP 350W power bricks, so no adapters are required if you want to plug into wall power.
RC/drone batteries have tons of different connections for main power. The big Multistars use XT90s (while they look like the XT60 in pictures, and search results may give you one or the other, the XT90 plugs are physically bigger, so don’t get them confused). You probably won’t avoid doing some soldering, but if you get some connectors withcables, you’ll save yourself some trouble.
The Multistars also have a 6S JST-XH secondary plug is used for cell balancing/monitoring while charging (usually up to around 0.5A/cell for balancing). When usinng the battery to power your PC, you will want to stick a voltage monitor or alarm on there, so you know when your charge is low.
To connect the battery, you’ll need to make a 7.4×5.0mm to XT90 cable (I wasn’t able to find any prebuilt ones in my searches). It was actually quickest/cheapest for me to Amazon Prime an $8 90W Dell-compatible power supply and clip off the wire. It has cheezy 16 AWG wires, which isn’t ideal, but it works and I haven’t been motivated to find a better solution. When soldering, make sure your polarities are matched, and you can ignore the ground wire.
Depending on the battery charger, you may also need a banana plug to XT90 cable for charging your battery.
Now, like for the batteries, I’ll just give a recommendation. If you only need to charge a single battery at a time, I can recommend the Ultra Power UP300AC (CA shipping, China shipping) – it gives you great bang/buck w/ up to 300W/20A charging connected to AC. It has a touch screen, and has some data capabilities (I haven’t used them). It also includes everything you need for monitoring, balancing, different battery types, cycling (charge/discharge) and with automatic safety cutoffs.
UPDATE: after <6mo my UP300AC gave up the ghost. I dropped a line but since Warranty service looks like it’ll require roundtripping to/from Shenzen China, I just bought a lower-power/small replacement that should do the job).
Here’s a good 20 minute video that also steps through the basics of charging:
When you charge the battery, do not charge above 1C. For safety, you probably want to have a safety bag/box and/or not charge the batteries unattended.
You should partially discharge the battery if you are going to put it into storage or not use it for a while (you’ll also need to periodically recharge them in that case).
Once you have everything connected up (be sure to test your wires w/ a multimeter for shorts) you’re ready to plug it all in. I’ll just assume it all works the first time. (it did for me 🙂 The one missing component is that you will want to have a battery alarm in the JST-XH plug. I’ll link to some in the BOM, and below there’s already discussion on if you wanted to connect that to report into your computer, blah blah blah. The alarm I’m using gives a disturbingly large alarm (they’re built for drones mostly – you can gaff ’em to make them less annoying) if a cell goes below 3.3V. That should be fine (you can lower it to 3.0V if you want to live on the edge).
Here are some links in case you want to use GPIO and measure voltage but honestly, you’re probably just better off with an external battery alarm:
~$10 – 7.4×5.0mm DC Male Barrel Connector to Male XT90 Connector
I feel a bit conflicted on recommendations. For expediency, I Amazon Primed a cheapy $8 power brick, chopped it off, and soldered it to an XT90 connector ($10/5), but this is certainly not rated for more than 5A. Nothing you can readily buy (save for chopping up another 350W power supply) seems to be, however… I have some 10AWG XT90 cables, but those wouldn’t solder well
Your best best might be to buy a plug (here or here) and and solder w/ a 12 or 14AWG wire (guide, guide). If this is too daunting, you may want to talk to an Electrician friend, I couldn’t find anything off the shelf.
You can of course buy any capacity you want, keeping in mind that the max continuous discharge for these guys is 10C. You won’t find anything remotely close in price to this, btw (the Tattu 12000mAh 6S’s for instance are $200)
Testing with a selection of SteamVR apps I had handy, I was able to run my system for close to 2 hours (CPU averaged 20-50%, and GPU TDP was around 60-80% @ 1300MHz). Under regular usage (web browsing with music, video, non-graphics development) I was able to get just under 5 hours of usage.
Next time I’ll wrap this all up by turning this into an untethered/backpack VR system.