Jack Crossfire's blog View Details
Archive for January, 2016
Posted by Jack Crossfire | Jan 28, 2016 @ 11:57 PM | 6,046 Views
Stiffened the suspension with all the supplied C rings. That provided just enough stiffening to consider a payload. Built a cargo container out of cardboard & hot glued it on. Carrying a shirt, the system worked well enough to justify building something waterproof. Cardboard was much lighter than the lightest plastic option: a $10 shower enclosure.

With the shirt, sharp turns barely managed to not flip. Wheels pressed all the way up when turning. Corrugated plastic would be the next idea.

The permanent design involves having the cargo container on spacers, bolting the cargo container on, mounting electronics under it, on top of the vehicle. Yet another idea involves making the container permanent & having the electronics on the side. Only the gyro would have to be flat. The permanent design would allow cutouts for the wheels. The mockup was essentially permanent & didn't show any problems.

It has to be finished in 2 days.
Posted by Jack Crossfire | Jan 24, 2016 @ 11:34 PM | 6,278 Views
The 2 vehicles went 47 miles & the human threw down another 16 alone in the last 7 days. It takes a lot of sleep for a human to run that far. A human who can run that far outruns the robots quite often. Increased mileage has led to increased problems with the vehicles. Compare to 2 years ago when it was a buster to keep up with the G-buggy set to 9 minutes/mile. Now the robots more often have dead batteries & failed electronics before the human.

This year is much slower than last year, but the focus is on endurance more than speed. Robotic pacing has been key to longer distances, by preventing the human from going too fast in the long runs & making the intervals faster.

Slow steering buttons were destroyed in yesterday's rainstorm. Yet another reason for a removable steering pad which can be attached to both sides for dual handed operation. Had a few flips. Need to find throttle settings which prevent flips. Microcontroller had no problems after drying out. Water was the problem & neither conformal coating nor packing tape did the job.

The next step will be a transparent garbage bag covering the entire vehicle. Quite an astounding increase in rain from the last 3 years, yet it's still below average.

Carrying 44oz of cargo greatly increased the battery usage of the lunchbox. 6 miles with the last 3 carrying 44oz cargo took 3672mAh. The old battery is down to 4300mAh, but it might have less capacity when charged at 3A.

Rain continues to cause...Continue Reading
Posted by Jack Crossfire | Jan 23, 2016 @ 04:00 PM | 6,387 Views
So after driving the ECX Ruckus 58 miles in the city, it became clear that the lunchbox had a lot of advantages. Manely, being able to haul a shirt is huge. Being able to have a camera far above the pavement is huge. These things weren't apparent when the ECX Ruckus arrived. Cargo hauling wasn't even a concept.

A 2nd lunchbox would have been the same cost as the Ruckus. The mane problem is it would have a much harder time navigating the city. The narrow Bryant sidewalk & the mobs on the waterfront would be impassible. It would only be useful in 1 small area.

A narrow yet tall vehicle is a better match. A hoverboard is too wide. Gyroscopically stabilized vehicles require constant motion. A small vehicle stabilized by a quad copter on a stick might do it. The idea appeared before, but not with the practical application of cargo & camera elevation. It's really the only way to get eye level video. Eye level video might aid autonomous navigation.

The quad copter vehicle wouldn't lift its own weight, extending battery life. It would have to exert only horizontal force on the stick. High wind makes it impossible for a purely attitude stabilizing vehicle to do the job. 4 narrow diameter fans pointing sideways would always be spinning, exerting various amounts of thrust based on the angle of the stick. Fan diameter would depend on wind resistance. The fans would be at 4 different elevations, to allow air intake.

There are reversible props, simplifying the problem.


The mane problem is the fans would be spinning at eye level in mobs. It would take quite a hefty screen or sphere enclosure. It would still blow quite a bit at their faces.
Posted by Jack Crossfire | Jan 17, 2016 @ 07:01 PM | 6,988 Views
With the ECX Ruckus permanently stationed in the city, it made videos.

pier39 via ECX Ruckus (3 min 9 sec)

& more videos

