TronXY X5S Build Guide

This is a build guide and review for the awesome (and large) TronXY X5S I purchased from, but it is also available on


The build quality of this huge printer is reasonable given the price. The frame, heated bed and motors are all great. Electronics are based on the Arduino compatible Sanguino ATmega1284P processor. Drivers are the standard A4988. Electronics quality is reasonable and I've updated the config for Marlin 1.1.6, see the Firmware Update section...

Silent Stepper 3D Printer Upgrade (and other noise mitigations)

My printer sits in a closet that shares a wall with our bedroom. Normally it's fine, but when things are quiet I can hear the motors making slight buzzing and ringing noises with the normal A4988 Stepper Motor Drivers. In an attempt to make the printer entirely silent, I got four TMC2100 stepper motor drivers. At $10 each, they're expensive, but wow, they are awesome.

For the GT2560 on my i3 Clone I have been running the TMC2100s in the default Stealth Chop mode for quite a while now and they...

NOX Flight Controller 180mm Build

The NOX flight controller is a full-featured F4 flight controller with integrated OSD and 4x BLHeli 32 ESCs, DSHOT and telemetry! Here are some build photos.


And flight video

I have a V2 version of the NOX. As you can see from the video, I have not configured current sensing and RSSI yet. I'm running this BetaFlight 3.2.4 hex and the ICM20608 gyro.

The flight controller has a damped and replaceable gyro. Just unscrew the 4 screws on the bottom and you can swap out...

Flashing Kiss 24a ESCs with DSHOT firmware via BetaFlight Passthrough

This guide assumes you have a flight controller running BetaFlight connected to KISS 24A ESCs. Alternatively, use a USB-UART converter to program the ESCs.

Download the latest ESC firmware from here:

Pre 1.02 Firmware

If your ESCs have firmware less than 1.02, you'll need to go through the extra steps of flashing the bootloader as follows:

Install the Arduino IDE if you don't have it already.

Nuttx and Px4 Development Getting Started Guide

Lets start by building and flashing plain old nuttx, without Px4

Plain Nuttx

Im using the STM32F746 Nucleo-144 board pinmap

Install deps (Mac OS):

brew install gperf stlink

Make a nuttx top level dir

mkdir ~/src/embedded/nuttx
cd ~/src/embedded/nuttx

Nuttx depends on kconfig-frontend, so lets build and install it

git clone
pushd tools/kconfig-frontends
# appy this diff:

Run Jupyter Notebook behind a nginx reverse proxy subpath

The server I want to run Jupyter on has some other apps running on an nginx server, so I'll configure Jupyter to at the path /groot

First, generate the Jupyter config with:

jupyter notebook --generate-config

Generate a sha1 sum of the password you want to use, in an ipython shell:

from notebook.auth import passwd; passwd()

Update the config generated in the --generate-config command

c.NotebookApp.allow_origin = '*'
c.NotebookApp.base_url = '/groot'
c.NotebookApp.password = 'sha1:[put generated...

Mostly Printed CNC (MPCNC)

This is my build log of vicious1' Mostly Printed CNC.

Here we are running a 2.5w diode laser on it.

Huge shout out to Tim, in the photo above, for helping me get past the final hurdles of this project. He hand-wrote some g-code to get this working before we found a tool to generate it.


The awesome thing about this CNC is that it can be built using only parts made on your 3D printer, a few RepRap electronics and some parts from your local hardware store!


My build started...

Xiaomi A1

I've never reviewed a phone before, but the Xiaomi A1 is unique in that it is the first Android One phone available. Android One is awesome as it allows hardware manufacturers to ship a vanilla version of Android. Giving us the best of both worlds, awesome value hardware with a bloat-free Android experience. My main concern was how the coverage would be and what bands the phone would support.

Above, the phone is running Google maps on the Google Fi network. As you can see I'm getting 4G.

Enabling Automatic Security Updates on Ubuntu 16.04

Edit: /etc/apt/apt.conf.d/10periodic and append the following:

APT::Periodic::Unattended-Upgrade "1";

This depends on the apt package unattended-upgrades being installed and the log output will be in /var/log/unattended-upgrades

My full 10periodic file looks like:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "1";

This is run by /etc/cron.daily/apt-compat and the full list...

Installing Ubuntu 16.04 on an Asus CN60 Chromebox

Get the kodi install script

cd; curl -L -O && sudo bash

Pick the option to install the Custom UEFI Firmware

