Archive for category Software

OpenSCAD is great stuff! (Part 1)

It all started with a pair of Radio Shack Optimus Pro 7 bookshelf loudspeakers I picked up on eBay for a song.

These little speakers sound fantastic for their size, and at one time you could get them new at Radio Shack really cheap – I’ve been using a pair of white Pro 7AVs (the magnetically-shielded version) since the mid-90s as my PC desktop speakers.

Pro 7AV speakers (photo courtesy of Wade's Audio and Tube)

Pro 7AV speakers (photo courtesy of Wade’s Audio and Tube)

One day I was procrastinating by surfing eBay, ran across a black pair that looked nice, put in a bid, and soon had them in my basement, waiting for a project to use them.

Then I noticed the existence of low-cost TriPath TA2020-based amplifiers like this very popular one from Lepai. These things get fantastic reviews – the TA2020 uses PWM amplification and its distortion sounds like tube (valve) amplifier distortion. And audiophiles have been paying outrageous prices for tube amplifiers ever since tubes went out of style. Yet these TA2020 amplifiers go for 20 bucks! (And, yes, I know putting “audiophile” and “outrageous prices” in the same sentence is a bit redundant, but I’m not getting into that now.)

You may have figured out by now that I just can’t resist cheap things that deliver ridiculous value – it’s a character flaw. So combine the cheap-but-great loudspeakers with the cheap-but-great amplifier, and I just had to do something with them.

I decided to make a set of portable Bluetooth speakers. I’ve bought a few different Bluetooth loudspeakers and they all sound terrible to my ears; even the way-overpriced Bose ones sound bad to me (and I’m too cheap to pay that much anyway). So I thought I’d make my own.

There’s a guy Arjen Helder in Shenzhen (arjenhelder_electronic on eBay) who makes very well-reviewed TA2020 amplifiers, and he has a model “TA2024 MKV Bluetooth” with the Bluetooth module already built in. So 20 pounds sterling later (“Approximately US $30.35”), I’ve got one of those and I’m ready to start.

Helder HiFi TA2024 MKV Bluetooth amplifier

Helder HiFi TA2024 MKV Bluetooth amplifier

I wanted my speaker set to be portable, so that means they need a battery, and I happened to have an old 12V 5AH AGM battery around. Since the amplifier runs on 12VDC, that seemed a good fit. And I had a spare Harbor Freight 12V charger too ($9.99; did I mention I’m cheap?), so I figured I’d use that to both charge the battery and power the amp while it’s plugged in.

12V 5AH SLA battery and $9.99 Harbor Freight charger. (Not quite to the same scale...)

12V 5AH SLA battery and $9.99 Harbor Freight charger. (Not quite to the same scale…)

(Yes, I’m going to get to OpenSCAD. Be patient!)

So now I had most of the bits and pieces, and needed to come up with a design for the speaker set. I wanted a handle (to make it more portable; the speakers and lead-acid battery are heavy) and a place to wind some extra speaker cable, so I could separate the speakers for better stereo. That meant the speakers had to be held in a way that allows removing them, yet at the same time I didn’t want them to fall out by accident while carrying the set by the handle.

So I started sketching on paper. Here’s one of the earlier sketches:

Sketch1OK, so I’m not a good artist.

But the important thing was to get the dimensions right. I wanted it to be compact, but have room for all the pieces. (BTW, I hate using inches and fractions as much as anyone, but I’m in the US and lumber here only comes in those dimensions, so I’m stuck with them.)

As I made each sketch, I realized there were opportunities for improvement (perfectionism is another of my character flaws), so first I’d scratch things out, then at some point I’d start a whole new sketch:

Sketch2

and another:

Sketch3

and another:

Sketch4

Etc.

This was frustrating. Any little change cascaded all across the design, and it was easy to make a mistake in calculating dimensions.

So I decided to see if I could find some simple CAD program to help. I spent some time communing with Google, and decided that SketchUp (ex-Google SketchUp, now owned by Trimble) was the way to go.

I spent a few hours learning to use it, and made moderate progress getting my design into the program:

How far I got with SketchUp

How far I got with SketchUp

However, I found it very difficult to transfer the dimensions from my paper sketches into SketchUp; there didn’t seem to be any direct way to force SketchUp to size things exactly, or to position parts at particular offsets with respect to other parts. SketchUp, although it’s far simpler than most “serious” CAD programs, still has a long learning curve, and it didn’t seem very well suited to the kind of engineering drawings I was trying to do. I could easily get things close, but couldn’t get them exact (I suppose there must be a way to do it, but I didn’t figure it out).

After trying and getting stuck for a few hours, I went looking for a better solution.

And that’s when I found OpenSCAD.

[To be continued in Part 2…]

Dropbox is still better than Google Drive

[Update 2014: This is obsolete. Google Keep solves the problem better now.]

In July I switched from an iPhone to a Galaxy Nexus running Android Jellybean.

I was fed up with Apple’s sue-happy arrogance and with being locked to AT&T (I travel; AT&T’s international roaming rates are highway robbery).

Plus Jellybean just looked like a more advanced platform. Google’s price of $350 unlocked and usable anywhere in the world was a great deal. When Apple got an injunction against the Galaxy Nexus, I pulled the trigger and snapped one up before it got yanked off the market.

Back in 2009 I went thru a painful transition from the Palm Treo to the iPhone. One of the big issues then was getting my memos onto the iPhone in a form that was:

  • Synchronized with the PC (so I can edit on either device)
  • Reasonably secure (encrypted sync)
  • Editable offline (on either the PC or the phone)

My solution was to store memos in the “notes” field of address book entries. This synced securely with Google Contacts and I could edit my memos offline. It worked great.

Unfortunately the Android version of Google Contacts has a limitation on the size of the “notes” field. Neither the iPhone or the web version of Google Contacts have this problem, but I had plenty of memos that were too long to read on Android.

So I decided to move the memos into Google Drive (ex-Google Docs) files, thinking I could edit those on the phone or PC.

It turns out you can’t edit Google Drive documents when you’re offline. Also, the Google editor is complex enough to take an annoyingly long time to start on the phone (when I just want to check my shopping list).

But Dropbox works great:

  • Store the memos in Dropbox as plain text.
  • Put a shortcut to the memos folder on your “links” toolbar in Windows
  • Put the Dropbox widget (direct link to the memos folder) in the Android dock
  • Mark the memo files with a star (“favorite” them), so Dropbox will cache them locally in the phone for offline access.

That’s it. You can edit either on the PC or phone, and it syncs securely. It’s even smart enough to create a “conflict” copy if you make conflicting changes on the PC and phone.

I’m disappointed with Google Drive – this should be easy. And I don’t see why they put the size limit on Android address book notes (when there isn’t one on the PC or iPhone).

I’ll say this – the transition to Android was easy; nothing like the nightmare moving to the iPhone.

I think Apple has started a long, slow descent into irrelevance. They must think so too – winners compete, losers sue.

Questions are more valuable than answers

…at least if you’re Google.

The interesting site Terms of Service; Didn’t Read gives Google a thumbs-down because “Google can use your content for all their existing and future services”.

I don’t think a thumbs-down is really fair here – I mean, that’s the whole point of Google.

Google is a service that gives out free answers in exchange for valuable questions.

Answers are worthless to Google (though not to you) because Google already knows those answers. But it doesn’t know your questions. So the questions are valuable (to Google, not to you). Because Google learns something from every question.

When you start typing a search into Google and it suggests searches based on what other people have searched for, that’s using your private information (your search history) to help other people. They’re not giving away any of your personal information (nobody but Google knows what you searched for or when), but they are using your information.

Google gets lots of useful information from the questions that people ask it. It uses that information to offer valuable services (like search suggestions) to other people (and to you), that they make money from (mostly by selling advertising).

That’s not a bad thing. It’s the only way to do many of the amazing, useful, and free things that Google does. I’m perfectly fine with it, but you have to more-or-less trust Google to stick to their promise to keep your private info private.

I think Google does a lot more of this than most people suspect.

When you’re driving and using Google Map to navigate, you’re getting free maps and directions. But Google is getting real-time data from you about how much traffic is on that road, and how fast it’s moving.

When you search for information on flu symptoms, Google learns something about flu trends in your area.

Sometimes I ask Google a question using voice recognition and it doesn’t understand. After a couple of tries, I type in the query.  I’ve just taught Google what I was saying – next time it’s much more likely to understand.

When you use GMail, Google learns about patterns of world commerce and communication, who is connected to who, who is awake at what time of day, etc. Even if it doesn’t read the contents of the mail.

When you search for a product, Google learns about demand in that market, by location and time of day and demographics (it knows a lot about you and your other interests).

Google learns from our questions – answers are the price Google pays for them.

Email migration from Eudora (or Thunderbird) to GMail

Update November 17 2012: 

I started this post back on July 20 – four months ago – and have only finished the migration now. That’s because I found a lot of unexpected problems along the way.

The rest of this post is my new, improved, and corrected step-by-step guide on how to migrate email from Eudora (up to version 7) or Thunderbird to GMail, based on hard-won experience.

BACKGROUND

I’ve been using Eudora since 1995 (17 years). Before that I used Unix mail (Sun; early 1990s), CompuServe (back to 1981), and something called “The Source” (1979; I was ‘TCA818’). Disk space was expensive back then so I didn’t save a lot of email.

But since 1995 I’ve kept everything – disk drives got bigger faster than my mail archive. So I had about 14 GBytes of email in Eudora.

Eudora has been abandoned by Qualcomm since 2006 and is getting old; there’s a new open source version based on Thunderbird (“Eudora OSE”), which sucks.

As our company grows the job of administering Eudora users (plus myself) was getting too big for me, so I decided to outsource it to Google Apps for Business. Which means GMail, and migrating the old email.

ABBREVIATIONS

In the following, I’ll use these abbreviations:

  • E7 – Eudora 7 (or any earlier version of Eudora)
  • OSE – Eudora Open Source Edition (used only for migration)
  • Tbird – Mozilla Thunderbird
  • Outlook – Microsoft Outlook 2003 or later
  • OE – Outlook Express
THINGS THAT WON’T WORK

To save you time, here are some things that won’t work:

  1. Syncing E7 to GMail using IMAP
  2. Converting E7 to E-OSE, then sync E-OSE with GMail using IMAP
  3. Converting E7 to E-OSE, then sync Tbird with GMail using IMAP
  4. Converting E7 to Outlook Express, that to Outlook, then Outlook to GMail
  5. IMAPSize
  6. Importing E7 data with Outlook, then sycning to GMail
  7. Importing Tbird data with Outlook, then sycning to GMail
  8. Importing E7 data with Thunderbird
  9. Syncing Outlook with GMail via IMAP (use this instead; it works)

Trust me, don’t bother.

If you really care or don’t believe me, in the Appendix at the very end of this posting I’ve put some of my notes on why some of those don’t work.

(I haven’t the patience to describe all the problems…comments in the Python files give some more details.)

STUFF YOU WILL NEED

To do the migration, you’ll need the following:

These are only for the migration. Once it’s done you can throw away all of them.
Read the rest of this entry »

A nerdy review of the Nikon J1 camera

The Nikon J1 is unique and wonderful and frustrating and stupid. All at once. It’s the bastard child of a brilliant engineer and a retarded UI designer. It’s the best digicam ever built for using classic and exotic lenses, yet is deliberately crippled when you mount them. It’s the only digicam on the market that can do 60 frames/second at 10 MPixel resolution, yet it has only enough buffer to do it for half a second. And the user interface seems designed to deliberately frustrate.

It’s conflicted enough to make my head want to explode.

I’m just going to to talk about the J1 because that’s what I have. It’s sister camera the V1 is (even) more expensive and has an EVF and a higher resolution LCD screen but seems to be otherwise identical. So I assume it’s the same in all the things that delight and enrage.

Nikon J1 in candy apple red (credit: Nikon)

NIKON CX FORMAT HITS THE SPOT

Nikon has taken a lot of heat for their choice of a 1″ sensor for the CX format (Nikon’s name for their 1″ sensor size and mount); most reviewers think it’s too small.

I strongly disagree. I think it was a brilliant choice. Look at this table of sensor sizes:

Sensor Area (mm^2) Stops
Pentax 645 (medium format) 1452 3.6
35mm (“full frame”) 864 2.9
APS-C (Canon) 329 1.5
4/3 225 1.0
Nikon CX 116 0.0
1/1.7″ (Canon G12) 43 -1.4
1/2.3″ (Pentax Q) 28 -2.0

All else being equal, light sensitivity is proportional to the area of the sensor. There’s a big gap between sensor sizes of compact cameras (1/1.7″ and below) and “DSLR” sensors (4/3″ and bigger). The CX sensor size is smack in the middle. It allows lenses and cameras much smaller, lighter, and cheaper than do APS-C or larger formats, but with a vast image quality improvement over compact sensor cameras – a full 2 stops better than the (tiny sensor) Pentax Q.

Camera size is really important – if the camera is too bulky to take with you, you’re not going to get any pictures at all. Yet we want quality images, so we have to compromise.

When image quality is all-important, there are plenty of DSLRs on the market for that. And if size is all that matters, there are plenty of cameras the size of a deck of cards (as well as mobile phones with cameras). But the Nikon 1 offers a unique compromise.

Unfortunately Nikon didn’t exploit this very well when designing the (four) lenses available in CX format – they’re hardly any smaller than Micro 4/3 lenses. But that’s not the fault of the sensor choice. And lens design is far from Nikon’s worst mistake here.

FLANGE FOCAL DISTANCE AND LENSES

The 1″ sensor format is also a good match for the image circle produced by many classic cine and video lenses. Many really interesting lenses meant for 16mm cinema film, or for broadcast television sensors are available on eBay. And these lenses can be easily adapted to the CX mount, while still focusing to infinity, because the CX mount has the smallest flange focal distance of any digicam on the market (excepting the Pentax Q). At just 17.0 mm, any lens designed for a longer flange distance can be easily adapted: C-mount film and video lenses, the Fuji X mount lenses (X-Pro1; 17.7 mm), Sony E mount (NEX; 18.0 mm), Micro 4/3 (19.3 mm), Samsung NX (25.5 mm), RED ONE (27.3 mm), Leica M (27.8 mm), M39 (Leica screwmount; 28.8 mm), Contax G (38.7 mm), Canon FD and FL, Minolta SR, Canon EF-S and EF, Minolta/Sony A mount, M42, and Nikon F mount – just to name some of the more popular ones.

NIKON SHOOTS ITSELF IN THE FOOT

The ability to use all these different lenses is unique to the Nikon 1 (again, the Pentax Q excepted). But did Nikon make the J1/V1 an attractive platform for these lenses? No, just the opposite. The firmware turns off all modes except full manual when any manual lens is mounted. Even the light meter is disabled. Worse, when any manual lens is mounted, the “focus assist” mode – where the central part of the image is magnified to make critical manual focusing possible – is disabled. Yet it is precisely these manual-focus lenses that need this function!

Think about that. Some Nikon firmware engineer wrote code specifically to turn off the focus assist and light meter that were already there.

They’re selling a camera that can mount more classic and exotic lenses than any other in the world, but they deliberately spent effort to make it difficult to use those lenses. And this wasn’t done to “protect” some other, more expensive, camera that has that feature – they don’t offer one. WTF, Nikon? Are you trying to make this camera fail?

A BRILLIANT SENSOR BY APTINA

But let’s go back to the positives. The camera has what I think is the only phase-detect focus system on a mirrorless camera on the market; this lets it focus fast, even during video.

Nikon also made a brilliant choice in their sensor supplier – Aptina. The Aptina sensor has super high speed readout, which makes possible a fast all-electronic shutter with no moving parts. And that enables features no other camera on the market can touch:

  • Absolutely silent shutter operation
  • Shutter speeds as short as 1/16,000 second (freezes motion like no other camera!)
  • Full 10 MPixel output at 60 frames/second (!)
  • Smaller resolutions at up to 1200 fps
  • Almost no “rolling shutter” effect

Read the rest of this entry »

Simple driver code for Microchip MRF24J40 radio

Update February 2017:

User “actondev” on the Microchip Forum has posted a version for the PIC16. I haven’t tested it.

Click this to download it: MRF24J40_actondev_forPIC16.zip.


Update November 2016:

I now have this working with the MRF24J40MD module. No changes at all were needed from the code for the MRF24J40MB.


Back in September 2011 I wrote about the rocket telemetry system I built using the Microchip MRF24J40MB radio module.

As I mentioned back then, I ended up re-writing Microchip’s “MiWi P2P” stack to vastly simplify it for my application. A few people have asked for a copy of my simplified driver code, and today I’m posting it (after having cleaned up a few loose ends).

The radio supports IEEE 802.15.4 on the 2.4 GHz ISM band. The “-MB” is Microchip’s long-range module – it has the radio, antenna, power amplifier (PA), and low noise amplifier (LNA), and it’s good for ranges of 2500 meters or more (line-of-sight, outdoors). It comes pre-approved by the FCC for unlicensed use. You can read my old post for more info about the module.

File package

To get started, download the ZIP file from here.

Update 2012-03: “maxruben” from the Microchip Forum has ported this driver to the PIC24. Click here to download his PIC24 version. I haven’t tested it, but he says it works. (Thanks for permission to post this!)

I’m also told the code has been successfully ported to the PIC18, but I don’t have a copy of that. (If someone sends me one, I’ll post it here.)

This contains a whole buildable project (for MPLAB IDE v8.83) that works on my PIC32MX440-based platform.  I’ve built it with C32 v1.11b and v2.02; it should be trivial to port it to other MCUs (see notes about that below).

The files include a very short demo program in main.c that shows how to use the driver to send and receive simple packets.

The driver itself consists of 3 files:

MRF24J40.c – Driver source code.
MRF24J40.h – Headers and public function declarations.
radioAddress.h – Sets the address for your radio.

Now would be a good time to unzip the files and have a quick look at the source code.

Oh, and:

Software rights: I hereby grant everyone and everything in the universe permission – to the extent I have rights to grant – to use and modify this software for any purpose whatsoever. In exchange, you agree not to sue me about it. I make no promises. By using the design you agree that if you’re unhappy the most I owe you is what you paid me (zip). That seems fair.

Be aware that the original MiWi P2P v3.1.3 code this started from (of which there might not be any code left) was copyrighted by Microchip – they offer it free for use with their hardware (which is all it’s useful for), and I doubt they’d want to sue their own customers over it, but talk to them if you have concerns.

That having been said, if you work for Microchip (this means you, Yifeng) and find this code useful enough to refer it to customers, or if you want to supply it directly, you are very welcome to do so. I’d appreciate (but do not demand) in return (a) credit in the source code to this posting on NerdFever.com, and (b) a small token of your appreciation. A RealICE would be great. If that’s too much, how about a Microchip T-shirt or coffee mug? (I already have a ICD3 and a Microchip bag; but swag is good. You know how to find me.)

Update: A free RealICE arrived about 2 weeks after I posted this.  Thank you, Microchip (and Yifeng)!

General concept – Initialization

Call RadioInit() to initialize the radio.

General concept – Transmission

To transmit a packet, fill out the “Tx” structure to describe the packet, then call RadioTxPacket().

General concept – Reception

Call RadioRXPacket(). If there is at least one received packet the return value is non-zero (it returns the number of un-processed received packets) and the next packet is described by structure “Rx”.

Do what you want with the packet, and then call RadioDiscardPacket() to throw away that packet. Now you can call RadioRXPacket() again to get the next one (if any).

API – Transmitting

void RadioTXRaw(void);

Low-level routine to transmit a single packet described by Tx.

The Tx structure must be completely setup before calling this routine. (Don’t set the lqi or rssi fields; these are used only on received packets.)
Read the rest of this entry »

Open console2 here

I recently discovered the excellent “console” wrapper for cmd.exe (or the shell of your choice) in Windows.

I had a lot of trouble figuring out how to setup a right-click command to “Open console here” similar to the “Open Command Prompt Here” offered by Microsoft’s “TweakUI” in WinXP (and similar).

I figured it out, tho.  Here’s the trick:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Folder\shell\Open console here\command]
@="u:\\users\\dave\\data\\bin\\Console2\\Console.exe cmd -r \"/k pushd %L\""