Stadium run via ECX Ruckus (3 min 32 sec)
...Continue Reading
Posted by Jack Crossfire | Jan 17, 2016 @ 06:45 PM | 6,573 Views
After 15 years of using 2 cordless keyboards & 1 cordless mouse, finally switched back to an old fashioned corded setup. The constant battery deaths would occur in the least timely moments. The radio integrity was random. The range wasn't long enough to truly be cordless. The mouse speed would change randomly, after changing batteries. The return to corded input is like returning to 1999, an easier time. It always worked, but there was 1 problem.

The pointer speed for PS2 mice always worked in Linux. For USB mice, it never worked. xset never worked as documented. Always stuck with a 15 year old mouse with a PS2 adapter, even after its scroll wheel stopped working & it randomly jumped around on a new mouse pad.

Linux has gone now through a dozen attempts to control pointer speed for USB mice, none of which have worked. They've tried changing xset, xinput, gnome-mouse-properties, gpointing-device-settings, xorg.conf, 50-mouse-acceleration.conf. The only foolproof way to configure the mouse has been recompiling the kernel. This too migrated from a change in drivers/input/mousedev.c to drivers/input/input.c several years ago. After years of editing mousedev.c or just using a USB -> PS2 adapter to force it to use the old PS2 driver, here is the change to input.c to slow down the mouse:


static void input_handle_event(struct input_dev *dev,
unsigned int type, unsigned int code, int value)


#define DOWNSAMPLE_N 100
#define DOWNSAMPLE_D 400
static int x_accum = 0, y_accum = 0;

Then after the switch statement:

case EV_REL:


if(code == 0)
x_accum += value * DOWNSAMPLE_N;
value = x_accum / DOWNSAMPLE_D;
x_accum -= value * DOWNSAMPLE_D;
if(code == 1)
y_accum += value * DOWNSAMPLE_N;
value = y_accum / DOWNSAMPLE_D;
y_accum -= value * DOWNSAMPLE_D;
Posted by Jack Crossfire | Jan 10, 2016 @ 03:51 PM | 6,332 Views

The servos showed identical speed on the slow mo cam. Steering oscillation was down to the servo saver. With no desire to break another servo, decided a better solution was to stiffen the suspension. It took the whole day to add 1/4" wood pieces to shorten the springs. The wood needed grease to get the suspension moving. The stiffer suspension greatly improved payload handling, so it was a worthy alternative to finding the cause of the oscillation. It may one day work with the DSLR.

Drove home with another epic payload. This one flipped over a few times. The battery died .5 miles from home, after only 1 mile with the payload. Had to run back with a new battery, but forgot the remote control. Couldn't drive it manually. The payload made it too unstable to drive without the computer.
Posted by Jack Crossfire | Jan 09, 2016 @ 04:37 PM | 6,680 Views
Canon EF 50mm mechanism (1 min 34 sec)

So after powering up the lens with a minimum of components, the motor turned briefly then stalled again. After manually turning it, it turned more consistently. It never stalled again.

The internet can't agree on what type of motor it is & might have confused it long ago with the stepper motor in the F1.8 or what they term as a "micro motor". The motor impedances are over 300k ohms. Steppers have much lower impedances. The motor looks like the other ultrasonic motor documented on the internet. Canon would get sued for printing USM on it if it was a stepper. So rest assured, it's a USM.

The only other teardown showing any detail of a USM motor was


Its wire bundle went to a soldered point which failed. The 50mm's wire bundle went straight in the motor with no soldering.

Based on the scarce documentation, USM motors work more like human muscles than what's marketed as muscle wire. They contain thousands of tiny ratchets which move the payload. In the lens, the tiny ratchets are on the end of a large piston shaped thing. Most of the volume of the motor is a pancake of ceramic & metal alloys dedicated to just generating the vibrations. Only the very end of the pancake converts the vibrations to motion.

Because the tiny ratchets are always engaged with the payload, the motor has very high torque. Turning the stiff lens...Continue Reading
Posted by Jack Crossfire | Jan 08, 2016 @ 11:33 PM | 6,670 Views
So someone at the Goog some time ago introduced an algorithm which finds related channels to your gootube channel, probably based on browsing history of your viewers. To this day, computers can't recognize similarities in video content, only the valuation of ages old click counting has been increased to prevent a recession.

