Saturday, July 22, 2017

DJI Mavic Pro: The Missing Handbook: Waypoints

Continuing my series on Mavic Pro operations, this week involves a deep dive into the Waypoints feature of the DJI Go 4 app.  It's quite powerful, but it also has some significant things it can't do.  Once you understand the capabilities and limitations, though, the built in Waypoints feature is a wonderful tool for capturing some very interesting shots in the sky, because it allows you to focus on capturing the scene and not flying the drone.


So, join me for a pre-plotted trip through Waypoints!

Saturday, July 15, 2017

DJI Mavic Pro: The Missing Handbook: Intelligent Flight Modes

Continuing my Missing Handbook series for the DJI Mavic Pro, this week I dig into a number of the "Intelligent Flight Modes" - Tripod, Cinematic, Sport, Terrain Follow, Home Lock, and Course Lock.

If you missed last week's post, I covered preflight checks and basic operation.  It would be a good idea to read that if you haven't, because I build on that this week.


All the modes I'm covering this week are still "manual flying" modes - the drone won't move unless you command it to, though some of the modes radically change how control stick motions translate into movement through the sky!

So, join me as I dive into some of the various Mavic Pro operating modes!

Saturday, July 8, 2017

DJI Mavic Pro: The Missing Handbook: Basic Operations

So, you bought a Mavic Pro?  What a coincidence!  So did I!


And if you've done much reading on it, you've probably determined two things: The manual covers the bare minimum, and there's a serious lack of non-video information on how to use these - or, even with the videos, details of operating modes and limitations.  This series of posts (probably 4, possibly a few more) is my attempt to resolve this problem - to write a useful operating manual for the Mavic Pro (and other DJI products with similar operating modes, though this is purely focused on the Mavic Pro).

If you have one, or even if you're just curious about drone operation, read on!

Saturday, July 1, 2017

Transient Tester Software: Button Based Menus

Last week, I posted about a little transient tester I built for analyzing USB power supplies and battery packs.  I wrote what I consider to be a reasonably interesting little button based menu for setting values and running tests.  It supports setting current and time for two stages of operation (high and low current) with a set of 4 buttons, running tests and reporting data, and does this with quite a small memory footprint.  It also supports setting the current by the 0.05A steps that the hardware supports.


It also shows off some techniques that I feel are quite appropriate for any sort of embedded programming - bit packed structs, hard coding some of the screen attributes (only two rows), etc.

So, come on along for the journey!


Saturday, June 24, 2017

Building a 5V Transient Tester for USB Power Analysis

One part I find myself using somewhat regularly in projects is a lithium battery bank charger/USB power supply - it's the guts of a battery bank phone charger, except always turned on.  This provides a reliable 5V output for projects, charges from micro-USB if needed by the project, and offers some basic battery protection behaviors (on paper, they should turn off below a certain input voltage and stop charging over another voltage).

However, while fighting with the SparkFun ESP8266 WiFi Shield, I discovered that these units do not handle transients very well - if the load changes quickly, the voltage wanders around for a while before recovering.  Different units behave differently, and I wanted to find out how different testers behave under this type of load - so I built myself a USB 5V Transient Tester!


Why?  Because!  I wanted something that did this, couldn't find one easily available, and set out to build one.  This is the sort of one-off bit of lab equipment that Arduinos are perfect for.

Interested?  Read on!


Saturday, June 17, 2017

Building Ural-compatible PVC Target Stands for about $25/ea

You know what you need?  Cheap target stands for range days!  You can build a pair of these stands for just over $50 in parts from your local Home Depot or Lowes.

I built this pair in just over an hour.  Most importantly, they fit on my Ural!


If you find yourself needing some cheap target stands on short notice, read on!

Saturday, June 10, 2017

Solar Shed Part 16: Interior & Exterior Improvements

My solar powered office has been up and online for a while, but one of the joys of a space like mine is that it's always a project - and I can do whatever I want with it, constrained only by what is possible affordable and what I can figure out how to do!  For instance, I'm almost, but not entirely, out of space for more monitors.


This space is totally awesome for what I do with my time - it's working absolutely as well as hoped, and I have no significant complaints.  But, I have been making improvements as I go to make the space better for my needs.  Read on for some of the changes I've made since the original post last July!

Saturday, June 3, 2017

Solar Shed Part 15: Surviving the Winter (Heating)

Winter is a cold time of the year - and in my solar powered office, the lack of sun in the winter can pose some serious problems for keeping the place warm.  Even with good insulation, I need some heat!