That’s it – easy enough. Replace the path to wherever you installed console.exe, of course.

It even works on network volumes (it automatically creates a drive letter mount, the same as does Microsoft’s own Open Command Prompt Here).

I’ve only tested it on Win7, but in principle it ought to work on any recent version of Windows.

Linux still isn’t ready

As mentioned a couple of posts back, I recently got a new PC and decided to try using Linux on it as my main operating system. I tried – really tried – for 3 weeks, spending a large fraction of my working hours googling for solutions to get things running smoothly.

I used (real) Unix back in the early 1980s (as a user, not an admin), and liked it pretty well back then, so I wasn’t totally new to common Unix commands.

I tried Linux Mint 11 x64, then Xubuntu 11.10 x64, and finally Kubuntu 11.10 x64.

Linux works great as a server or command-line driven operating system. For that, it’s mature, powerful, and effective. But as far as I can tell all the GUI desktops are still suitable only for:

  • Users who only surf the web, edit office documents, and do email
  • Single-function applications (basically, running one app)

It’s a shame. I really prefer the Unix command-line environment to Windows. But so far as I can tell, the only Unix-based operating system with a mature GUI is Mac OS X. (And that I’m taking on faith, not having tried it…yet.)

But I give up; I’m installing Windows 7, which works smoothly despite its inferior architecture. For those whose main use of their computers is configuring and tweaking the computer itself, Linux may be great. But I have stuff that I want to get done – every time I tried, I ran into little niggling problems that required hours of web searching and learning to get over. I think the rest of this site demonstrates that I’m not technically inept or unwilling to learn. But Linux isn’t ready.

