As part of my research work at Stanford, I have been training Object Detection Deep Neural Networks. Training these networks is extremely compute intensive, and while we have a variety of powerful compute options at Stanford, I was looking for a faster way to train these networks. This article is a detailed guide to training the popular RetinaNet object detection network on TPU.
Finding a Tensorflow Tensor Processing Unit (TPU) enabled version of the network...
I have been exploring different firmware options for my TronXY X5S 3D Printer, and Klipper is interesting in that it runs the CNC control on a single board computer (SBC) and uses the 3D printer's control board as a motor controller. I've also added a touchscreen display to the SBC running Klipper for easy printer control.
Klipper is convenient in that the printer can be controlled via a WiFi interface. No need to use an SDCard to copy gcode files from the computer to the printer anymore, simply...
Let's add WiFi to the TronXY X5S 3D Printer for only a few dollars!
I'm using the following hardware:
LoLin V3 ESP8266
A 3A, 5v Voltage Regulator to power the ESP8266
On my TronXY X5S 3D Printer.
This post follows from a project at the Stanford Vision and Learning Lab, where I've been working for some time, and serves as documentation for our social navigation robot's onboard multi-target person-tracker I developed under the guidance of Roberto, Marynel, Hamid, Patrick and Silvio.
The above video shows the results of the tracker. The top portion of the video is the result of the 360° cylindrical image having been passed through YOLOv2 and Deep SORT. The bottom portion of the video shows...
This is a build guide and review for the awesome (and large) TronXY X5S I purchased from banggood.com, but it is also available on gearbest.com.
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...
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...
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 the...
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: https://github.com/flyduino/kissesc-firmware/releases
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. https://www.arduino.cc/en/Main/Software
Lets start by building and flashing plain old nuttx, without Px4
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 https://bitbucket.org/nuttx/tools pushd tools/kconfig-frontends # https://github.com/PX4/NuttX/tree/master/misc/tools # appy this diff: https://github.com/PX4/NuttX...
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
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
c.NotebookApp.allow_origin = '*' c.NotebookApp.base_url = '/groot' c.NotebookApp.password = 'sha1:[put generated...
This is my build log of vicious1's.com 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...
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.
/etc/apt/apt.conf.d/10periodic and append the following:
This depends on the apt package
unattended-upgrades being installed and the log output will be in
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...
Get the kodi install script
cd; curl -L -O https://mrchromebox.tech/setup-kodi.sh && sudo bash setup-kodi.sh
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
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...
These are my notes from setting up my Ubuntu 16.04 box with GPU enabled Tensorflow:
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)
Do we have a supported version of linux...
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.
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.
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...
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...
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|
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...
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...
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...
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 ... Done. Unpacking linux-image-3.13.0-117-generic (3.13.0-117.164) ... dpkg: error processing archive /var/cache/apt/archives/linux...
This guide will show you how to turn an Orange Pi Zero into a Google Cloud Print server.
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 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
I'll show you how to do this.
If you've never used STM32CubeMX before, checkout this great overview video first:
By the way, STM32CubeMX now runs on Mac OSX.
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.
If you run into weird issues flashing your board, it might be because the board is locked.
While pressing the boot button or shorting the boot pads, open OpenOCD, connect the SWD port and run:
> stm32f2x unlock 0 stm32f2x unlocked. INFO: a reset or power cycle is required for the new...
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...
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!
I bought just the Mavic Pro, not the "Fly More" combo which costs a cool $299 extra. In the box with my Mavic...
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...
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.
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...
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!
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.
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:...
This is a guide to running Ardupilot's Mission Planner on Mac without a virutal machine. We'll use Mono instead.
Download both the latest Mission Planner (zip file) as well as the Mono installer.
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
cdinto this directory...
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.
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
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:
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.
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...