My original plan for heat involved using my air conditioner/heat pump/resistive heater paired with an awful lot of optimism about solar production in the winter.  You may be able to guess that if I'm writing a whole post on heating, this plan did not work quite as well as I'd hoped...

And you'd be right.  My wall unit is great - but I didn't get enough sun to keep me warm all the time.  In other ways, it was too powerful for winter use.  But, I've found solutions!  And as you can see, they work rather nicely!


Read on to find out what I figured out to stay warm in the winter!

Saturday, May 27, 2017

DeWalt NiCd Tool Battery Teardowns

It's the last week in May - so the last week of tool pack teardowns for a while.

This week, I've got a huge pile of older DeWalt 18V NiCd batteries (and a lone 14.4V battery) that need to come apart so I can remove them from my office and get some space back.

I've got a 14.4V XR pack, a stock 18V pack, an 18V XR pack, an 18V XR2 pack, and an 18V XR+ NiCd pack.  They look pretty similar on the outside, but the similar form factors conceal some (very) minor interior differences!


Are you interested?  Well, if you've seen one NiCd pack, you've seen most of them - this is not one of my more exciting posts.  But, read on if you're curious.

Saturday, May 20, 2017

Ryobi One+ Lithium & NiCd Tool Battery Teardown

It's still May, and I'm still doing tool pack teardowns to get through the seemingly endless boxes of tool batteries in my office.  I'm a bit fuzzy on where they all came from, though I do faintly recall picking up a box of dead ones at some point in the past.