I did learn a lot in the process. For those who want to try it for themselves, my notes follow; at least you can benefit from my experience.

As well as the problems mentioned below, in all three attempts I found a strange problem with the Chrome browser on Linux – after the first hour or two of use, it became incredibly slow.  At first I thought it was my ISP or home network, but Firefox worked fine, as did Chrome on my Win7 boxes.  There is something about Linux that Chrome doesn’t like.  One (unconfirmed) idea is that it wants to see an IPv6 stack – Win7 has this but none of the Linuxes turn it on by default.

The rest of this post consists of my notes on Linux in general, then notes on each of the three attempts I made (Linux Mint 11 x64, then Xubuntu 11.10 x64, and Kubuntu 11.10 x64).

GENERAL LINUX NOTES (some come from previous attempts with Ubuntu…)

sudo fdisk -l		List all mounted partitions
sudo fdisk -l /dev/sda	List partitions on /dev/sda

./configure		Something to do after downloading source code
sudo make install	Ditto? 

uname -r		Report kernel version

sh FILENAME.sh		Run script FILENAME.sh

~			Macro for home folder ( ~ == /home/dave )

Terminal colors		Dark blue - directory
			Green - executable
			Yellow - device
			Magenta - image
			Red - archive

/media			Folder where USB drives get mounted

