New Products Flash Sale
Jack Crossfire's blog View Details
Posted by Jack Crossfire | Feb 24, 2016 @ 01:46 AM | 2,336 Views
All the talk of motor braking brought up the subject of springs in legged walking robots. Springs are a popular topic in legged robots. The human body is modeled after springs which restore energy in the walking cycle. Actually, the human leg doesn't restore energy. Gravity extends the muscles, but all the energy required to contract the muscles in 1 cycle needs to be expended again in the next cycle. There is no restoration of energy in a human, but adding springs to robotic legs improves their efficiency.

Nevertheless, motors are very good at recovering the kinetic energy of a wheel. Not only can they stop wheels, but enough energy is recovered to recharge the battery & restart the wheels. An electric car in traffic is basically an electric spring with a small amount of energy added in each start to what is recovered in each braking.

Surely there is a way to replace the springs in the most efficient walking robots with some kind of regenerative braking & this mechanism could make legged mechanisms almost as efficient as wheels. It would be best realized in high voltage linear motors, but a good experiment would be trying to make a common brushless outrunner act like a spring with some kind of actively controlled capacitor, then measure the torque this mechanism can provide.

It probably could make a lot more torque with the capacitor mechanism than a motor driven straight from a battery. The capacitor could be charged to a very high voltage, pulsed through the motor to generate the 1st motion, then each subsequent motion would require a small topping off.

A legged robot driven by regenerative spring motors might be more efficient at running, but not at standing still.
Posted by Jack Crossfire | Feb 22, 2016 @ 10:18 PM | 2,538 Views
It was an intense series of firmware flashes, with full time heading hold followed by another simonk which brakes during idle (MOTOR_BRAKE = 1). Braking during idle finally solved the runaways when the tachometer died when going downhill & made driving in the city a bit easier.

With avrdude installed in /usr/local/bin, the command was

avrdude -e -patmega8 -cstk500v1 -P/dev/ttyACM0 -b19200 -Uflash:w:tp_8khz.hex:i -Ulock:w:0x0F:m

The trick is some point in its history, the dude changed to setting a custom baud rate for all baud rates including 19200, despite the fact that custom baud rates were unavailable in some kernels. It needed a hack to re-enstate the standard baud rate flag.

Also, /dev/ttyACM is non functional in virtualbox. It was functional for a JLINK debugger in native mode but not an Arduino. The arduino only worked for Linux 3.19 in native mode, but only after running another terminal program to initialize it to 19200 baud.

It's disappointing how much no longer works in Linux that used to work long ago. The stack postings for Linux drop off after the 2013 time frame, when smartphones dropped below $100. With waning use of desktop operating systems & programming becoming the fast food service of the 21st century, the desktop is returning to a time when weekly reboots were required.

Phones have always needed Windows 3.1 style dropkicking, but the kind of people who use them & who comprise the fast food age of programming don't care about breaking uptime records like 20 years ago.
Posted by Jack Crossfire | Feb 17, 2016 @ 10:08 PM | 2,126 Views
Running in redwoods (25 min 14 sec)

25 minutes of barely usable footage from 67 min of running. The obsolete gopro did what it could in backlit darkness. The difficulty of the terrain made quad copters look real good. They could provide 15 minutes of higher quality footage, but a modern quad copter with the full brushless gimbal would be too big. Cargo capacity was the game changer for the lunchbox. A quad copter with cargo capacity would have to be huge & much noisier than the lunchbox, indeed.

Practical limitations aside, a quad copter controlled like the lunchbox, in a large enough space to be practical, would bring a new world of video quality.

The search continued for a rationale to make a wireless audio input for a phone. The athlete mounted microphones could be useful if there was no camera robot. The camera robot may be quiet enough at head distance to be usable. Testing the audio quality of an athlete mounted microphone by using the simplest mono phone input is the word.
Posted by Jack Crossfire | Feb 15, 2016 @ 07:12 PM | 2,118 Views
The Zoom H2 has served for 7 years, showing growing limitations. Its battery life was never there. It never had a true microphone preamp. It didn't have any gain control. It's too big to do far less than a modern phone can do. It didn't have balanced inputs. Its user interface was utter trash.

The news of the day is the need for a very compact audio recorder which relies on a phone for the storage & user interface. There are many applications of this compact audio recorder.