This week, I have a pair of Ryobi One+ batteries - one lithium, one NiCd.  This represents the "old generation" and "new generation" of a generation of batteries - they both run in the 18V tools, but one is the old style NiCd, and one is a new style lithium (though, as you'll see, early lithium).


Join me as I rip into another two packs!


Saturday, May 13, 2017

DeWalt 20V Max 1.3Ah and 18V Nano Phosphate Teardown

Another week in May, another pair of tool packs in my series of tool pack teardowns!

This week, I'm back to DeWalt with a 20V Max 1.3Ah, and an older 18V "Nano Phosphate" pack - which has the weirdest cell layout I've ever seen.  The date code says 2007 - so this is another example of an early tool pack in the "Working out the details" phase of lithium tool packs.


Join me as I rip into another two DeWalt lithium battery packs!

Saturday, May 6, 2017

Rigid 18V Lithium Ion Tool Battery Teardowns

This week, I'm continuing my tool pack teardowns with a pair of Rigid 18V Lithium Ion packs out of Canada - and, in one of them, 18650s produced in Canada!


These are older lithium packs (one is very definitely the oldest I've seen), the capacity numbers aren't that great, but they're interesting samples, good fun to pull apart, and have some surprises inside!

Read on to see what I've found!

Saturday, April 29, 2017

Can you fry an egg with a DeWalt 20V Max 6.0Ah Battery?

Last week, I reviewed a brand new DeWalt 20V Max 6.0Ah battery - but I did leave one important question unanswered - a question that is obviously on everyone's mind.

Can you fry an egg with this battery?


This is a question that, as far as I can tell, simply hasn't been answered.  I've found plenty of urban legends about cooking eggs with cell phones (not remotely plausible), and there's a YouTube video that seems to imply an egg being cooked with a battery of some sort or another - but a tool battery?  A DeWalt tool battery?  I can't find a thing!

Which, of course, means that I need to try!  Read on to see what happens.

Saturday, April 22, 2017

DeWalt 20V Max 6.0Ah Pack Teardown & Analysis

It's been a little while since I've had a shiny new tool battery to tear down!  This one showed up in the mail for some analysis and evaluation - so analyze and evaluate it I shall!

As of the time of posting, you can get 2 for $150 (shipped) on eBay - which almost certainly beats your local hardware store by a lot.  But, only if they're good.


This is a notable pack in that it's (supposedly) using 20700 format cells - the first non-18650 based tool pack I've had the opportunity to rip into.

What's inside?  Is it any good?  Read on to find out!

Saturday, April 15, 2017

Doing the Math: 2016 California Autonomous Vehicle Disengagement Reports

Self driving cars.  The imminent future of on-demand and super cheap transportation - or still a long development slog ahead, depending on who you listen to.  Earlier this year, California released the 2016 Autonomous Vehicle Disengagement Reports - which are reports of times that the human driver had to take over from the computers (either because the computers handed off control, or because the human wasn't comfortable with what the computer was doing).


When the reports came out, quite a few sites covered them - at the year granularity.  They just did some quick aggregation of the numbers for a whole year, perhaps made a graph, and (as is common in the media today) published a quick article about it.

I haven't seen anyone delving deeply into the data by using the month-by-month numbers - which are provided.  So, I did.  And some very interesting trends showed up for a few companies!

Interested in how everyone did in the month-by-month data?  Read on!

Saturday, April 8, 2017

Ural Gear Up: Oils Change

I've been talking about Urals for the past three weeks, and this week finishes my (current) Ural series with a post on a task that every Ural owner should be familiar with - oil changes.


The recommended oil change interval for the engine and gearbox (at least on the older model I own - 2005 and similar) is 2,500 km (1550 miles), with an oil filter change every 5000 km, and a final drive oil change every 10,000 km.

What an awful lot of people do instead is to just change everything (oils and filters) every 2500 km.  The bike doesn't make much power, but it runs an older and looser air cooled engine design hard - 40hp if you squint at the dyno sheet and a bike with the aerodynamics of a sheet of plywood make for a hard working engine!  The engine doesn't hold much oil either - only a hair over 2 quarts.

In any case, oil is cheap, metal pieces and labor are expensive.  It's cheap(ish) insurance, and regular oil changes are a good way to catch problems before they get bad - both from the oil and from the time spent around and under the bike, paying close attention to things.  Fine metallic powder/flakes in the oil?  Annoyingly, normal.  Metallic chunks?  Time to dig in deeper...

Plus, it's insanely easy to change the oil on this bike!  It could be a KTM...

Saturday, April 1, 2017

Assembling and Installing a Ural Sidecar Windshield

A Ural without a sidecar windshield is like... a Ural without a sidecar windshield!  Great for dogs, less-than-ideal for kids, and an awesome cargo hauler.  But, if you want something that's still great for dogs, becomes great for kids (or wives, siblings, etc), and is only slightly less awesome as a cargo hauler, you really, really want a windshield.


Unfortunately, if you order a Ural Sidecar Windshield (I got mine from Ural NE), what you get is a box of parts.  There are no instructions or anything useful like that, and internet advice on assembly is sparse, so you get two items in one - a windshield, and a puzzle!

If you find yourself in this situation, fear not!  I've done some puzzling for you, and have a guide for turning your box of parts into a shiny installed Ural windshield on your sidecar!

Saturday, March 25, 2017

Ural Gear Up: Cracked seat post repair and doubling up rubber supports

I've got a 2005 Ural Gear Up - and I noticed towards the end of last fall that my seat was getting really, really soft and bouncy on rough gravel roads.  On top of that, I was having to hold myself forward or I'd go sliding off the back.  Clearly, this isn't how things are designed to work - so I investigated!


What was the problem?  My seat support cracked, and was allowing far more movement than intended.  On top of that, the rear rubber support ("spring"?) was old, and simply didn't offer as much resistance to movement as it once did.

How bad were things?  Well... here's how far the support had cracked.  It wasn't completely through, but it was getting there in a hurry.


Time to fix this!  Fortunately, I know someone who is quite good with a welder.

Saturday, March 18, 2017

Uraling Through the Winter

In October 2016, I bought a Ural.  Specifically, a 2005 Ural Gear-Up.  This is one of the 2WD models, and it comes with pretty much all the various gizmos - shovel, spotlight, fluid container, machine gun mount, spare tire, rear rack... just about everything you could need!


I rode it all the way through the winter this year (which was a particularly rough winter for the area), put a few thousand kilometers on the clock, have done some work on it and added a sidecar windshield, and at this point I think I have a decent feel for this particularly obscure and unique form of transportation that is the source of endless questions from, well, everyone.

Why do I own a Ural?  Partly, I've wanted one for years.  However, it's mostly because a Ural is a motorcycle that can carry my daughter in the sidecar while my wife & I ride (we both ride).  So far, my daughter loves it, and we're planning on quite a bit of riding this year.

But... Ural?  If you're curious, read on!

Saturday, March 11, 2017

I2C LCDs: Reverse Engineering the I2C Converter

If you need a basic LCD display for an Arduino or Raspberry Pi, it's hard to beat these I2C LCD kits you can find for about $5 on eBay.


Some of them come soldered, some require you to solder things together - but they're cheap, they're I2C, they work... and they are incredibly frustrating when you didn't write down the magic incantation to initialize the LiquidCrystal_I2C class, and cannot manage to get the silly things working again!

Fear not!  With a bit of time, a bit of knowledge, and a cheap multimeter, you can figure out exactly how to set one of these up, starting with nothing but the adapter module!

Read on, if this particularly arcane corner of tech interests you.  But you're probably here from a search engine...

Saturday, March 4, 2017

Fixing Fake FTDI FT232RL Adapters (SSOP-28 rework with an iron)

The FTDI FT232R chips are an incredibly well supported and common way of building USB to serial adapters (usually 3.3V or 5V TTL levels).  The chips have built in drivers on all major OSes, they're easy to find - and almost all the cheap ones adapters there are using fake chips.

But, with a bit of time and patience, you can replace the fake FTDI chips with legitimate ones!  If you like the form factor of your preferred cheap adapter, but need the performance of a real FTDI chip, it's quick and easy to swap them out!

My first attempt (on the left) failed, but I then knocked out 4 functional replacements (on the right).


I'm talking about these adapters - you can find them for about $2, shipped, on eBay.


The chips aren't fake in the "Oh, the factory ran an extra few shifts off the books" sense.  They're fake in the "The fake chips are actually a microcontroller programmed to behave (almost) exactly like the FT232R" sense - and, they do a pretty good job at low speeds!

Zeptobars did some analysis and demonstrated that the fake chips are completely different under the hood, and then of course FTDI messed with their drivers to either brick the fake chips or insert garbage data if you're using one on Windows.

I have a bunch of these adapters laying around (purchased before I realized just how common the fake chips were), and while they work just fine at 115200 baud, they don't work reliably at 3M baud.  I spent a while troubleshooting some connections - things just weren't working right and an awful lot of garbage was coming across my link.  I eventually discovered the problem with fakes, and set out to both fix my problem and learn some surface mount rework skills.

So read on!

Saturday, February 25, 2017

LiteESP8266Client: AT Command library on 100 bytes of SRAM!

Two weeks ago, I grumbled about the state of Arduino libraries (they use too much SRAM for stupid reasons).

Last week, I presented a zero-global-SRAM serial logging library.

This week, I'm offering an ESP8266 AT client library that uses 100 bytes of SRAM (if you use my zero-SRAM serial library for serial output) - almost entirely used within the Software Serial library.

More importantly, I'd like this to show off how to do a fairly complex library without using nearly as much SRAM as the alternatives!


If this is something that interests you, read on!


Saturday, February 18, 2017

LiteSerialLogger: Zero SRAM Serial Logging

Last week, I talked about Arduino library memory use - and pointed out that the Serial library, in particular, is entirely wasteful for the purpose of simply writing log messages out to the serial port.

What's one to do about this?  Well, one can do many things, but what I chose to do is to write my own serial logging library - that uses zero SRAM except when actually writing messages to the serial port!

This isn't the first time I've written something along these lines.  Every few years, I seem to find myself writing yet another serial output library for some reason or other, and serial UARTs are pretty boring to bang bits into at this point.  They're slightly more exciting if they have a FIFO bolted on and a high speed clock, but not by much.

In any case - take a look at this!  A basic Arduino sketch uses 9 bytes of dynamic memory or SRAM (for the millisecond timer), and with an awful lot of serial logging, I also use a mere 9 bytes!


What's this library?  How did I write it?  And how can you use it?  Read on!

Saturday, February 11, 2017

Common Arduino Library SRAM Use

I've been playing with Arduino for a few months now, and one of the things I've found incredibly frustrating is just how much dynamic/global memory (SRAM) most of the common libraries use - the standard Serial library uses nearly 200 bytes of precious RAM, always and forever, just to print a single log message, and a lot of others aren't that much better.

Further, advice about Arduino memory pressure tends towards the handwavy "Well... don't use globals, and use the F() macro..." side of things - which, while accurate, is missing some very important information for understanding what is happening and how you can resolve the issues.

Here's a particularly bad example of what I'm talking about.  With literally nothing done but some libraries initialized, this code is using 1101/2048 bytes of RAM - 53%, and I haven't done a single useful thing yet!


I'm going to dive into library memory use in some depth, look at a few examples, and profile some commonly used libraries!  Read on if you're interested!

Saturday, February 4, 2017

Building a Button Box: Technical Discussion

My daughter (23 months old) likes pressing buttons and anything involving lights ("yight!").  I had some time off this winter - and some parts to build something I call a "Button Box."  And what, realistically, is both a toy that can grow with her, and a subtle way to teach low level programming when she's older (if she's at all interested).  Because nobody is learning C in schools anymore, and C still matters.

This box contains an Arduino Uno, a 20x4 LCD, a few NeoPixel strips, a bunch of buttons, some LEDs, a battery and power supply, and the supporting wiring mess to make it all work - entirely hand soldered, and certainly one of a kind!


I'm doing two posts on this.  You've found the "highly technical discussion" post - this will be useful if you happen to want to build something similar, or find out what I did, in rather substantial detail.  This post also includes lessons learned - places I wasted time, had to rework things, or would just do things differently if I were to do it again.

If you're simply interested in what the build process looked like, you may be more interested in my other post, which is a (somewhat) shorter description of the build process.  This post includes that content as well, so there's no real point in reading both unless you want to.

In any case, if you want the gory technical details, read on!

Saturday, January 28, 2017

Building a Button Box: Overview

I have a daughter (not Cindy Lou Who, but she is slightly less than 2) who loves buttons and lights ("yight!").

If something looks like a button, or looks like it could be a button, she'll press it.  Repeatedly - especially if it clicks!  Clicking buttons are the best, and I'm glad things like dishwashers come with button locks now.

She's also learning colors and letters.  I had some time off over the winter, so I built her a button box that's useful for all of these things!


This is the non-absurdly-technical description of my build.  If you're looking for the gory technical details with an awful lot of advice about how not to do things, you'll want to check back next week for a radically longer post.

Otherwise, read on for how I built her button box!

Saturday, January 21, 2017

Progress vs Decline: What to expect going forward

What on earth just happened?  Donald Trump is now our president.

For quite a few months now (since early in the primaries), I've been saying that, while I don't support Trump, I saw a viable path for him to be elected President.  I caught a huge amount of flak for that.  Even the week before the election, pointing to the closing 538 probabilities and extrapolating out, I got accused of being ignorant of math, clueless about polling, and generally a complete moron for saying, "Folks?  Don't be so sure of a Hillary victory just yet."

Why?  And what does this mean?  I'll try to explain.

Something happened that wasn't supposed to happen.  Donald Trump is the new President of the United States of America.  This wasn't how the story goes.  Following eight years of Obama's Presidency, Hillary Clinton, who is, by the way, a woman, was supposed to Fight the Good Fight against the Evilly Evil Forces of Mordor (represented by none so vile as Donald Trump), triumph in a landslide, and rule over America, representing the fluttering flag of Progress.

That didn't happen - and the howling was incredible.  Trump wasn't supposed to win.  Trump was most assuredly not supposed to win with 304 electoral college votes (which would have been more, except for the faithless electors - of which there were only 2 from Trump, but 5 from Clinton).

Why wasn't Trump supposed to win?  What happened?  And what can we expect going forward based on this?

Saturday, January 14, 2017

Charging a Tesla S/X at 350kW: Plausible!

In late December, Elon Musk tweeted something interesting about 350kW or faster supercharging - and there has been a lot of talk and speculation since then.

Some people think he's talking about trucks - which would make plenty of sense.  Trucks need large battery packs which will require a rapid charge rate to be useful - there's definitely a good fit there.

But... what about a current Model S or Model X?  Could you actually charge one at 350kW with the current hardware?


I didn't know, and I couldn't find anyone who'd actually done the math - so, working with some basic back of the envelope calculations, I decided to find out!

Read on to join me and see what happens if you try to charge at this high rate - but I'll tell you up front - it seems entirely plausible to me!


Saturday, January 7, 2017

No Actual Post Today, Sorry.

I have plenty of posts nearly ready to go - but none fully ready this weekend.

Unfortunately, my wireless ISP and I have been having... conversations since about Thursday, over the extreme lack of internet they've been providing.  This poses a problem for my normal schedule of polishing a post on Friday and Saturday - and going elsewhere isn't worth it with all the snow and ice.

I've learned many things with a packet sniffer (including my radio's IP address), and learned that their level 1 techs are utterly full of shit about a wide variety of issues.  One particularly annoying one is the claim that a 5Ghz AP will interfere with their radios - which are operating in the licensed 5.4/5.7Ghz band - not the unlicensed 5.2/5.8Ghz spectrum 802.11 APs operate in.

Along with almost everything else they've said.  Yes, restarting my AP did temporarily resolve issues, but this is only because the normal IP lease is 60 seconds, and the "We can't talk to the real server, here's a 10. IP address" lease is 40,000 seconds or so.

Not entertained...

Hopefully, back to your regularly scheduled posts next weekend.