Jack Crossfire's blog View Details
Archive for July, 2015
Posted by Jack Crossfire | Jul 30, 2015 @ 11:00 PM | 6,494 Views
Not to be converted into a project.
Posted by Jack Crossfire | Jul 25, 2015 @ 06:30 PM | 6,751 Views
The Feiyu FY-G3 is what everyone is using to make running videos, nowadays. It's about as cheap as it can be made, when the cost of the motors & the custom compact frame are factored in. If any money was left over after current rent prices, it would be time to make an order, but there is no money & no plan for next year's rent increase.

Its 1 of the new crop of gadgets whose gyros calibrate when it's in motion. Can only imagine it correlates the motion of multiple accelerometers with the gyro motion.


The mane limitation is the god damn Chinese didn't think of putting in a joystick to control it, so there's no way to lock position while retaining the ability to override it. There is a single button which switches between position lock & hand tracking. The button must be held down for 1 second to lock position & tapped to unlock position, not practical for constant trimming over 20 miles.

The biggest limitation is it's not as stable as the home made gimbal in 2013. Ginger Runner confirmed the silky smooth Gootube videos are all software stabilized. Without stabilization, it's as rocky as the home made gimbal after reworking to use UART converters. Still no clues why the rework made it unstable, but might go back to I2C.

It might be worth getting a Feiyu just for its parts, while adding a joystick & using custom firmware. The same parts from rctimer.com are insanely expensive.


It was theorized that a gimbal should stay very close to its starting position, using only rate feedback. Going over the source code, it seemed to be never actually tested using rate feedback only. It always used total angle feedback at a very high gain, but this stopped working after the UART conversion.

The leading theory is no matter how hard you try, there's going to be more latency in converting I2C to UART than reading I2C directly. The UART has buffering delays on both ends, which could be important. It might be worth testing just rate feedback on 1 gyro, with & without UART mode.
Posted by Jack Crossfire | Jul 24, 2015 @ 11:18 PM | 7,287 Views
Amazon.com is transitioning from being known as a store to being known as a web services platform. For the 1st time, there was no new phone, no new kindle, no Amazon Watch, not a single new consumer product to get anyone excited, yet the stock exploded. AWS had always been a growing monster that no-one talked about, but it’s come out of nowhere in the last 6 months to account for all their net revenue.

Of course, stock gains nowadays are mainly driven by share buybacks, algorithms, & the government. Too bad their employees will never have even 1/1000th of Jeff’s 83,921,121 shares, but that’s the new economy. A typical CEO owns 99.9% of the company & the employees own nothing.

When they're bought out by Google for $500 billion, Jeff will invest it in real estate. The employees will end up homeless because they can no longer afford the rent increases caused by the buyout package they earned their CEO.

Every employee must keep their fate in mind, as their CEO frantically tries to sell the company to their nearest competitor. At the same time, employees can't jump ship to join their nearest competitor because that would violate their non compete agreement. Only the CEO can sell the company to their nearest competitor.
Posted by Jack Crossfire | Jul 23, 2015 @ 11:16 PM | 6,895 Views
It requires a Macbook with MacOS already on it. There have been tall tales of pirated MacOS working on a Windows box, but don't believe everything you read on the internet. In this installation, MacOS & Linux have their own bootable partitions, so they don't need a virtual machine to run separately & can get the full machine resources when needed. The trick is getting them running simultaneously, so the development environments of both sides are going at the same time.

Step 1, get Virtualbox to boot the MacOS installation on its existing partition. The magic commands were buried in http://www.virtualbox.org/manual/ch09.html#rawdisk

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda

Creates a virtual disk which is really a symbolic link to the entire real disk.

Attach the virtual disk to the virtual machine in the Virtualbox settings. It worked on the 1st try.


Step 2, fix the screen resolution.

VBoxManage setextradata "mac" VBoxInternal2/EfiGopMode N

Where N can be one of 0,1,2,3,4,5 referring to the 640x480, 800x600, 1024x768, 1280x1024, 1440x900,1920x1200 screen resolution respectively. This only worked with MacOS.

The MacOS booted easily, most of the time.The issues with hidden serial numbers & esoteric bootloaders on the internet were resolved years ago.

Step 3, make the virtual MacOS share the laptop's ethernet so you can access the virtual Mac desktop over VNC & share files over SMB....Continue Reading
Posted by Jack Crossfire | Jul 23, 2015 @ 01:06 AM | 6,599 Views

Comparing edge detected frames from 2 drives with 2 different lighting conditions revealed a slight chance of matching the frames from 2 different drives as a means of lane keeping. With frames matched, it might detect horizontal offset.

