Jack Crossfire's blog View Details
Archive for January, 2007
Posted by Jack Crossfire | Jan 31, 2007 @ 04:05 AM | 6,481 Views
Lost the port LED strand at 15ft nose-in. R, W, B suddenly became a single strand of W, B. Flying with only W, B, is equivalent to going blind, no orientation, no direction, cluelessness. Nevertheless, managed a nose-out, terrifying, part tail boom, hard landing despite W. B.'s best efforts.

After repairs, and proving our copter was still all there, the battery died after 22 minutes. In 10 mph wind, noticed it was getting harder to maintain altitude but was too occupied chasing a police copter to remember the time. Air starting a Castle is a complete waste. It's just an RWB brick.
Posted by Jack Crossfire | Jan 30, 2007 @ 03:05 AM | 7,147 Views
It's "the height of irresponsibility" for a copter to pass the laws of physics along to a pilot.
Posted by Jack Crossfire | Jan 28, 2007 @ 10:23 PM | 7,266 Views
So the autopilot remains stuck at hello world. Managed to verify the flash programming. Turns out the reset pin was never being grounded because it was connected wrong. That led to programming errors. The verify step always worked. Now it appears to either get partway in the program and die or not run the program at all.

Had 2 anomolies during today's flying routine. After a 40mph pass, did a rapid pull up + throttle kill, then rapid push down + throttle spike. Heard the sexy sonic boom chops followed by a new gear clicking sound. Then a sudden yaw to nose-in, against the tail rotor happened. Thought the tail rotor died again but managed to regain control. The tail reduction gear may have slipped from an unusually high rotor stress.

Our final anomoly was a rapid nose-in approach followed by quick pull up + throttle kill + push down + throttle spike. Had a sudden roll left. Fought it for a few seconds but never could regain control. The second day in a row of sudden rolls.

They say dissimetric lift causes retreating blades to gradually lose effectiveness, but we encounter extreme instability and sudden 45` rolls when moving at high speeds. Anything beyond a 33` roll seems unrecoverable with this copter.

Could always just fly slowly and hover once a week, but if you're not crashin you're not tryin.
Posted by Jack Crossfire | Jan 28, 2007 @ 04:28 AM | 7,344 Views
So getting hello world to work is proving as difficult as getting JTAG working. First of all, the ISC_BLANK_CHECK command on the STR9 is documented wrong. Blank sectors return 0. Written sectors return 1.

Secondly, the ISC_READ command is returning random data for the flash contents. The same thing happened with PIC micros, except now ISC_READ is returning valid data for the configuration register.

Removed the STR9 library in favor of manually setting the registers. The STR9 library added 10000 bytes to the executable. Without it, hello world is 68 bytes. Hello world isn't working of course.

In today's crash, was doing sideways/nose-in movement. Got it going pretty fast upwind. Then on the direction reverse it suddenly rolled excessively left. Applied right cyclic with very limited results. Seemed to run out of room, so instead of throttling up, killed it. Not sure how it ran out of room, besides flying in the most overcrowded country in the universe.

In other news, The Canon passed exposure 50,000 today while shooting another sunset movie. If it was an EOS 350D it would have died by now. If it was a 350D, would have probably had no trouble spending the extra $200 on an XTI at this point.
Posted by Jack Crossfire | Jan 27, 2007 @ 03:02 AM | 7,506 Views
After 2 weeks of mane hair removal, imminent bankruptcy, 3 programming circuits, 10,000 Win2000 reboots, and EE purgatory, the STR9's JTAG works. Got good return values for a chip erase and a configuration register write. The flash banks are now supposedly reordered so it boots into the 32k and can use a bootloader there to program the 256k.

All the success was achieved by custom software in Linux. The CAPS tool was a complete waste of time. Still much 2 do: running hello world, developing a bootloader, and programming the 256k flash.

In other news, was thinking about the Silicon Valley tech fad followers who are buying $500 bikes because they fold up, instead of a $200 electric scooter which takes up less space than the folding bike, because their corporate idol CEO rides a folding bike.

If there was a way to transport the copter on a scooter, we would have a pretty huge incentive to make the Razor E300 happen when gas hits $3.50 again, but the scooter doesn't have any cargo room. The copter is drastically cheaper to fly than the car is to drive.