1) Recording ambient sound in stereo from unbalanced electret microphones attached to an athlete.

2) Recording voice from an unbalanced headset or lav mic.

3) 3 unbalanced channels, with voice mic on 1 channel & ambient mics on 2 channels.

4) Recording balanced sound from 2 studio mics.

In all applications, it needs a headphone out to monitor the audio. It requires 4 preamps & 4 ADCs to capture all the required audio. 2 ADCs would be subtracted in software to capture balanced audio. Then it needs 2 headphone amps to power the headphones. It requires many digital pots:

4 - each preamp
2 - headphone out

The pots would be ganged for the user interface into 1-2 input gains & a single output gain. It needs presets to select configurations of preamps to record & pass to the headphones. It would be easiest to pass the digitized signal to a cheap DAC to drive the headphones.

Encoding needs to be 24 bit 48khz uncompressed. The total bandwidth would be...Continue Reading
Posted by Jack Crossfire | Feb 15, 2016 @ 12:18 AM | 2,872 Views
Fitted the lunchbox with a lid, onto which was mounted the camera. This stayed shut nicely, but the camera had quite a bit of vertical flopping. The trail was supposed to be easier, but once again proved too difficult. Any downward slope sent it flying down at full speed when the tachometer failed to register any motor speed. Ruts & drainage ditches were impassible. It was too noisy. Slowed it down to 6mph to reduce the noise. Only some flat areas at the bottom of the canyon were passable.

After 5.7 miles, the transmission blew & the motor spun like mad. Carried it the remaneing 0.25 miles. It wasn't a bolt becoming undone. It was melted plastic where once a bushing had been. The melted bushing allowed the mane gear to slip off the pinion gear. Once the pinion gear was far enough off, it melted through the mane gear. The bushing melted because it wasn't lubricated. The reason for the lack of lubrication was this guy:

Helas, for someone driving hundreds of miles, lubrication was necessary. The consequence was melting.

A few hours later, the transmission was rebuilt & working again with a few gallons of grease. Realigned the pinion to grab the remaneing gear. Enough was unmelted to keep it going, but ball bearings are a long term necessity. The transmission was damaged enough, it may be time for a new vehicle.

The forest was too dark to get any video. There were occasional frames in which a blurry lion...Continue Reading
Posted by Jack Crossfire | Feb 14, 2016 @ 01:38 AM | 2,526 Views
After 13 hours of stabilization on the Macbook, it was done.

Stadium run, side cam (29 min 46 sec)

It was the 1st side view of running not on a track or a closed course but the real world, without a dedicated camera operator. No-one else in the world had ever seen himself from this angle. It was a lot more idyllic than the point of view of running it. Notice people's heads turning, something not visible while running.

Autonomous driving was originally thought to be the only way to get this angle, but it proved easy enough to drive it manually. There are still a lot of regrets in not being able to get the camera at eye level.
Posted by Jack Crossfire | Feb 12, 2016 @ 12:40 AM | 2,313 Views
Basically, gravity waves are another form of electromagnetic radiation like light waves & radio waves. When a pulse of current flows through a wire, you get an electromagnetic wave in the form of photons flying out. When a large amount of mass appears or disappears, you theoretically get a gravity wave in the form of spacetime shrinking & expanding. Specifically, spacetime briefly shrinks in 1 direction & expands in the perpendicular direction.

At great expense, our ancestors built 2 observatories which could detect the warping of spacetime. In each observatory, 2 lasers are shot 1000 miles back & forth down the length of 2 tunnels arranged in an L. The lasers are in phase when the 2 tunnels are the same length. The lasers go out of phase if the tunnels change length due to a warp in spacetime.

The 2 observatories are 1000 miles apart. The propagation delay between the 2 observatories could triangulate the origin of the gravity wave.

Long ago, 2 black holes collided, converting the mass of 3 suns into a gravity wave & releasing 50 times the energy of all the stars in the universe. 4 months ago, 1 observatory detected spacetime warping by a fraction of the width of a proton. 7ms later, the other observatory detected it. For 1/10 a second, the length of the tunnels in the 2 observatories oscillated as spacetime expanded & contracted several times.