An initial test would try synchronizing 2 identical videos of the same drive, purely based on feature matching the exact same frames. Then it would move to 2 different videos. The initial test would match the starting frame with a window of starting frames in another video. It would advance the window of possible matches based on the previous match. It would later use GPS position to aid the frame matching.

Then would come tagging the part of each frame which contains the desired heading, probably manually. Maybe they could be tagged by playing backwards, matching a later frame to a point in an earlier frame to deduce the desired path. Finally would come adding the newest drive to a database of known drives to keep the data recent & to refine the localization.

It's a small step towards everyone's ultimate goal of being able to precisely locate position by searching an exhaustive set of images from every possible location, then refining the database of images with every new localization. It's always been a dream for quad copters, but quite difficult because of the 3D space & the precision required. A path following rover might be a feasible application. The Goog will be the 1st to acquire a startup that can do it.

It's a much more complicated algorithm than ideal & nothing so far has worked, but the initial proof of concept would be bearable. Calif* is predicted to have the wettest rainy season on record. July was already quite wet, by normal standards. There won't be much driving, between commutes & rain.
Posted by Jack Crossfire | Jul 19, 2015 @ 08:14 PM | 6,236 Views
Continuing the story,

Any robot is an endless series of glitches that must be lived with to make any progress. In the intervening years, there were some attempts to make the 8192CU work more reliably as an access point.

To compile a scratch built kernel for the PI, there was a good document on http://elinux.org/Raspberry_Pi_Kerne..._kernel_source


Then, there was a good rt8192 module compiling document on http://bogeskov.dk/UsbAccessPoint.html

Merely change the Makefile to generate ARM objects using the path to the ARM kernel. Helas, this module was no better than the stock one in 4.0.8+.

There was a nugget about compiling a new hostapd, but the cross compiler didn't have a lot of required header files.

The RTL8192 worked well with the LG Optimus F3 in root mode, but was intermittent at best with the LG Tribute. The only way to start the vision program was using ethernet to ssh in & run

./nohup vision&

That ran it detached from the console.

Wifi didn't stay connected long enough to do that. The phone was definitely part of the problem. Nothing has ever worked as well as manually running iwconfig every second to reconnect in the clear. If only wpa_supplicant could poll like that.

There are signs of a way Android apps can reconnect the wifi connection when it dies.
Posted by Jack Crossfire | Jul 19, 2015 @ 12:22 AM | 6,993 Views


Modified the RC truck cam to make it slightly higher & record uncompressed frames without the wide angle attachment.



Truck cam from February, with wide angle lens & JPEG compression.


...Continue Reading
Posted by Jack Crossfire | Jul 18, 2015 @ 01:35 AM | 6,478 Views








The answer is yes. Developing for iOS is expensive. A pile of I gadgets came from the day job, with plans to support the iWatch. It gets more expensive as the gadget gets smaller, with the iWatch the most expensive, since it requires the phone, which requires the mac.


The 13" macbook from 2012 lasted longer than any other laptop, with no issues in 12 months of daily usage. To be sure, duct taping the keyboard to stop it from glaring sunlight gummed up the touch pad & the screen. Once the gum wore off, it was useable again.


The typical product nowadays is a gadget that communicates with a phone. The ideal situation is MacOS for phone development & Linux for embedded development running simultaneously on a single computer. This was very slow on the 13" mac with 4GB RAM & 500Gig of platters. It couldn't run Android developer studio when running XCode.


The day job provided a 15" mac. It was a modern marvel, 2880x1800 display, 16GB of RAM, 1TB of flash, quad core 2.5Ghz, thin as a razor, costing almost as much as a month of rent. To be sure, more powerful laptops for a lot less money exist, but they never lasted more than 6 months & weighed a ton.


Unfortunately, Linux is a long way from supporting the Macbook Pro 11,5. The 13" continues to run the development environment. The main issues were no wifi & no suspend. It will be obsolete before it's ever supported. Attempts to run Linux on a raw partition in a virtual machine have failed. It might work with Linux on a virtual disk, but this would only be temporary.
Posted by Jack Crossfire | Jul 12, 2015 @ 06:03 PM | 7,074 Views


What the day job lacked in money, it had in bluetooth modules, so it was time to whack together a sliding door lock. Of course, the actual bluetooth board was a trade secret. The servo was a 10 year old piece from the DVD robot. The H bridge was the remanes of the laser projector from 2011, which itself was made from the 72Mhz remote control from 2007.


...Continue Reading
Posted by Jack Crossfire | Jul 05, 2015 @ 05:15 PM | 6,490 Views




This was the ducks guts for getting stereo with cheap electrets.


July 4 fireworks in San Francisco (3 min 44 sec)



...Continue Reading