Had 22 min of good sonic booms with the copter, but the lowest flight time ever. They seem to come easier in warm, moist conditions. Bring it up to 150 ft, idle the throttle and pitch hard forward, the combination of rapid descent and forward movement gets those blade tips up to 650mph.

kiwipedia wrote:
> the 747 broke the sound barrier during certification tests.
Posted by Jack Crossfire | Jan 26, 2007 @ 01:55 AM | 7,436 Views
FYI, all the set screws are lock tightened of course. Don't have the balls to put threadlock on a shaft because of the risk of threadlocking the $100 bearings.

No matter how tight they are, they naturally come lose as a function of routine stresses, but exactly which set screws come lose the fastest is still being discovered. The forward tail pinion came lose after 12 hours. The motor pinion came lose after 45 hours. All the others have been solid.

Since flattening the tail wire, the tail pinion has never loosened. Still undecided on grinding the $100 motor shaft.

The motor set screw is particularly hard to reach, requiring dismantling the spur gear & motor to get at. Being a fat shaft made it the least likely to slip but it did. Also stripped a set screw in the spur gear during yesterday's replacement, so they can be overtightened.

In other news, after giving up on CAPS, free JTAG tools, and starting to write a JTAG programmer from scratch, finally started getting something resembling useful JTAG results. The trick is the way the JTAG "taps" are wired in hardware.

With the STR9 came a diagram showing the 3 devices contained in the STR9 package and how the JTAG signals are connected to them. TCK, TMS, and TRESET are parallel, meaning all 3 devices get the same signals, simultaneously from those wires.

TDI is series, meaning the TDI signal has to bit shift through one device, then another, and another until it gets to your target...Continue Reading
Posted by Jack Crossfire | Jan 25, 2007 @ 01:43 AM | 7,577 Views
So after 45 hours of flawless operation, the motor setscrew came loose at 100ft. Started losing power and hearing a gurgling sound but didn't know what was happening. Then during the descent started losing altitude real fast and the gurgling got louder. Adding throttle did nothing. Finally there was no power and it hard pledged allegiance. Out of ny ties.

Was it a dead motor? Would we buy a new motor or scrap the Corona, get a T-Rex 600, and start collecting motor induced poverty entitlements?

Fortunately it was just the motor set screw coming lose. The word "set screw" appears twice in the crash log. The word "USA" appears 22 times.
Posted by Jack Crossfire | Jan 24, 2007 @ 03:42 AM | 7,506 Views
Different managers have different views of custom boards. Some swear by them, spend all their time fabricating them for every smallest purpose, make automated scripts to order parts from digikey, and only give raises to EE's. Others avoid them, outsource them to highly paid contractors in other countries, and insist on eval boards at all costs. The current manager is custom board phobic, so there will be no surplus AT91SAM boards in this copter.

Personal experience shows fabricating custom boards is the least productive, least efficient step in developmemt. There is an economic
advantage to make boards when point to point soldering is possible, but most new components require a 0.5mm pitch BGA mask.

Manufacturing and debugging those is so expensive, time consuming, and risky there's almost always a cheaper, mass produced solution to the problem.

With regard to using the STR9 without CAPS, one user accidentally wrote a register from which the only recovery required CAPS. That chip can't
really be used unless you have CAPS working.

With the crummy Hirose adaptor costing $30, that brings Gumstix to an easy $200. Gumstix would be a lot cheaper if they dumped the gimmick
and just made something with a useful connector. The Gumstix has the advantage of clockcycles not being an issue. All roads lead to the rediculously high priced Gumstix.

Now for today's picture.
Posted by Jack Crossfire | Jan 23, 2007 @ 02:04 AM | 7,447 Views
So with the discrete JTAG cable, it was the same story. "Cable power off" and "timeout". With that and the failure of any other tool to work around the STR9's peculiar JTAG daisychaining, it looks like this $67 experiment is bound for the gadget graveyard.

The remaining options are expensive.

1) Buy a commercial programmer for the STR9: ($75) No guarantee of success. Only works with ST and their Win 2000 single CPU debugger.

2) Buy a Gumstix. ($150 + Hirose connector cost) Guaranteed to work.

3) Try to get a discounted AT91SAM board from the day job.

4) Try again to run the STR9 in a crippled mode, without using the proprietary JTAG commands to optimize it.

With other projects in need of faster processors, the Gumstix doesn't meet our goal of a cheap, powerful processing solution for everyone. The STR9 isn't fun either, with its bird nest of undocumented codes.