The hope is more gravity wave observatories can be built, detecting more mass change events & making this part of the electromagnetic spectrum as accessible as radio astronomy. It's a testament to the improvements in space transportation that a pathfinder for a space based gravity wave sensor was already launched. The final sensor would have lasers measuring warps in spacetime in a span of 5 million km.
Posted by Jack Crossfire | Feb 07, 2016 @ 02:48 AM | 2,444 Views
Because the Ricoh Theta S is a game changer. Like most game changers, there's only 1 in the world. It's the right size. They realized properly stitching together a 360 image requires the fewest optical elements possible, which no-one else in the world realized. It has only a few problems: it's very slow at exporting stitched video, it has no protective enclosure, the resolution is too low, it's too expensive, it doesn't have a brushless gimbal emulating feature although the hardware is in place.

The impact isn't the final product being 360 because no audience is ever going to manually point the camera for an entire movie. The impact is being able to compose & stabilize shots after the event. A 360 cam needs only be thrown in the air to capture all possible compositions. The complexity & size of a brushless gimbal is manely gone. There's still a seam where the 2 lenses join, but as long as the composition stays in the field of 1 lens, it should have the same functionality as a brushless gimbal.

It was long believed the game changer is when brushless gimbals become small enough to fit in phones, but more likely it's when phones adopt 360 optics. 3 years after the brushless gimbal 1st appeared, it didn't impact the look of all videos as hoped. Most videos are still shaky, pointing away from the subject, & portrait mode. The 360 phone cam may be the one to make all videos rock solid, landscape, & pointing the right way.

The 360 phone cam may take the form of pinholes surrounding the top edge. No matter where the desired shot was, there would be a seamless image.
Posted by Jack Crossfire | Feb 07, 2016 @ 12:29 AM | 2,394 Views
Its 2nd revival. This time, the hose came loose. Put in a better power switch & new hose clamp. The 1st time, it was a failed conversion to try to make a vacuum. It doubled in price in its 15 year history. Not quite as fast as inflation, but always impressive to keep something going.
Posted by Jack Crossfire | Feb 06, 2016 @ 01:52 PM | 2,207 Views
Stadium run timelapse 2 (4 min 6 sec)

A few more hot glue sticks & the camera worked quite well. The camera needs leveling. The shirt could slide in without removing the camera. It remaned quite drivable with shirt & camera. It became almost the perfect running system or the aid station on wheels 1st envisioned. For a short time, no-one else in the world has anything like it, but rest assured, the aid station on wheels is going to be everywhere, someone is going to make billions off of it, buy out all the apartment complexes & evict us.
Posted by Jack Crossfire | Jan 31, 2016 @ 07:38 PM | 2,736 Views
A new cargo container made out of 15 year old corrugated plastic was finished. The plastic dated from a time cheap letter trays were sold at Target. They definitely don't sell stuff that cheap anymore & the last plastic became quite brittle from 15 years exposed to UV light, so it might not last.

The electronics were made more compact & enclosed in a bigger sheet of plastic. There was no way to put the electronics on top. Used transparency from circuit board etching ended up quite useful in waterproofing the electronics. It could be stapled into box shapes for the radios & hot glued on the wood for the mane computer. Hot glue was quite tenacious when used to clamp transparency down but was quite worthless when adhering transparency to itself.

At minimum, the waterproofing should prevent more droplets from hitting the electronics, but would be no match against submersion or heavy rain.

Reglued the headlights & made them always on. A switch was considered not reliable enough in the rain & the overall current usage was low enough. Bluetooth headlight control remaned too much of a pain compared to a switch.

The cargo container was hot glued on. Using hot glue to adhere the plastic to wood seemed good enough, despite hot glue not adhering to corrugated plastic alone. It may still be bolted on, but this wouldn't be as rigid.

Retaped the battery & ESC in. Gave the ESC more tape to try to slow the water penetration.

In a 6.9 mile range test with the cargo empty, it used 1443mAh or 209mAh/mile. It would now probably go 18 miles. A coulomb counting charger at the day job would allow testing the range with cargo. Steering was already quite top heavy with no cargo.
Posted by Jack Crossfire | Jan 28, 2016 @ 10:57 PM | 2,414 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 @ 10:34 PM | 2,472 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 @ 03:00 PM | 2,599 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 @ 06:01 PM | 2,763 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 @ 05:45 PM | 2,333 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 @ 02:51 PM | 2,000 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 @ 03:37 PM | 2,318 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 @ 10:33 PM | 2,245 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 @ 10:13 PM | 2,199 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