/dev/ttyUSB0		0th USB serial port

Alt+middleClick		Resize window (GNOME); no easier way than choosing 1-pixel border

lspci			List machine hardware (try -v for verbose, or -vv for very verbose)

Drag MIDDLE button to choose move vs. copy (Gnome)

uname -sr		Reports kernel version name & number

cat /etc/*-release	Returns distribution version

Shift-Ctrl-C and -V work in Gnome terminal (cut/paste)

Random app icons are in /usr/share/pixmaps/

Multiple commands can be on the same line - delimit with ';'

CLASSICAL SHARES vs USERSHARES
	Classical shares are created in /etc/samba/smb.conf
		They must be created by root.
	Usershares are created by the user (without needing
	root privs) in folder /var/lib/samba/usershares.
	Nautilus's "Create share" makes a usershare.  These
	are 'less secure' (not sure exactly how).

du -sh folder		Lists disk usage of folder (summarized)

KERNEL ISSUES

TRIM needs kernel 2.6.33.x or later; 10.04 LTS has 2.6.32-31-generic

I tried updating to a newer kernel; got driver problems as with contempoary versions of Ubuntu (10.10 and 11.04).

Here follows my notes from each attempt – may they be useful to somebody out there.

Gnome 2 on Linux Mint 11 x64:

I chose Linux Mint because it was advertized (accurately) as being more complete out-of-the-box than Ubuntu, with commonly needed things like codecs and Samba (Windows-compatible file sharing; I have to administer lots of Windows boxes) pre-installed. And it was based on Ubuntu (widely supported, stable), and rising in popularity, which I figured would help iron out bugs.

It worked pretty well up until I got frustrated with the horrible vertical grid for desktop icons. It does have a grid, but the grid is much too fine in the vertical dimension, so you end up with icons in neat columns but messy rows. And there’s no way to change the grid short of hacking Gnome 2 (believe me, I looked into this hard).

So I attempted to install XFCE in parallel. That borked the whole system and I had to reinstall the os.

I got as far as you see below; this took a couple of weeks. I was still running 90% of my apps on a Win7 box via rdesktop, but I was able to use EaglePCB on the Mint machine.

SETUP NOTES FOR LINUX MINT 11 x64

Setup notes for ENOUGH - Intel i750-2600, 8 GB, Linux Mint 11 x64
Started 8 November 2011, gave up 26 November 2011 (Chrome got corrupted, conflicts between Gnome2 & XFCE)

>>> Marks unresolved problem
[u] Marks removed program (thought better of it later)

1 - Updated everything
2 - Google Chrome
3[u] - RDPfree (because of black cursor problem with rdekstop) [UNINSTALLED LATER; rdesktop 1.7 is better]
4 - Added Chrome and Terminal to Panel
	Right click then unlock, rt-click then Move to move
5 - Turboprint for Canon ix7000 printer (works well so far)
	Set CtrlCntr>Printing>Properties>JobOptions>ScaleToFit to avoid cropping at margins
	Couldn't get applet to appear in applet list for panel (posted 2011-11-12) - fixed after rebooting
6 - PuTTY
	Note middle-click does paste.  Enter sends CR, ^J sends LF.
	Ctrl-RtClick brings up menu to change settings.
7 - Eagle PCB
	Setup folders to search separated by ':' in Options>Directories
8 - Meld & BeyondCompare (not sure which to keep yet)
9 - XRDP (>>> probably ought to configure, also set fixed IP and port)
10 - Installed rdesktop 1.7 (to fix black cursor problem in 1.6):

	download source from website
	tar -zxvf rdesktop-1.7.0.tar.gz			Un-gZip, Xtract, Verbose, from File
	cd rdesktop-1.7.0
	./configure					Gives error, so then...
	sudo apt-get install libssl-dev
	./configure					Seems happier now...
	make
	sudo make install

 	Works!

	To get 32-bit color and anti-aliasing, use:
	padsp rdesktop -a 32 -g 95% -r clipboard:PRIMARYCLIPBOARD -x 0x80 <ip>[<:port>]&

	Right now, QUIET is .117 and NIGHT is .111

	>>> Cut/Paste works toward client, but not toward server
11 - Fixed PDF printing as follows:
		sudo apt-get purge cups-pdf
		sudo apt-get install cups-pdf

	That installs printer "PDF" that prints to ~/PDF

	Change output folder to desktop:

		gksu gedit /etc/cups/cups-pdf.conf
		Change this line:
			Out ${HOME}/PDF
		sudo /etc/init.d/cups restart
12 - Plugged in Canon MP830 printer/scanner/fax, let it install printer driver for it.  Works.
13 - XSANE (scanner driver for MP830)
	Works, but very clunky to make multi-page PDFs from ADF.
	For now using Win7 stuff; consider VuePrint or Wine/VM instead.
14 - Picasa
	>>> Picasa viewer isn't associated with .JPGs, etc.
15 - Setup (wrote) "startRDP.sh" in ~/scripts.  Now I can make links to machines on the desktop.
16 - Wine 1.2.2
16a - MS Office 2003, SP3 update
	Works fine if launched from command line or from 1st of 2 right-click menu options.
	Doesn't work if launched from mintMenu or 2nd of 2 right-click options.
		Seems to be because of:
			http://forums.linuxmint.com/viewtopic.php?f=76&t=60130
			http://ubuntuforums.org/showthread.php?t=586846&page=2
17 - Google Earth
	>>> Copy over placemarks
	>>> Get SpaceNavigator working
18 - Menu>Control Center>CompizConfig Settings Manager>WindowDecoration
	Change command to "/usr/bin/compiz-decorator" (fixes loss of min/max/close buttons in Mint 11)
	See http://forums.linuxmint.com/viewtopic.php?f=55&t=74327#p444922
19 - Tweak destkop appearance and fonts:
	Nautilus>Edit>Preferences>FileMgmt>IconViewDefaults>66%
					  >ListViewDefaults>66%
					  >CompactViewDefaults>66%
					  >ViewNewFolders: List View
	Menu>Prefs>Appearance>Fonts
		Application:	"Sans 10" to "Libration Sans 9"
		Document: 	"Sans 10" to "Libration Sans 9"
		Desktop: 	"Sans 10" to "Libration Sans 9"
		Window Title: 	"Sans Bold 10" to "Libration Sans Bold 9"
		Fixed: 		"Monospace 10" to "Droid Sans Mono 9" 

	CompizSettings>Grid>Uncheck (turn off windows "aero snap")
20 - Get NETBIOS working:
	sudo gedit /etc/nsswitch.conf
		add "wins" before "dns".  Result should look something like:
		hosts: files wins dns
	Then:
		sudo apt-get install winbind
	Works.  Now can ping QUIET and NIGHT (others worked OK before)
21 - Setup "classical share" for /home/dave:
	sudo smbpasswd -a dave		Setup SMB password for "dave"

	gksu gedit /etc/samba/smb.conf

	Then add at end:

	[SHARENAME GOES HERE]		used 'dave'
	path = /home/dave
	available = yes
	valid users = dave
	read only = no
	browsable = yes
	public = yes
	writable = yes

	Then

	sudo restart smbd
22 - Added "Force Quit" to panel
23 - Remove mounted volumes from showing on Gnome desktop
	gconf-editor
	Apps>Nautilus>Desktop>Uncheck "volumes visible"
24 - XFCE 4 metapackage (try to get rid of ugly icons, desktop grid problems...)

TODO
* Write scripts to:
	Follow Windows .LNK files (when double-clicked; open Nautilus)
	Arrange icons
	Create launcher to open Nautilus at SMB share folder
* Programmers' editor
	KATE
	TextPad via Wine
	NetBeans (use also for MPLAB X)

UNRESOLVED ISSUES

* No drag-n-drop when using XRDP.  Fix, per https://bugs.launchpad.net/ubuntu/+source/gtk+2.0/+bug/587856 is:
	apt-get install libgtk2.0-0=2.20.0-0ubuntu4 libgtk2.0-bin=2.20.0-0ubuntu4 libgail18=2.20.0-0ubuntu4 libgail-common=2.20.0-0ubuntu4 gtk2-engines-pixbuf=2.20.0-0ubuntu4apt-get install libgtk2.0-0=2.20.0-0ubuntu4 libgtk2.0-bin=2.20.0-0ubuntu4 libgail18=2.20.0-0ubuntu4 libgail-common=2.20.0-0ubuntu4 gtk2-engines-pixbuf=2.20.0-0ubuntu4
* How to make SAMBA/NETBIOS work before local login?
* Widen mouse target for dragging the window sizes
	Use Alt-MiddleClick for now; may not be any better way

NOTES FOR FUTURE

* Re TRIM
	Stick to 10.04 LTS and it's kernel.
	Instead, find out how to use hdparm and "wiper.sh" to clear out the drive once in a while (daily?)

* For future reference, some of the RTL8192 prolbems in LATER kernels seem to be a conflict between
	the RTL8192E and SE drivers; the BLACKLIST of the SE seems to fix it for some people.

*  apt-get install gedit-plugins
	For multi edit, which allows column editing.  Supposedly.

CONCLUSIONS

* Neither LibreOffice nor Google Docs is (nearly) compatible enough with MS Office 2003 to transition.  (as of 2011-11 anyway)

XFCE on Xubuntu 11.10 x64:

As I said, the Mint install got borked by the parallel install of XFCE.

Since I wanted to try XFCE, I decided to next try a clean install of Xubuntu 11.10 x64.

I found it very nice, simple and clean. Less tweaking was needed than Gnome 2. But Thunar (XFCE’s file manager) is completely incapable of handling Samba (smb:) shares on other machines. I tried some complex instructions to work around this and borked the whole machine.

SETUP NOTES FOR XUBUNTU 11.10 x64

Setup notes for ENOUGH - Intel i750-2600, 8 GB, Xubuntu 11.10 x64
Started 27 November 2011

>>> Marks unresolved problem
[u] Marks removed program (thought better of it later)

1 - Updated everything
2 - Copy data into ~/.
3 - cd scripts; chmod +x *		(rdesktop scripts now work)
4 - Google Chrome 			(direct from Google via Firefox)
5 - Get NETBIOS working:
	sudo gedit /etc/nsswitch.conf
		add "wins" before "dns".  Result should look something like:
		hosts: files wins dns
	Then:
		sudo apt-get install winbind
6 - Moved main taskbar to bottom.
	To move the panels just right click the panel and go to panel>panel preferences and uncheck lock panel
	then you will see a handle on the left side of the panel and you can move it around. The re check lock panel.
7 - Moved launcher panel (panel 2) to left edge, vertical
8 - Samba per TINY notes
9 - Workaround for Thunar's inability to handle Samba:

a) Install fusesmb in Synaptic (from Universe repository)
b) Edit /etc/modules and add the word 'fuse' to the modules list to be loaded (without quotes), and save the file.
c) Reboot, so the fuse module loads, and the proper workgroup is read for samba.
d) In XFCE Applications -> System -> Users and Groups... Properties of your username... User Priveleges Tab... check
	"Allow use of fuse file systems..."
e) Create a directory that you are going to mount your network browse to... I used /media/network. [~/network]
	Change permissions to read / write for group and others (777). [skipped]
f) In a terminal, type: sudo chown <username>:fuse /media/network  [sudo chown dave:fuse ~/network]
g) Double check that the permission to use fuse took. Applications>System>Users and Groups... Manage Groups...
	find fuse and choose properties. Make sure your user name account is in that group and check-marked.
h) Reboot the system and triple check with step (g)
i) In >Settings>SettingsManager>SessionAndStartup>Application Autostart... Add an application... name and describe as you wish...
	for command line, put: fusesmb /media/network (Or whatever mountoint you created).
j) Open Thunar, and navigate to the parent folder of your mountpoint... then drag the 'mounpoint folder' to the places
	(shortcut) pane of thunar.
k) Logout and log back in (So the user privilege and fusesmb autostart will take affect)

TODO

* Icon & font size/grid (closer to Win7 compact)
* Better default edtior (textpad-like: regexp, column/block select)
	Kate, "Programmers Notepad 2"
* BC or similar (GUI diff)
* ix7000 printer
* Setup screensaver/power mgmt for screen
* Fonts
* Wallpaper
* Enable IPv6
* Move taskbar to bottom

UNFIXABLE, WITH WORKAROUNDS

* Mouse wheel scroll in vim (man, etc.):
	Known bug.  Live without it.
* DragDrop icons at drop location instead of next open spot
* Move multiple icons at once (group select & drag)
	Works fine in Thunar, not on desktop - live with it
* GUI move vs. copy vs. link [The following applies to Thunar ONLY, not XFCE desktop]
	Shift+Drag: 	Move
	Ctrl+Drag: 	Copy
	Ctr+Shift+Drag: Link
		(Note how the mouse pointer changes)

That last step messed up the machine so badly that I had to, again, wipe the machine and reinstall the OS.  I probably could have un-done the changes, but without convenient access to Windows shares, there wasn’t much point.

KDE4 on Kubuntu 11.10 x64:

Last, I tried KDE on Kubuntu.

KDE4 (4.8) is very powerful. Lots of eye candy – in fact way too much; it was on my list to turn a great deal of it off, but I never got that far. Kate is a powerful editor; I like it a lot. Dolphin is a very capable file browser, it can easily handle not only Samba, but also FTP folders, and (unlike Nautilus on Gnome2) it handled softlinks to Samba shares in a smooth and seamless way. It’s better than Windows Explorer.

I found the Plasma desktop very complicated and unfamiliar. One I found the “folder view” things got better, but I never did figure out how to get shortcuts/links/launchers for apps onto the desktop (or even the panel, which was easy on Gnome 2 and XFCE), or how to copy/move files on the desktop (worked fine in Dolphin tho). The default theme needed a lot of tweaking that I never got to (the text on the taskbar had such low contrast that it was mostly unreadable, etc.). And I mentioned the crazy busy eye candy that needed to be turned down.

But I still had major problems with Chrome/Chromium being incredibly slow (Firefox was OK). In the process of working on that I seem to have borked the system.

At this point I’d spent 3 weeks trying different flavors and versions of Linux, and again had a borked system (Win7 is far more stable than any of these Linuxes – never thought I’d say that, but it’s so). With a little luck my new SSD will show up tomorrow and I’ll install it and then Win7Pro on that and be able to get back to work.

I’d seriously consider Mac OS (OS X, currently Lion) as something else to try. It may be the only Unix varient OS with a really mature and stable GUI (all the Linux versions are fine at the command line…). The Mac Mini is not what I want, but is the only thing close to reasonably priced (if you order the base hardware and upgrade it yourself). So that might work, but I’d wasted enough time fiddling with computers this cycle. Maybe in 2 or 3 years I’ll try that, but before dropping the $1200 or so on it, I’ll download a VM with Mac OS and try it in a virtual box on Windows and see how I like it.

SETUP NOTES FOR KUBUNTU 11.10 x64

Install notes for ENOUGH with Kubuntu 11.10 x64
Started 2011-11-26 (gave up 2011-11-27)

>>> Marks unresolved problem

1. Update everything, reboot
2. Firefox (had trouble downloading avast with default browser)
3. Downloaded Avast .deb file; to install:  [I was thinking the Chrome problems might have been due to a virus...]
    cd /Downloads
    chmod +x *
    sudo apt-get install ia32-libs
    sudo dpkg --force-architecture -i avast4workstation_1.3.0-2_i386.deb
    avastgui
      Enter key
      Update database
      Initial full scan of whole machine, thuro
	crashes
    Add "kernel.shmmax = 128000000" to end of /etc/sysctl.conf, reboot
    Initial full scan of whole machine, thuro
4. sudo apt-get install rdesktop
5. Kate leaves backup files strewn about the desktop
    Settings>Configure Kate>Open/Save>Advanced> add "." (dot) to "Prefix" under "Backup on Save".
    Also enable for remote files
6. Right-click on K and set "Classic Menu Style" (so much faster!)
7. Uninstall:
    KAddressBook (generates annoying warnings; useless)
    KMail
    Kontact
    KOrganizer
    KVkbd
    kPPP
    rekonq (using Firefox/Chrome)
    LibreOffice (mostly; kept Math & Draw)
8. Rt-click on tray, then Akonadi, then Quit (remove it from tray permanently)
9. Set "folder view" on desktop (forgot how; something to do with the cashew)
    This lets you see the files in ~/Desktop on the desktop
10. Rt-click destkop>Icons>Align to grid (yay!)
11. Somewhere along the line I did:
      Copy data into ~/.
      cd scripts; chmod +x *		(rdesktop scripts now work)
12. Installed 7zip (p7zip) from Muon Sw Center.
13. Get NETBIOS working:
	sudo kate /etc/nsswitch.conf
		add "wins" before "dns".  Result should look something like:
		hosts: files wins dns
	Then:
		sudo apt-get install winbind
14. Samba - sudo apt-get install samba smbfs
15. Setup "classical share" for /home/dave:
	sudo smbpasswd -a dave		Setup SMB password for "dave"
	sudo kate /etc/samba/smb.conf
    Then add at end:
	[dave]				This is the share name
	path = /home/dave
	available = yes
	valid users = dave
	read only = no
	browsable = yes
	public = yes
	writable = yes
    Then
	sudo restart smbd
16. Tweak Dolphin to taste:
	Folders, Places, Main Toolbar
	Add Seperator, Compare Files, New Tab, New Window, What's this to toolbar
	Small icons
	Remove menubar
17. Tweak kate to taste:
	Small icons, text below
	Settings>Configure kate>Spaces and Tabs, 4 and 8 places
	Toolbar to taste
	Documents to List Mode
18. Chromium (not Chrome), via Muon
19. Settings>System
	Desktop Effects>all>translucency off
	Default apps>Web browers>Firefox
	(Note: "snapping" can be managed in Workspace>Screen Edges)
	Printer>New Printer> (didn't find MP830)
19. Turboprint, rt-click in Downloads, "open with QApt".
	Can't figure out how to add applet.  Added to desktop (appears), tried to move>KDE4 crashed.
	Added ix7000 printer, print test page.

Reboot.

Still problems with Chrome/Chromium being extremely slow.  I enabled logging and tried to capture
a log (and strace) for posting, but when I ran strace the whole machine crashed.

On reboot, kate doesn't work anymore.  Sometimes it shows up in the taskbar, but I can't find a way to get
at the window.  I installed gedit to finish up these notes.

KDE was working pretty well for me up to this point - better than anything else, but I never did figure out
how to move/copy things on the desktop (in Dolphin it worked great).  Dolphin and kate are both very good
when they work.

TODO

* Customize clock
* Remove mounted HDDs and "New Volume" from Dolphin Places
* Change theme to make stuff on taskbar more visible, less busy eye candy
* Change desktop icons
* Add launcher panel on left (hidden), or launchers to panel on bottom
* Add "7z" on right-click compress options (already installed p7zip)
* Icon & font size/grid (closer to Win7 compact)
* BC or similar (GUI diff)
* Setup screensaver/power mgmt for screen
* Fonts
* Wallpaper
* Enable IPv6
* Latest NVidia driver
* Start moving files over
* 3DConnexion SpaceNavigator & driver for Google Earth
* Move Google Earth database (placemarks)
* PDF reader in Chrome that will handle TI document and print-to-file OK
* Links to folders on other machines
* Turn off auto-snap to borders
* MPLAB X and C32
* Wine/Virtualbox vs VMWare
	MS Office 2003
	Photoshop
	Sony Vegas
* Write scripts to:
	Follow Windows .LNK files (when double-clicked; open Nautilus)
	Create launcher to open Nautilus at SMB share folders

Look at:

http://hanschen.org/2010/03/04/10-things-you-might-want-to-do-in-kde-sc-4-4/
http://hanschen.org/2011/05/15/7-ways-to-switch-activities/
http://userbase.kde.org/Plasma/HowTo
http://userbase.kde.org/Plasma
http://userbase.kde.org/Glossary

>>> After downloading from Firefox, rt-click on file offers "Open containing folder", but if you pick it it doesn't know what program to open it with (should be Dolphin).  Where is Dolphin?

KDE TERMINOLOGY

Activity		A screenfull of Widgets (dedicated to a task)
Cashew/Toolbox		A tool usually in upper right corner for managing Activities
Act. Mgr		Three dots (red/blue/yellow) for managing Actvities
Two boxes on left	These select windows (workspaces)
K			Start menu
Panel			A thing that holds icons or widgets

UNRESOLVED ISSUES

* No drag-n-drop when using XRDP.  Fix, per https://bugs.launchpad.net/ubuntu/+source/gtk+2.0/+bug/587856 is:
	apt-get install libgtk2.0-0=2.20.0-0ubuntu4 libgtk2.0-bin=2.20.0-0ubuntu4 libgail18=2.20.0-0ubuntu4 libgail-common=2.20.0-0ubuntu4 gtk2-engines-pixbuf=2.20.0-0ubuntu4apt-get install libgtk2.0-0=2.20.0-0ubuntu4 libgtk2.0-bin=2.20.0-0ubuntu4 libgail18=2.20.0-0ubuntu4 libgail-common=2.20.0-0ubuntu4 gtk2-engines-pixbuf=2.20.0-0ubuntu4
* How to make SAMBA/NETBIOS work before local login?
* Widen mouse target for dragging the window sizes
	Use Alt-MiddleClick for now; may not be any better way

CONCLUSIONS

* Neither LibreOffice nor Google Docs is (nearly) compatible enough with
  MS Office 2003 to transition.  (as of 2011-11 anyway)
* kate is pretty good (see "Programmers Notepad 2" for a possible free alternative)

Last flights of rocket glider Autonomy

Back on 28 October I covered the first 3 flights of the “Autonomy” (now “Autonomy 1”) rocket glider.

We flew it six more times, four times on 5 November 2011, and twice more on 19 November. On the last flight I forgot to arm the electronics (sigh)1, so this winter we’re planning to build “Autonomy 2”.

At the moment, the main problem we’ve been having is that the GPS loses lock on the satellites a few seconds into boost, and never regains it during the glide. Without valid GPS fixes navigation is impossible, so this is a major problem.

By way of background – the glider is meant as a way to prove out the navigation and control software for autonomous steered-parachute recovery of rockets; see this post for more details. Fellow CMASS member Boris K. built the glider airframe; I did the electronics.

(This post is adapted from the thread on TRF [more details there].)

Review of first flights

From the logged data in flash, on flights 1 and 3 (the bad ones), the parachute ejection was triggered by the failsafe “TimeToImpact” calculation, well above the 200 foot (60 m) deployment altitude. The rocket decided it was less than 4 seconds from impact while descending at > 30 MPH (13 m/s actually) so it popped the chute, despite still being well above the deployment altitude.

Only on flight 2 (the good one) did the 200′ altitude trigger a flare and then deployment.

Unfortunately, on flight 2 it looks like the GPS signal dropped out partway thru the glide. At first I thought this was because the camera (wrapped in foil) shadowed the GPS antenna, but looking at it again I don’t think that’s it. I don’t know what it is – I haven’t seen this on prior flights (under a parachute).

Also the altimeter data was really noisy – it makes it very difficult to figure out the sink rate while gliding. (See graphs at the end of this post.)

After fiddling on the bench a lot, I concluded that the source of the noise (most of it anyway) is small variations in the power supply voltage (3.3v) caused by load from the servos and radio (which draw on the same battery, but prior to the 3.3v regulator). I could see the altitude readings jump around each time a servo draws current.

Prep for 2011-11-05 flights

In preparation for the 11/5 flights, I made the following adjustments to the glider:

  • Reduced parachute deployment altitude from 60 m (200′ AGL) to 45 m (150’ AGL) to get more glide time.
  • Reduced YAW_FACTOR from 1.0 to 0.1 (100 to 10) to make it less sensitive. This makes the servo response less sensitive by a factor of 10 in yaw – this is the most I think it can be reduced and still have positive control in yaw.
  • Tweaked the port elevon 3 half-turns down to try to trim out gentle left-turning tendency seen on flight 2 of 2011-10-22.
  • Adjusted YAW_STOWED_POSITION from 0 to -1 (50 to 0) to induce a slow roll during boost to counteract any pitch tendency during boost.
  • Adjusted PITCH_STOWED_POSITION from -0.4 to -0.54 (30 to 23) to counteract pitch-up tendency during boost seen in 2011-10-22 flights. I think AstronMike was correct in his suggestion on TRF – this is caused by differential drag on the rudder (hadn’t thought of that – thanks for pointing it out!).
  • Lengthened the flare period from 3.0 to 4.0 seconds.

Most of these parameters can be tweaked on the pad with telemetry commands.

Second set of flights

On 11/5 we flew four more times. All four flights resulted in nice glides; the software tweaks seemed to help a lot. Ascent was nice and vertical, the yaw over-control problem got solved.

Unfortunately, the logged data shows that the GPS signal dropped out – again – after a few seconds on each and every flight.

On flight 1, Boris steered in the “yaw” mode, where he directly controls the yaw input to the servos. We used a “YawFactor” value of 10 (out of 100), so it was 1/10th as sensitive as on the previous flights.

Here is the video (first from the ground, then from the onboard camera):

 

On flight 2 we enabled autonomous navigation. As you’ll see, it overcontrolled a little bit (and because of the GPS dropout, navigation was impossible).

Flight 2:

 

After flight 2, we reduced YawFactor from 10 to 5, making it half as sensitive in yaw. This reduced the overcontrolling in yaw.

One flight 3, Boris steered it in the “forced navigation” mode. Here his knob inputs were used to force the navigation system to choose a steering command – this results in steering updates that are coarser and less frequent than in the “yaw” mode, but it allows the navigation system to learn from the response of the glider. Again, since the GPS didn’t work, the nav system had nothing to work from.

Flight 3:

 

For the last flight of the day we tried a larger motor, hoping for more glide time and more data. We got lots more glide time (a great flight), but again the GPS failure meant no useful data. This altitude (1300+ feet AGL) is about as high as I’d want to go with manual steering – any higher and it becomes hard to see which way the glider is pointed.

Flight 4:

 

The loss of GPS sync was again frustrating.

One possibility was a bad GPS unit – this was a new unit that had only flown on the glider. But it performed fine on the ground.

Another possibility was something about the glider flight dynamics that the GPS firmware can’t handle. The glider flies much faster than a parachute glides, while descending at a faster rate than an automobile normally would. Maybe this confuses GPS firmware that’s tweaked for use in cars.

The last idea I thought of was possible RFI from the camera, despite the foil shielding.

Prep for 11/19 flights

I corresponded with the GlobalTop (GPS maker) people – they said there is a dynamics setting in the GPS chipset I didn’t know about:

Regarding the dynamic conditions, you can execute PMTK command for setting. Our output speed is horizontal speed not vertical speed. Also, we don’t have higher accelerations.
PMTK command:
$PMTK302, MODE
Mode: Dynamics mode.
0 : Default ( fixed status)
3 : Slow Ground Vehicle (tractor, boat etc)
4 : Fast Ground Vehicle (car, train etc)
5 : Airbourne Low dynamics (<1g)
$PMTK302,3*2C<CR><LF>
//
Query Dynamics type
$PMTK402*34<CR><LF>:API_Query_Dynamics

Sure enough, the GPS was set to $PTMK302,0 (default) when I checked, so I changed it to $PTMK302,5 (Airbourne Low dynamics). I also ordered some of their new “PA6C” GPS units (successor to the PA6B I’m using now) – they said it has some features that make it (a bit) more immune to noise (a lot lower power, too).

Separately – I finally found the source of the altimeter noise. I was using the internal AVdd as the ADC reference voltage instead of the external pin. You wouldn’t think it would matter, since they’re both supposed be at Vdd – but it makes a huge difference.

Here are the results from my testing – the numbers are the standard deviation of the altimeter noise, in meters AGL:

The radio draws lots of current (> 100 mA) each time it sends a packet; so I used that as a way to test what happens when something draws lots of current.

AVdd reference, DCDC supply: 0.4 meters idle, 4.0 meters w/radio running
AVdd reference, battery supply: 0.8 meters idle, 5.5 meters w/radio

VRef+ reference, DCDC supply: 0.2 meters idle, 0.36 meters w/radio
VRef+ reference, battery supply: 0.12 meters idle, 0.15 meters w/radio
VRef+ reference, LDO supply: 0.11 meters idle, 0.25 meters w/radio

(I used the battery – 2 alkaline ‘C’ cells in series – as a reference “clean” power source.)

So, as Adrian A. (of http://www.featherweightaltimeters.com/) said on the TRF forum, the LDO supply is cleaner, but only by a little – almost all of the difference comes from using the external VRef+ pin. I think the DCDC supply is clean “enough” once I use the VRef+ pin.

I also swapped out the GPS for another one, that I flew in rockets before (under a parachute) and had worked well there.

Final two flights – 2011-11-19

On the first flight I was optimistic that navigation would work. We flew it first on a ProX G125 because the day was extremely windy and we didn’t really know how that would affect things (we only flew it on calm days previously).

Here’s the flight as seen from the ground:

You can see the parachute ejected but didn’t inflate – it remained stuck in the nose cone. Luckily there wasn’t any damage on landing, but we’ll try to avoid this problem on the next glider.

It did about 400 feet AGL (as expected with that motor), but after apogee it just spun around, because the GPS lost satellite lock about 1.6 seconds into the boost (as expected) but never regained it after apogee (not as expected).

This is extremely frustrating. I don’t know why the GPS loses lock in the glider, but works fine under the parachute. I set the high-dynamics mode (as mentioned earlier) but it seems this didn’t make any difference.

I suppose it’s possible there is some interference from the camera electronics. We didn’t unplug the camera for this flight because I thought it would likely work OK with the dynamics setting. However the GPS works fine with the camera running on the ground.

I just got 5 new “PA6C” GPS units from GlobalTop. I won’t have a chance to fly them before spring, but they say they’re less sensitive to interference than the PA6B I’ve been flying. I hope that fixes it.

We have no video from the on-board camera because we haven’t recovered the glider (and camera) yet – the video is still in there.

This flight did serve as a test of the modified altimeter. The results are mixed. The altimeter readings seem to have much less noise on the ground and during boost, but just as bad as ever during glide.

The graph below shows time (seconds, X-axis) vs altitude (feet AGL, Y-axis) for 3 flights – dark blue is this flight, magenta is the very first flight of the glider (in October, similar motor) and yellow is the 2nd flight of the glider (also in October, obviously on a larger motor):

The rocket collects an altitude reading 25 times/second (every 40 milliseconds); that’s what’s plotted here.

You can see that post-modification (dark blue) there’s a lot less noise in the altimeter up until apogee. But after that there’s still very strong noise – the altitude jumps up/down by as much as 40 feet.

I think that perhaps what I’m seeing here is a ‘whistle’ effect of air blowing and vibrating across the vent hole on the bottom of the glider. If so, it only happens in the glide configuration (which is imaginable). There’s just the single vent hole, but the electronics bay hatch (opposite from the hole) is not airtight. Suggestions for how to rearrange things to avoid this (if indeed this is the cause) will be greatly appreciated.

At the top of the graph is the battery voltage (2 x LiIon) * 100 (in cyan). There are 4 distinct dips – these correspond to current drain from (1) servos driving the elevons to boost position upon launch detect, (2) servos going to glide position at apogee detect, (3) servos going to flare position at 150′ AGL, and (4) parachute ejection current.

For the second (and it turned out, last) flight, we went to a bigger Cesaroni 296H110 motor for more altitude. Here’s the video:

I realized about 5 seconds after the crash that I’d forgotten to arm the electronics before launch. That’s a bad feeling.

With the electronics disarmed, the elevons stayed in the boost position (streamlined) for the whole flight, and the parachute didn’t deploy. It crashed across the Pow Wow river in the swamp. I didn’t see where it ended up, but I know where it is within 30 feet or so. It didn’t seem worth risking pneumonia to wade across the near-freezing river to recover the wreckage, so it’s still there. (Boris thinks it might have landed in the river itself and gotten washed downstream.) Maybe once the river freezes solid this winter I’ll try to recover it.

Here is Curtis Heisey’s photo of Autonomy 1 on it’s last flight:

It looks like I have a busy winter ahead.

  1. This is the 2nd rocket I’ve lost in my rocketry career due to forgetting to arm the electronics. Like everyone, I’ve seen it happen to others too.

    So one of my winter projects is to build a box that will sit next to the launch pad. This will connect to the ignition leads from the LCO, and have a relay inside, with the motor igniter connected to the relay. The relay will not close unless the box gets a radio message from the rocket saying that it’s armed. I should have done it long ago.

Start rdesktop from a Gnome launcher

On Thursday I got a new PC and decided to really try to use Linux as my main operating system.

I’ve made abortive attempts before, but always ended up going back to Windows. I’m no Linux expert (I did use Unix a little as a user back in the 1980s, but never did any scripting or programming in it.)

So far it’s going reasonably well; I decided to try Linux Mint (11, x64) this time instead of Ubuntu – it has a lot of the necessary stuff (like Samba) needed to talk to Windows networks already installed.

One problem I had was I was unable to launch rdesktop (a RDP client) from a Gnome launcher. Nothing happens when I try – I still don’t know why.

I found a workaround – start it from a script launched from the Gnome desktop.

Here’s how. From a terminal window do:

cd ~
mkdir scripts
cd scripts
gedit startRDP.sh

Then paste the following into the file:

#!/bin/sh
# Usage: startRDP ipAddress[:port] [[username [password]]
# Free software by nerdfever.com. Public Domain. 2011-11-13.

if [ “$1” = “” ]; then
echo Usage: startRDP ipAddress[:port] [[username [password]]
return 1
fi

if [ “$2” = “” ]; then
padsp rdesktop -a 32 -g 95% -r clipboard:PRIMARYCLIPBOARD -r sound:local -x 0x80 $1
return 0
fi

if [ “$3” = “” ]; then
padsp rdesktop -a 32 -g 95% -r clipboard:PRIMARYCLIPBOARD -r sound:local -x 0x80 $1 -u $2
return 0
fi

padsp rdesktop -a 32 -g 95% -r clipboard:PRIMARYCLIPBOARD -r sound:local -x 0x80 $1 -u $2 -p $3
return 0

Save the file.

Then in the launcher on the desktop, put in the following command:

scripts/startRDP.sh 192.168.1.111 username password

Substitute the client machine’s IP address (and optionally :port) for 192.168.1.111.

Substitute your username/password for username and password. You can leave off password, or both username and password if you want to get prompted for these manually.