Been getting better at making sonic booms with the copter. One thing 3D pilots don't capitalize on is the creation of sonic booms due to blade tips approaching the speed of sound. The trick is to enter rapid descent with low throttle and fast forward movement. It can get amazingly loud, almost like a blackhawk.
Posted by Jack Crossfire | Jan 22, 2007 @ 04:27 AM | 7,236 Views
So removed the pullup from the JTAG data output and it started making proper signals all the way through. Unfortunately, with all the signals propogating and looking good at 1khz it still reported "cable power off" when trying any operation.

The STR9 advertizes support for a pace clock to limit the rate of JTAG communication. Tried implementing a pace clock in software at 1khz but the CAPS debugger just said "timeout" when trying to get IDCodes and "cable power off" for all other operations.

It appears there's either a minimum clock speed or the pace clock is ignored for most operations, causing the debugger to use way too high clockspeeds for a software JTAG circuit. The next step is to move closer to what ST recommends and use discrete components instead of software for the JTAG circuit, but still not a full implementation of their reference circuit.

Today's sunset shoot was less flatttering than others, mainly because it was underexposed. You need to overexpose 2 stops exactly on the predicted sunset time. Then you get a nice lead-in with reasonably good exposure when it finally turns red.

Wunderground is required because you can't see the sun cross below the horizon from this dumpy apartment complex.

Today's shooting began 20 minutes before the predicted sunset at +2 stops because we didn't trust wunderground. Once you begin shooting, you can't change exposure without putting a glitch in the movie. That's still something software can't correct.
Posted by Jack Crossfire | Jan 21, 2007 @ 05:14 PM | 7,463 Views
Though still not working, we have more information on the JTAG problem.

1) The parport has 4 modes: Output only, bidirectional, EPP, CPP. JTAG only generates useful signals in the bidirectional mode.

2) The JTAG programmer, CAPS, doesn't work with the PEP driver. You have to use the JTD driver in single CPU mode. A note about single CPU mode is in http://home.comcast.net/~kagamix2/xp.../dual-CPU.html

3) CAPS can't detect a useful JTAG clock speed on its own. You need to override the JTAG clock speed by first booting CAPS, then editing uPSDsoft.ini and changing TCK1 to a useful speed, then entering the HW
Setup dialog. Editing it any other time doesn't work. TCK1 is a hex clockspeed in khz. Even then, the minimum clockspeed is 1khz.

4) You have to run "Reset Target" from the main menu before every JTAG test.

With more useful parport output achieved, the next problem was getting JTAG data from the STR9 back into the parport. The STR9 generates more useful JTAG output than last week, but the bridge that inverts the JTAG data before sending it to the parport is generating garbage. It's non-inverted and appears to contain a reflection, but it would have to be the slowest reflection ever recorded.

All the other signals are passing through the bridge properly. JTAG data out is pulled up as it should be.

To save money and time, a PIC18F458 is supposed to be debouncing and performing all the functions of a flashlink JTAG cable in software. That limits the maximum clockspeed significantly but these glitches are way below that minimum.
Posted by Jack Crossfire | Jan 20, 2007 @ 04:01 AM | 7,171 Views
So yesterday was 20mph wind, but managed to keep it in the air through some extreme fighting. Every night out there is a fight with that country, like we're in some kind of marriage, or relationship, for lack of a better word.

So today's plan was to try a new camera angle. Many takeoffs, landings, and previews. Forgot to start the stopwatch on a flight. Dead battery at 15 ft. Must have forgotten 2 flights. Managed to air start the motor but before it could generate any thrust at all, the Castle killed it again. Air started it agai- screeeeeeeeeeeeeech. Killed it after it hit the Unowthecountry but not until getting in a few ground gears.

That castle is nihilistic. The moment it sees 4.9999999999999999999999999999999999999999999999 Volts it kills the motor.

Tried a wide shot looking down on the field. Then tried another space shuttle shot with the camera directly below the copter and the copter
lifting staight up. Had to do the ascent from the side again because the copter made a blob when directly above.

Another twist with this shot was the use of a background plate. There isn't enough dynamic range in The Canon to see both the stars and the
copter simultaneously. Also the color of the sky can't be balanced without destroying the LED color.