It popped up Casey Neistad some time ago, but never paid attention, figuring he was another weirdo who subscribes to the heroineworshipper channel. In fact, the concept of subscribing to a channel is still a bit offputting. Why couldn't they call it following or favoriting? How many parking spaces on 237 were filled to come to this decision?

It turned out he was one of the 1st reviewers of the hoverboard, previously was the Twit photo guest who was sponsored by gopro, a very well known videographer who never finished highschool, & lives in a huge 9 figure apartment in Manhattan.

Neistad videos are boring as batshit, but the technical quality is always spot on. Focus is always sharp. Editing is perfectly timed. Lighting is always bright. It's an enormous investment to make daily videos that well produced.

Sometimes in the drivel, there is something you've never seen before. Sometimes he has a novel solution to a common problem, like getting a hoverboard up a curb. The most novel visual at this time is seeing him talking to a camera while riding an electric skateboard. There used to be very pooly lit drive time rants from Dave. Then...Continue Reading
Posted by Jack Crossfire | Jan 08, 2016 @ 11:13 PM | 6,598 Views
After 8 years & hardly any use, the mighty 50mm died. Its autofocus died, while everything else still worked. The focus ring still moved, but the motor was dead. The internet abounds with failed autofocus tales, manely emphasizing broken mechanics. The gears break. The cylinder gets bent. Regarding the motor, the internet is silent. The motors are accepted to be without failures in the 30 years they've been around.

It might be good enough without autofocus to live with. In the days when foot transportation abounds, the normal lens camera of choice has been the phone. The DSLR is rarely used for anything. There's hardly any need for a 50mm lens except for the irrationality of a camera which can't take normal photos.

The only smoking gun is the motor is very hard to turn. It could never turn on its own unless it had a very tiny planetary gear in the motor casing. The 50mm f1.4 only arrived because it was the old man's lens. A better investment would be something lighter like the f1.8 or cheap wide zoom because 50mm is never used....Continue Reading
Posted by Jack Crossfire | Jan 03, 2016 @ 07:49 PM | 7,036 Views
Another holy grail in robotics is the ability to transport a DSLR. Unfortunately, the 1st experiment in this took it on trails, which failed miserably. On pavement, the vehicle was barely manageable. It had a constant steering oscillation, either due to the top heavy payload, the padding, or the Futaba servo setting up a sympathetic oscillation with the gyro heading. No amount of D or P gain made a difference.

Suspect harder suspension would make a big difference for these payloads. The wheelie bar was useless at preventing backflips.

Once on the trail, backflipping during the ascent abounded. Wheel hubs slipped inside the tires. Despite another dry December, the trail found a way to be packed with mud. As altitude increased, the mud became impassible. Walked with the lunchbox over most of it. Finally, the battery died after only 3.6 miles.

Driving a DSLR up this trail will never happen, because of the limited battery range. It might happen with the gopro, when dry. Driving a DSLR on the usual paved trail might happen with stiffer suspension.
Posted by Jack Crossfire | Jan 01, 2016 @ 06:12 PM | 7,920 Views
These Tower Hobby servos date back to the DVD robot of long ago. They were $6 in those days, but should have held up. It went hundreds of miles, then snapped during a mild crash after 1 mile. There are no metal gears for standard servos. Now going through all the Futaba servos in the apartment until they need new gears. The Hitec servos won't fit in the lunchbox's servo saver. Only Futaba & generic Towers will.

The trick with servos is the screw needs to go down past the case. That should transfer the load from the screw to the case, rather than from the screw to the gear to the case. Unfortunately, servo horn screws are yet another extremely rare hobby screw size with no more local shop. It would be more effective to eliminate the "servo saver" so the lone existing screw from 1988 can reach far enough.

After some grinding & 2 stripped screws, managed to get a custom horn loosely fitting where the servo saver went. The screws would never be a perfect fit. These servos arrived from China with only the Futaba S3003 sticker but nothing else matching the photos, no screws or attachments. Only stray Sanwa mounting screws & Sanwa horns from 1988 fit.

The screws are 1.6mm inner diameter, 2.2mm outer diameter, at least 9.5mm long, 0.825mm thread spacing.

After test driving in manual mode, it was time to drill out the Chinese gear & use a standard screw size to get the steering horn flush. It drifted quite a bit.