All about hardware, CGI or not - doesn't matter.
This post is not a comprehensive dive into the world of microcontrollers, but rather a brief introduction and a compilation of interesting facts I've collected over the months working on a couple projects that made use of contemporary microcontrollers to achieve real and practical goals.
I'm sure you're well aware of the situation with microelectronics prices. It's been getting worse for a couple years and doesn't look like it will improve any time soon due to the on-going crisis in several areas at once: semi-conductor component shortages, logistics issues, political games, socioeconomic factors and everything in between. For an average technically-minded person this means that one must look for creative ways to achieve their goals or alter those altogether.
We do live in the real world after all, and one must adapt or perish.
Remember "low-cost single-board PCs" we eagerly watched evolve and get cheaper over the years? All of those Raspberry/Orange/Rock Pi's and "Zeros", Tinker boards and Jetson Nanos? Oh they did evolve all right… Into overpriced 100+ USD boards. So now we're stuck in a reality where even the simplest single-board ARM PC in the form of a Pi Zero W is valued at 100 USD instead of expected $15-20.
There are practical alternatives to single-board PCs:
The first option is blatantly obvious if you're looking for a device with a real multitasking OS and a load of compute power. And used PCs nowadays? They are cheap. For a market price of about $150 for a Raspberry Pi 4 with 4GB RAM you can get a used mini-PC with a 4-core Pentium/Celeron CPU, 4 to 8 gigs of extendable RAM and a 128GB+ SSD system drive with an option of connecting a second drive via SATA or M.2.
Almost any PC will blow a Pi out of the water performance-wise. Sure, small PCs can't beat Pi boards' dimensions, power consumption and embedded IO-capabilities with over 20 I/O pins exposed for communicating with external devices. So if you're looking to set up a home web/file server, retro emulation station or use the machine as a simple desktop PC, opting for a used mini-PC today would be a no-brainer.
But what if you actually require rich I/O capabilities, small dimensions and low power-drain of a small single-board device?
Not much to see here but a short announcement of the upcoming post about microcontrollers.
I've been dying to take a deep dive into this topic ever since I built my first PC, but was scared away by the complexly of both the programming and the hardware aspects of the whole endeavor. And now, 15+ years later, I finally built up some courage to try and program one of those and it turned out to be an incredible and very, very straightforward and rewarding experience! What helped motivate me to finally bite the bullet was the worsening availability of semiconductors and the price hike on almost all electronic components and devices that followed suit.
What must have also contributed was another project of mine where I modded a Panasonic RX-DT75 by adding audio over Bluetooth support via a new a voltage regulator with USB-level output, to which a Bluetooth USB module was then connected to gift this machine a new lease on life as a useful appliance and not just a relic of the past collecting dust on a shelf.
But boy would it still make one gorgeous dust-collector regardless!
Anyway, back to work!
I know, I know. The title will inevitably raise some eyebrows. Rest assured, though, by the end of this brief post it will make perfect sense.
A couple months ago I sat down to sort out my USB thumb drive collection. I have 10 of those used either to move large files between distant machines, as OS installation and recovery media, and to actually store some non-critical data. While going through the inventory I eventually plugged in the USB stick I brought back from my Summer 2018 trip to Japan. The last time I used it was around September 2018, when I transfered some video clips from the PlayStation 4 to study while building my Dynamic Sloshing Liquid Rig.
Which means the drive was left unused for 3 years.
Imagine my surprise when I found out that two out of three short in-game video clips were corrupted. The first clip wouldn't even copy over to the PC, while the other one took its sweet time and eventually, after about 30 minutes (for a 100 MB file), succeeded in getting copied to the HDD.
Overwhelmed by avid curiosity I immediately fired up the video player...
What you see here is the result of physical data corruption (a.k.a. "bit rot" or "data degradation" or "data decay"). While such graphic and "movie-like" damage is, funny enough, quite fitting to the overall presentation of Horizon: Zero Dawn — a game about hunting mechanical dinosaurs in a post-apocalyptic world, — this incident begs the question...
To answer it, let's briefly recall how a Flash Drive actually works.
Noitom is a company who specialize in affordable inertial motion capture devices and software, specifically their own line of MoCap systems called Perception Neuron.
Yesterday I finally received my Perception Neuron Lite kit which is a promotional 6-neuron system for those who want to interact with 3D objects in a virtual reality headset or are just looking to try out Perception Neuron before investing into a 18- or 32-neuron kits. I was interested in Noitom tech since the first days they started their Kickstarter campaign back in 2014, so it's only natural I jumped the bandwagon as soon as the opportunity presented itself.
This is what arrived with the order and what I'll briefly review:
It's important to remember that this is an inertial MoCap system, which means it comes with extremely sensitive sensors which only work in a relatively magnetically safe environment. They are so sensitive in fact, that they come in a special anti-mag container. After use they should always reside inside to make sure they don't magnetize which would render them useless.
Having said that I must admit that I had no issues whatsoever using them even in close proximity to a monitor screen, PC and even my Wi-Fi router. There's also a crazy amount of Wi-Fi networks available all around the apartment so all I can say is – the system worked like a charm even in such non-perfect conditions which was a very pleasant surprise!
Setting the whole thing up was quite intuitive, although I found the manual quite lacking in detail on how to assemble the cables and put it all together. Just a Quick Start Guide and you're kind of on your own.
This particular kit doesn't come with a standard glove but rather some sort of a Velcro strap you wrap around your wrist whilst securing it with your thumb. In fact all non-electric elements or connectors have Velcro strips for placing on top of the base elements.
There's also a semi-interactive manual provided with the Axis Neuron software, but it mostly explains how the system works. Axis Neuron is a specialized app by Noitom designed to record and playback the MoCap data from the Perception Neuron system and it works quite well!
There are two editions: Standard and Pro, the latter costing about 700$ but (in theory) available for free for all Perception Neuron owners. I've contacted support on how to obtain access to the Pro version since it has all bells and whistles including motion smoothing, contact editing and other tools the Standard version is lacking.
UPDATE: Noitom support team replied the very next day with the info on how to receive my copy of Axis Neuron Pro, so now I'm a happy Pro user. Thank you, guys!
After quick set-up and calibration I was actually able to produce a descent take. Here's the raw recording without any smoothing or filtering to showcase what PN is capable of:
All in all, I can definetely say that the system works and can process even relatively fast motion. It will surely come in handy when the time comes to animate the characters in the film, so my next purchase from Noitom will be the 32-neuron full-body MoCap set. Can't wait!
I'm sorry, I just have to share this =)
Oh, Apple, you never fail to amuse!
Out of curiosity decided to quickly compare the cost and rendering performance of several CUDA-capable GPUs.
Scores taken from the official OctaneBench results database. Prices - from local online merchants in my area (TAX, VAT included) so your mileage may vary. I used my GTX 970 results as reference. The fact that it's one of the most popular enthusiast-grade GPUs on the market also helps.
I didn't account for the power consumption because electricity rates vary a lot from area to area so if you're planning to run your render farm 24/7 (which is not recommended) you can look into it yourself.
(Used) NVIDIA GTX 780 Ti is a clear winner here. So if you're thinking about building a render farm to use with Octane or Redshift, check it out, it's a bargain.
As soon as GTX 1080 CUDA-compute/rendering results become available I will add them to the chart. Don't expect a miracle though. Preliminary benchmark results from various forums including Redshift and Lexmark show that GTX 1080 is pretty much just a tad faster than 980 Ti and Titan, and in some heavy scenes it can actually be slower than the two! Hope it's just a driver problem and we'll see at least 20-25% improvement over the previous flagship models as promised by NVIDIA.
Otherwise it will be a grave disappointment.