This flight coincidentally produced 5 exposures of just stars and 1 exposure of the copter in the exact same position. The star exposures
were stacked and color corrected to make a very bright background plate. Then the raw image of the copter was added with no color correction.

The result was noisy but still the best night shot ever. Next time we'll definitely focus on getting better background exposures.
Posted by Jack Crossfire | Jan 18, 2007 @ 01:52 PM | 8,222 Views
Guess w.e. know why o.u.r. spy satellites started failing last week. Now there's a billion pieces of metal flying around in polar orbit, brought to you by the "peace loving" Chinese.

Recall a year ago, when China was launching humans into space, and saying they didn't want to militarize space, Dubya was the war monger here, and the voters were trying to unload Dubya for wanting to militarize space against the peace loving, truth telling Chinese. It was Dubya being a war monger by not involving China in the "vision for space exploration".

More interestingly is how the Americans, so deluded by the media and their politicians, still insist that China is peace loving and Dubya is the problem even after losing a spy satellite. How much do they have to lose before they start using their own eyes instead of their leaders?

Maybe China can put the deluded Americans out of their misery.
Posted by Jack Crossfire | Jan 16, 2007 @ 02:30 PM | 7,519 Views
Someone was curious about the McNaught movie that no-one was interested in. It's available on


This is the only movie of Comet McNaught made from the ground. It was the comet's last descent into the horizon before disappearing from the northern hemisphere forever. Unsharp mask, time average, light subtraction, and huge amplification in floating point Cinelerra brought the comet out of the original JPEG images.

Light subtraction is an extreme version of unsharp masking. A 500 pixel blur is applied to one copy of the image and subtracted from the original image. This removes the ambient light, leaving only objects smaller than 500 pixels.

Even with the software processing, the movie was still too noisy for MPEG compression so a JPEG movie was created.

Consisting of only astronomical observations, you might say the space side of our aerospace operation is RC without the C.
Posted by Jack Crossfire | Jan 15, 2007 @ 12:25 AM | 7,590 Views
Things are stuck in the autopilot department. The next copter brain is the STR910F, a 32 bit 96Mhz ARM with 288k flash and 64k RAM. They now have one with 0.5MB of flash but we didn't spend the extra $3 for that one.

Unfortunately it requires JTAG to program it the first time and that is a brick wall. This chip uses an unusual JTAG arrangement where you have to provide BYPASS commands to get to the CPU. So far, PEEK and POKE commands haven't done anything and HALT and POLL commands give random results.

The documentation gives very brief notes on the programming but not enough to actually write your own programmer.

The only way seems to be their own free JTAG software and their own JTAG cable, which is not trivial to build. With that cable, the total cost of this board could surpass $100, making it more expensive than a 200Mhz Gumstix.
Posted by Jack Crossfire | Jan 14, 2007 @ 03:16 AM | 6,525 Views
Had 28 5 mph wind. Fortunately as an East wind, it is possible to face downwind when flying. The flight log has temperature notes for every day below 32. Freezing temperature appears to take 1 minute off of flight time.

Also made some movies of Comet McNaught, but since no-one reads these blogs, we're not posting the movies.
Posted by Jack Crossfire | Jan 13, 2007 @ 01:54 AM | 5,814 Views
weather.com wrote:
> 33F Feels Like 26F
> Wind: From NNE at 8 mph
> Humidity: 33%

The first time we achieved subfreezing temperatures in high winds. Too bad global warming only happens during republican congresses.

Unlike hiking or trapezoid missions, you can't fly in any wind at all if the temperature is below 40' because you have to stand upright and stationary while manning the sticks, and we do mean man.

What country puts out this dry ice anyway?
Posted by Jack Crossfire | Jan 09, 2007 @ 02:27 AM | 5,948 Views
Was surprised to see a slashdot poll showing the IPod generation overwhelmingly favoring computer games and programming over copters.


At that age, I too thought computer games would replace the metal and plastic world of copters. Then in the last few years it appeared newer, cheaper flight technology was getting them back into copters.

One explanation is flying is still too expensive for people to do until their 30's and until then, they're sticking to what's free.

Been flying in the 29min range on the 4000mAh ever since molybdenuming the main spur gear, so decided to molybdenum the forward tail gears. 24 lousy minutes on the 3300mAh.

What seems to be happening is the tail gearbox was stiff after the Nov rebuild and ever since, it's been grinding its way smoother and smoother. You can never align the tail gearbox perfectly in a Corona.