Backup your firmware when prompted, using a USB drive

Create a USB boot disk for Ubuntu 16.04. I like using Etcher

Put in the USB drive and reboot

Pick the Install Ubuntu option and install as normal.

On the partitioning page, pick the LVM option, so you can expand the root disk easily later.

After selecting partitioning layout...

Installing Tensorflow with GPU support on Ubuntu 16.04

These are my notes from setting up my Ubuntu 16.04 box with GPU enabled Tensorflow:

Hardware Dependencies

The Cuda documentation encourages us to check a couple things:

Do we have a CUDA capable GPU? Any output here is good:

lspci | grep -i nvidia

I have a 980 Ti, so I see:

01:00.0 VGA compatible controller: NVIDIA Corporation GM200 [GeForce GTX 980 Ti] (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 0fb0 (rev a1)

Software Dependencies

Do we have a supported version of linux?...

Getting Started with ROS Kinetic and ROS on Ubuntu 16.04

I'm starting to experiment with px4 off-board control. These are my setup notes. First, a photo of the awesome hardware setup. The Pixracer is mounted on top of an OrangePi.

Software Setup

I'm using an Ubuntu 16.04 VM on my mac. I set the network interface to "shared" and ssh into the vm. In the ssh session, I run tmux.

Ubuntu and SSH

Install Ubuntu 16.04 in a vm and use apt-get to install vmware tools, vim, tmux, ssh server and other dependencies

sudo apt-get install -y open-vm-tools-desktop...

FPV Goggle Guide, FatShark Setup

A while back I reviewed a bunch of box style goggles. These single-screen goggles are generally more cost effective, but bigger and less comfortable on the face. This time around I got a couple dual-screen goggles, e.g. FatSharks to try out and see if they're worth the money.

I went all in and bought the best (or at least the most expensive) FatShark Goggles one can buy, the Dominator HD. I also bought a pair of Aomway commander goggles for comparison.


TLDR: you get what you pay...

FPV Camera Comparison

I was curious what the best camera low light camera for the money is, so I ordered a bunch of low-light FPV cameras and tried them out. This article details what I found. First, my test rig:


These are the cameras in the comparison.

$12.04 Generic Sony EFFIO
$22.99 Aomway WDR 700TVL

Betaflight 3.2 and F7 Flight Controllers

As of Jul 31, 2017, 2:26 PM PDT, Betaflight 3.2 is in the Release Candidate stage and with this release, F7 flight controllers have arrived. While an F7 MCU is not entirely necessary, not yet anyway, having a very fast and very capable MCU is future proof. I expect some of the most exciting new performance features in Betaflight will target the F7 MCU. This article is an overview of the current F7 landscape.

That is a photo of an early OmnibusF7 prototype with 2, user selectable, gyros: MPU6000...

Converting a Soldering Station from 220v to 110v

I recently received a Soldering Station, mine is labeled Huayu 898D+.

It has a nice digital display for PID temperature controller.

Of course, I took it apart.

The only problem is that I got the 220v version, which is quite inconvenient here in the USA where 110v is the norm. I tried it out without modification and it sort of worked. The iron wouldn't go above 250 degrees C and the hot air was also quite under powered.

Unfortunately, there is no switch to easily change between 220v and...

Asguard AIO

The Asguard flight controller is an OmnibusF4 with an integrated 4-in-1 ESC. This is a build guide showing how to build an Asguard based quadcopter.

The frame kit and the Asguard flight controller are from Airbot.

The motors I'm using are 1806, but you'll notice the ones in the photo above are orange and I've built the quad with black ones. This is because the wires on the orange ones are too short. 2204, 2205 or 2206 motors might be a better choice if you're planning on running 3 or 4 blade...

Cleaning up the Ubuntu boot volume

If you've been using an apt update && apt upgrade-ing a linux system for a while, at some you've probably seen this error:

Purging configuration files for linux-image-extra-3.13.0-96-generic (3.13.0-96.143) ...
(Reading database ... 520779 files and directories currently installed.)
Preparing to unpack .../linux-image-3.13.0-117-generic_3.13.0-117.164_amd64.deb ...
Unpacking linux-image-3.13.0-117-generic (3.13.0-117.164) ...
dpkg: error processing archive /var/cache/apt/archives/linux-image...

Orange Pi Zero Google Cloud Print Server

This guide will show you how to turn an Orange Pi Zero into a Google Cloud Print server.

Orange Pi Zero Setup

Download Debian Jesse from Armbian.

Download Etcher, use it to write the Armbian image to the SDCard. A 4gb card turned out to be the perfect size.

Power the Orange Pi via micro USB and connect the serial port via a CP2012, or your favorite USB/Serial adapter.

On a Mac (or linux) you can use this screen command to connect to the serial terminal. Use your favorite Windows terminal...

STM32CubeMX Makefile project

STM32CubeMX is a cool little code generation tool from STM that helps you choose the pinout for you microcontroller project given the pin assignment constraints of a given CPU. The only problem is that it doesn't allow you to generate a Makefile project for use with the arm-none-eabi- toolchain.

I'll show you how to do this.

STM32CubeMX Overview

If you've never used STM32CubeMX before, checkout this great overview video first:

By the way, STM32CubeMX now runs on Mac OSX.

Generate the...

BetaFlight Micro Brushless Aurora 100

The Aurora 100 is a micro brushless quadcopter from Eachine, similar to the Falcon120. It's no less powerful than the Falcon 120, however it's lighter and therefore more nimble.

Here's some flight video. I flew both line of sight and FPV. This little 100mm quad feels like a 250mm, but without the expense of a larger quad or any of the risks of 5" props. You'll notice the horizon moves the wrong way when I turn. More on this later.

This video was shot on the Eachine VR D2 Pro goggles

Unlocking STM32 Chips

If you run into weird issues flashing your board, it might be because the board is locked.

First check for

  • Ground loops: Are you powering the board from a different power supply than the OpenOCD or J-Link programmer? Try to power the board from the programmer.


While pressing the boot button or shorting the boot pads, open OpenOCD, connect the SWD port and run:

  • For F4 and F7 devices, run:
> stm32f2x unlock 0
stm32f2x unlocked.
INFO: a reset or power cycle is required for the new...

Taranis Q X7 Review, Teardown and Setup

The Taranis Q X7 is an awesome new radio from FrSky that is budget priced, just over $100 and stocked full of premium features like a backlight screen, audio output, an SDCard for tons and tons of models and not to mention, ever switch is 3-position.

This is a huge upgrade from my FlySky 9x and probably the best value radio on the market today. Not only is the FrSky protocol the best among many manufacturers, but the radio quality and features are outstanding.

That said, I pre-ordered as early...

DJI Mavic Pro

I just got my first DJI drone, the Mavic Pro. Coming from the miniquad scene, the features on the Mavic are amazing. This article will walk through the unboxing and setup. I hope that an absolute beginner can use this as an easy walk through to get everything needed to setup and get flying.


Once you get it unboxed, go out and capture some awesome footage!

What's Included

I bought just the Mavic Pro, not the "Fly More" combo which costs a cool $299 extra. In the box with...

Falcon 120

The Falcon 120 is a micro, brushless x-configuration quadcopter. This is a review and setup guide.

The Eachine Falcon 120 is similar to the BeeRotor 160, but ready to fly.


When ordering the Falcon 120, you'll have a choice of what flight controller to order with it. I got the SPRacing F3 flight controller. To run BetaFlight, you'll want at least an F3 flight controller. The SPRacing F3 is not quite as nice as the OmnibusF4, but it'll do the job.

You'll also need a battery. I also ordered...

Easy 3D Printer Upgrades

I recently made some improvements to my Geeetech Prusa i3 3D Printer. These quick and easy upgrades provide a massive improvement in build ease and quality.

PEI Plastic Build Platform

By far, the biggest, single ~$20 improvement you can make to your machine is switching from the included aluminum print bed to a PEI sheet.

Since the aluminum plate deforms as it heats, to get that perfectly flat print surface, you'll also want to get a glass plate as well.

If your PEI sheet didn't come with...

FPV All the things!

It's cold outside. It's winter and days with flying weather are few and far between. However, that doesn't mean we need to pack up our goggles and wait for spring.

Here's how I put FPV cameras on all the things!

Vortex 1/18th Scale Truck

This little truck is super fast and super fun. It works great out of the box, so there's not much to say. Let's take it apart.

Turns out that the whole electronics bay is epoxied, which makes it waterproof, but really hard to add a camera.

It comes...

The Taranis Q X7 is Real

The Taranis Q X7 has hit the FCC Database. It's real and from the features below, it looks awesome!

From the manual, there are a plethora of 3 position switches:

Features include speech output, logging (via SDCard) and nice gimbals (at least on paper):

Here is the SDcard port, along with a smart port and USB port:

There is an integrated XJT module, which can be turned off in software so an external module can be used:

According to the documentation, there will be three models:


Running Ardupilot Mission Planner with Mono on Mac OSX

This is a guide to running Ardupilot's Mission Planner on Mac without a virutal machine. We'll use Mono instead.

Setup Steps

  • Download both the latest Mission Planner (zip file) as well as the Mono installer.

  • Install Mono

  • Create the required directories and set the permissions by running the following in a terminal:

sudo mkdir /usr/share/Mission\ Planner
sudo chown `whoami` /usr/share/Mission\ Planner
  • Unzip the Mission Planner zip file you downloaded and in your terminal cd into this directory...

SiFive Risc-V Development Setup

Risc-v is the new hotness and the SiFive FE310 is the first open source risc-v hardware SOC. This is a guide to start developing for this chip or FPGA.

Ubuntu Build

I'm using 16.04

Install the dependencies

sudo apt install -y build-essential texinfo gawk bison libmpc-dev libtool automake libusb-1.0-0-dev

Make it

Mac Build

Note, building on OSX is not supported yet. I tried anyway, but couldn't get it to build

On a mac, you'll want homebrew and then install the dependencies:

brew install...

RunCam Owl Plus Teardown

This is an unboxing and tear down of the RunCam Owl Plus.


It comes in this nice box. Looks like RunCam is trying to prevent clones with this "Scratch and Check" the authenticity sticker.

Two back-plates for the camera case are included along the appropriate brackets and standard AV cables.


Looks like it uses a Nexchip NVP-2040 chip as the main processor.

Here is the front of the camera.

And the sensor, if anybody has tips on identifying this, I'm all ears.

Flash BLHELI_S with DSHOT using BlHeli-Configurator

The BlHeli configurator by @diehertz is here! And so is the beta version of DSHOT for BLHELI_S. In this guide I'll tell you a little bit about what I've learned from diehertz about BLHELI_S and how to flash your own ESCs.


The BLHELI_S description basically says that it's meant to be an easy to use version of BLHELI, however that's not why I'm really interested in it. I'm interested, because Steffen, the creator of BlHeli, has been working on DSHOT support! beta hex...

BeeRotor u130 UltraWhoop Micro Racer

In this article, I walk through the iterative design process of building my ultimate micro racer. I took a BeeRotor u130 and custom printed some parts (links below) to turn this into a bigger, faster TinyWhoop that I'm calling the UltraWhoop. Here is is next to it's smaller counterpart, the eWhoop.

I went through many iterations of this project, first building it with the u130 part kits, then with the ducts and a OMNIBUSF4. I tried a Spektrum satellite receiver, then the FrSky X4R SBUS. Normally...

OmnibusF4 and the BFOSD

This is an overview of the OMNIBUS F4 flight controller and BetaFlight OSD (BFOSD).


The OmnibusF4 is a STMF4 based flight controller with an integrated BetaFlight OSD. Like the OmnibusF3, it has an integrated BetaFlight OSD and voltage regulator. Instead of an F3 processor, it has a faster F4 processor and instead of an SDCard slot, it has onboard flash.

Update Nov 2016: There is now a version of the OmnibusF4 with an integrated SDCard instead of flash, so you can choose which you...

Grasshopper F210 RTF Quadcopter Review

This is a review and setup guide for the Grasshoper F210 Quadcopter.

Here's how it flys on BetaFlight 3.0, as noted below, I decided to move the antennas out of the view of the HD camera later:

That video is on a 4s High Voltage (4.3v / cell) Lipo.

It flys equally well on the included 4s battery:


It comes in this fancy looking case.

Inside the case is:

  • A simple balance charger.

  • An "Ideafly" branded 1300MAH 4s battery.

  • Some zip ties, sticky sided velcro...

Omnibus F3 Pro

This is an overview of the new OmnibusF3 Pro from Airbot.

It even has an LC filter. Awesome!


The OmnibusF3 Pro has all the awesomeness of the OmnibusF3 including the integrated OSD, SPI MPU6000 and SDCard. The Pro version adds more features such as the barometer, current sensor, integrated PDB and LC Filter!

Read the full OmnibusF3 review and setup guide in the Omnibus Flight Controller and Airbot Typhoon 180 Miniquad Build article.


Bridge two of these pads to pick...