All posts by Mike Clements

Flying VFR International

I fly to Canada occasionally and I haven’t gotten fined or arrested, nor even admonished, so I must not have done anything too terribly wrong. This isn’t covered in private pilot training, so I figured it might be helpful to share my checklists. Note: this is for VFR.

Planning (weeks ahead)

  • Passports for every person on board
  • Buy US Customs sticker and apply on pilot side airplane door
  • Create an EAPIS account
  • Have a 3rd or higher class medical (BasicMed not allowed in Canada)
  • Proof of airplane insurance (required in Canada)
  • Radio station & operator license (legally required but nobody ever asks for it)
  • Get Canadian CFS (their AFD book) and charts
  • Proof of COVID vaccination for every person on board
    • COVID tests not required as of March 2022

Pre-Flight (1-2 days ahead)

  • File EAPIS including all people on board, print and bring the email confirmation
  • Pick an Airport of entry for your first landing after crossing the border
  • Figure out where Customs is at your airport of entry (airport diagram, etc.)
  • Call customs at your airport of entry 2-48 hours before landing
  • File international flight plan in the country you’re departing
  • If in Canada returning to the US, call Flight Service an hour before your flight to get your border crossing squawk code

In-Flight

  • Before crossing border, ensure your international flight plan is activated and you are squawking a discrete border crossing code
    • In USA, when in-flight radio flight service 122.2 or nearby RCO to activate
    • In Canada, call flight service 1 hour before departing to file plan & get squawk
    • Don’t cross a border squawking VFR
  • Fly the plan to your destination airport of entry

Flying into Canada

  • Before entering Canada, contact Canadian approach or terminal
    • for example Victoria Terminal 127.8
  • In all Canadian radio communications, emphasize the “N” at the start of your tail number
  • After landing, taxi to Customs, stay inside your airplane and call Canada customs
  • They will usually clear you over the phone without an in-person visit

After flying in Canada, they will mail you a bill for ATC services. The bill has a flat calendar quarterly rate for every quarter in which you fly in Canadian airspace. For example in 2023 I flew to Canada twice, in July and August, and both trips happened to fall in the same quarter. I got a bill for $24.09.

Canada aviation regulations and procedures are similar to the US, though here are a few key differences that will help keep you out of trouble:

  • VFR flight plan required for all flights > 25 nm
    • Call to file before flight
    • Plan automatically activates at filed start time – no need to activate after takeoff
    • Must call to close plan upon landing
  • At busy airports, call clearance delivery before calling ground (even for VFR), to get your taxi/takeoff clearance and squawk code, if applicable.
  • Altitude: 10,000 – 13,000 limited to 30 mins without oxygen
  • VFR over the top is restricted
  • VFR night is restricted
  • MF: mandatory frequency; like CTAF
  • Class “E” airports (untowered) have mandatory reporting before entering their airspace
  • Monitor 126.7 continuously, en route, and make occasional position reports in the blind. Also monitored by FSS.
  • Contacts

An ADS-B Troubleshooting Saga

Introduction

ADS-B is “Automatic Dependent Surveillance Broadcast”. It is an electronic system installed on airplanes that reports their 3-D position in real time. The FAA required all aircraft flying in controlled airspace to have ADS-B by Jan 1, 2020.

My ADS-B system is uAvionix Tailbeacon TSO. I installed it in Oct 2019 and it worked well for about 3 years.

Back in March 2023 I was flying back to KBFI when the tower controller said she didn’t have my Mode C altitude. This sometimes happens even when the transponder is working well, so I reset it. I also reset the Tailbeacon ADS-B just to be safe. The controller then asked if I was ADS-B equipped. This is never good, since it means they aren’t getting my ADS-B data.

The Saga Begins

The next day, a technical representative from the FAA emailed me to tell me my airplane’s ADS-B system wasn’t working, and asked how I plan to fix it. He also provided performance reports from recent flights to show that it was not an isolated case, but a trend. I opened a support case with uAvionix and notified my local airplane shop. My airplane was about to go in for its annual inspection, so I said I’d have them fix during that time. Until then, I self-grounded for a couple of weeks.

When I flew from KBFI to KPLU to drop my airplane off for its annual, the ADS-B performance report (PAPR) was clean. So the Tailbeacon did work properly under some conditions.

Death from Corrosion and Ground Wiring

During the annual, based on uAvionix advice, we improved the fin grounding by running a wire across the hinge to the rudder. We found corrosion on the Tailbeacon circuit board so uAvionix said it should be replaced. Since it was beyond its 2 year warranty, they asked for $400 for the replacement, which is an 80% discount. I asked for a courtesy replacement due to all time, expense, and down-time the failure was causing me. uAvionix granted that and sent it for free.

After annual, the new Tailbeacon worked well enough that ATC did not complain, but it still failed the PAPR. All the data was correct, but the GPS quality flag (NIC) sometimes dropped below minimum required accuracy.

GPS problems are common enough with Tailbeacon that uAvionix has a detailed 16 page manual to troubleshoot it. They sent me a copy. It is marked “company confidential – do not distribute”, so I won’t post it here.

The FAA PAPR is just a summary telling you whether you passed, and if you didn’t why you failed. So if you fail, you know why but you don’t know exactly where. You can email the FAA and they will provide a detailed GPS log in KMZ format, showing every message your ADS-B system sent, color coded GREEN for good and RED for bad. This is essential for troubleshooting ADS-B systems. You can load this into Google Earth and easily see exactly where it failed.

Radio Interference

In the detailed track log, it was mostly green, but red in a few spots. I noticed that one of the spots it turned red was over the rock quarry SE of Boeing Field, exactly where Boeing Tower asked me to report my position. Could my radio transmission have jammed the Tailbeacon GPS? It seemed unlikely because I was transmitting on 118.3 MHz, while GPS is at 1.5 GHz, more than 10x higher frequency.

The uAvionix troubleshooting doc says that radios can jam the GPS from harmonic distortion. Specifically, around the 12th or 13th harmonic. When this happens, you can install lowpass filters on the comm antennas to block that distortion. But those lowpass filters are expensive, and the GPS track also turned red in places I wasn’t transmitting, so I wasn’t sure if that was the problem.

I have 2 comm radios, an MX-385 and an RT-385. I removed one from the panel and made a test flight. Then I reinstalled it, removed the other, and made another test flight. The PAPR for these flights still failed, but it improved. With the MX-385 removed, there were fewer GPS drops.

Next, I tested it on the ground. I turned on the Tailbeacon while monitoring its data with the uAvionix app on my phone. I watched it get a good GPS fix. Then I transmitted on different frequencies on each of my radios. The MX-385 would cause the Tailbeacon to lose GPS completely and instantly. The RT-385 did not. But it would jam the GPS while flying. So ground testing is informative yet not authoritative.  I also made test flights with the Emergency Locator Transmitter (ELT) turned off and antenna disconnected.

So I needed to install filters. But what kind? From what I read, Garmin makes them and so does TED. The TED filters are more than twice the price, but user comments suggested they are more effective. The TED 4-70 is -52 dB at 1.5 GHz. I ordered 2 of them.

The filters should be easy to install: each goes inline and has a BNC connector on each side (one male, one female). So I crawled underneath my airplane panel with a flashlight. I discovered that the comm radio antennas do not have any BNC connectors. They are hard-wired to the back of the radio rack, and the cable runs straight to the antennas on the roof of the airplane. I spent hours removing interior panels to follow those cables looking for a connector, but alas there were none. So the only way I could install the filters was to cut the antenna cables and install new BNC connectors.

I studied to find out what kind of coax cable the antennas use, ordered a set of male and female BNC connectors, a cable stripper, and crimp tool. When they arrived I spent several more hours contorted upside-down under the panel with a flashlight, cutting the cables and installing the connectors. When I finished I ground-tested the radios. One worked, the other didn’t. Apparently, a strand of wire went astray when I installed the BNC connectors. So I did it over again. Finally, both radios worked.

I made a test flight and the PAPR was much improved. The GPS NIC never dropped to zero, but only dropped to 6. It should be in the range of 7-9. So it still failed, but it nearly passed.

I bought another pair of TED 4-70 filters, this time used from eBay to save money. I installed one on the ELT antenna and kept the last as a spare. My next flight still failed the PAPR, but it was still improved.

Switches and Connectors

I mentioned that my flight from KBFI to KPLU with the old Tailbeacon pass the PAPR. Just before that flight I exercised the panel switch for the Tailbeacon about 10 times, to scrape off any internal corrosion and improve the connection. These panel switches are OEM, so they are over 40 years old. I exercised all of them again to see if that would help.

Well, three of them broke while I was switching them back and forth! At home, I wired a shunt from 16 gauge wire with dual male spades, soldered together. Then at the airplane I plugged the nav light direct through the shunt instead of through the switch. The next test flight still failed, but almost passed, a further improvement and closest I had yet come to passing.

Re-Evaluation

At this point I had done everything in the uAvionix guide, and it still wasn’t passing the PAPR. It was working well enough that ATC was not complaining. But it needed to pass the 91.227 requirements, which are more strict.

uAvionix escalated my case to Lou and we spoke for about an hour covering the history, all the things I had tried, and what to do next. We agreed that I would replace the panel switches in my airplane, test it again. If it didn’t pass, uAvionix would send me another warranty replacement unit. But Lou said they were out of stock and it would take 4 weeks.

So, I dropped my plane at Spencer Avionics to get the switches replaced. Spanaflight had new switches in stock and Spencer installed them. My next flight worked as well as the prior one with the shunt, so the new switches definitely helped. And I needed them anyway, since some broke. But it still didn’t pass.

At this point Lou called me and said that even though uAvionix was out of stock, he had one at his avionics shop and he would send me one, via 2 day FedEx.

Another Warranty Replacement

When it arrived I flew back down to Spanaflight and, working alongside Karl, we replaced the old Tailbeacon with the new one. At my request we soldered it instead of using crimp connectors. I turned it on and did the initial set-up. Then on my flight back to KBFI I flew the long way around in order to make the flight long enough (at least 30 mins) to get PAPR. After I landed, I pulled the report and it passed! I forwarded it to the FAA rep, who agreed it passed. Problem solved, case closed.

Happy Ending

So that is the end of the saga. Here’s a summary:

  • Original Tailbeacon developed corrosion on its circuit board, after 3 years of service.
  • It failed intermittently especially in freezing temperatures.
  • The new warranty replacement Tailbeacon also failed, due to weak GPS (low NIC).
  • All other fields (tail #, squawk code, etc.) were correct. The only failure was NIC.
  • We improved the ground by wiring across the hinge from the rudder to fin. This improved things but didn’t fix it.
  • We installed notch/lowpass filters on both comm radios and the ELT. This improved things but didn’t fix it.
  • We replaced the panel switches to the nav light. This improved things but didn’t fix it.
  • We replaced that Tailbeacon unit again, with another new warranty replacement.
  • During installation we soldered it instead of using the crimp connector. And we covered the connection with insulating shrink wrap.
  • The new Tailbeacon passed the PAPR on the very first flight and the FAA representative signed it off.

If this new one had failed, my only other option would have been to stop using uAvionix Tailbeacon and install a Garmin GDL-82 system instead.

Schiit Jotunheim 2 Review: DAC+Preamp+Headphone Amp

Introduction

Note: about a year ago I got an SMSL SU-6 DAC. More on that here.

I’ve always enjoyed listening to music on headphones at work. As we are returning to the office, I want to have high quality audio listening. My Etymotic ER6 IEMs sound great, but (A) they isolate all other sounds, so when people walk by and say “hi” I don’t even hear them, and (B) they don’t reproduce the top half-octave, so while they do sound clean, there’s something subtly missing. I still have my old Sennheiser HD-580 which are still as good as new, but they have low voltage sensitivity so I needed an amp to drive them.

I wanted to play music from my phone (USB Audio Player Pro), my laptop, or my desktop. And most (but not all) my music is on a small external hard disk which occupies the phone USB port, so when playing from the phone I may use its USB output or its analog headphone jack. But when playing from the laptop or desktop, I’ll use USB since their built-in DACs are crappy and don’t handle sample rates above 48k.

So I needed an audio device that is a DAC with USB input, also analog input, with a built-in headphone amp. Furthermore, I have limited power plugs at work so I couldn’t use separate devices having external wall-wart power supplies. I needed this to be a single box with an internal power supply and standard power plug. And of course having excellent audio quality in its DAC and amp, with sufficient power to drive my Sennheiser HD-580. And after my recent experience with Topping and SMSL, made in USA with a good warranty and support. And not too expensive.

The Schiit Jotunheim 2 with DAC module is the only device that meets all of the above requirements, so I ordered one. The Asgard would also meet these requirements, so which to get? I opted for the Jotunheim because:

  • It has both single-ended and balanced outputs and inputs.
  • It has slightly cleaner audio (lower noise & distortion), and more power.
  • It has a better volume knob (Alps RK27 blue velvet) with better channel matching.
  • It has switch-selectable preamp outs.

Amir reviewed it at ASR a few years ago, when it had the prior version of the DAC card that wasn’t so great. He found it to be a great amp & preamp with a crappy DAC. Since then, Schiit revised and greatly improved the DAC. The DAC is a plug-in replaceable internal module/card that costs about $100, so folks who bought an earlier Jotunheim (or Asgard) can also upgrade to the new DAC.

Photos

With its all-metal construction, switches and knobs it has a look that says, “tools, not toys”.

Removing the cover reveals clean layout and construction, and that awesome Alps RK27 Blue Velvet volume potentiometer.

The rear view shows the flexibility of this one-box-does-it-all device:

 

Summary

The Jotunheim has

  • Internal power supply, no wall wart.
  • DAC with USB C input
  • 2 Analog inputs: RCA and XLR
  • 4 Analog outputs
    • Line level RCA
    • Line level XLR
    • Headphone balanced (4-pin)
    • Headphone unbalanced (1/4″)
  • Switchable gain: low and high
  • Switchable line outputs (the don’t auto-mute when headphones are plugged in)
  • Analog volume control (Alps RK27)
  • High power, low noise and distortion
  • High build quality (all metal construction, knobs, switches)
  • Made in USA with excellent warranty and support

The Jotunheim does not have

  • Digital display: does not show sample rate, bit depth, etc.
  • S/PDIF or Bluetooth digital inputs: it has USB C only
  • DSP algorithms: no tone controls, crossfeed, etc.
  • Perfect channel balance: the Alps RK27 is one of the best, but no potentiometer is perfect

Measurements

I measure using my desktop PC and Juli@ sound card with Room EQ Wizard software. The Juli@ sound card is not up to professional measuring equipment standards, but it is one of the best PC sound cards. My measurements are good enough to detect any flaws that might be audible, and some others below audibility.

I connected the Jotunheim to the PC (running Ubuntu 18) via USB, connected the Jotunheim’s analog RCA (single ended) outputs to the Juli@ inputs, disabled PulseAudio, and let Room EQ Wizard do its thing.

First I ran frequency sweeps. Each was -1 dB digital level at every common sampling rate: 44.1, 48, 88.2, 96 and 192. All were ruler flat. The most difficult is at 44.1k since the transition band is so narrow. Many DACs have ripple or roll off before 20 kHz. Here’s the Jotunheim:

It is down -0.1 dB at 14 Hz and 19,900 Hz. There is no ripple and the phase response is dead flat, which tells us it uses a linear phase digital filter. This is great for 44.1k sampling. The only drawback at 44.1k is that it doesn’t fully attenuate until 24.1 kHz, which is above Nyquist. This leaks HF noise, but it should be benign as all aliases must be > 20 kHz (inaudible). Higher sample rates are flat to much higher frequencies and fully attenuate by Nyquist. For example here is the Jotunheim at 192k Hz:

Here the low frequency roll-off and phase shift is in the Juli@ card (it also appears in loopback mode). The Jotunheim is down 0.1 dB at about 62 kHz. I would prefer to see a more gradual filter that uses the entire transition band (20k – 96k), but it doesn’t seem to suffer from this sharp attenuation.

Here is distortion & noise at 44.1k at max volume, low gain:

We’ve got something interesting going on here: surprisingly high 2nd harmonic (2H) distortion. It’s below 70 dB which should be inaudible, but could become audible for low level signals. For example if the music was at -30 dB, at 3 kHz where our hearing is most sensitive, this distortion is only 48 dB lower which could be audible to some people under the right circumstances.

Note: this measurement is not an anomaly. It matches Schitt's specs, which quote THD on single ended outputs at .03%, which is -70 dB. The Jotunheim is optimized for balanced outputs, which measure about 100x or 40 dB cleaner.

This smiley shaped 2H distortion appeared at every sample rate, at the same level. I suspect it comes from using the Jotunheim’s single ended RCA outputs. It’s optimized for the balanced outputs and if I read Schiit’s description correctly, it converts to single ended by ignoring the inverted polarity signal instead of differencing it. Differencing would eliminate 2H distortion. Some balanced circuits are so clean they don’t need to be differenced, but others require it.

I tested this theory by playing a frequency sweep from my phone using USB Audio Player Pro in bit perfect mode, connecting the phone’s USB output to the Jotunheim, and the Jotunheim’s balanced XLR line level outputs to my Tascam SS-R1 recorder. Here’s what I got:

Ah, this is more like it! Noise and distortion around -100 dB in the bass to -92 dB in the treble. This uses the Tascam SS-R1 recorder’s balanced analog input and A/D converter, so it’s truly excellent.

Gain and Output

The Jotunheim has two gain settings: low and high. Low gain at max volume is unity. High gain is 12.7 dB louder than low gain, or about 4.3x the voltage, which is about 18.5x the power. I find low gain more than sufficient even for my insensitive Sennheiser HD-580 headphones when playing from digital sources having -6 dB pre-attenuation.

The Jotunheim is a truly balanced, differentially signalled amp. The 1/4″ headphone jack output level is about 6 dB quieter than the balanced headphone jack.

Volume Knob

The next thing I measured was the volume knob. Analog potentiometers are a common weak point in any preamp or headphone amp. They never have perfect channel balance, especially at the lower knob settings which we use most often.

Here’s a frequency sweep using the Jotunheim’s single-ended RCA outputs, on low gain with the volume at the 12:00 position:

The smile shaped distortion curve is gone. Turning down the volume eliminated it. This appears related to the Jotunheim’s internal amp, which Schiit calls “continuity”. If I read Schiit’s description correctly, “continuity” means a class AB amp, but it’s biased high enough to operate in symmetric class A up to about 500 mW output (according to Schiit). I suspect that when you turn the volume down to 12:00 it’s below the output threshold, and symmetric class A (even though single ended) which eliminates that 2nd harmonic distortion. I didn’t expect a transition from class A to AB to make such a difference, and it could have a different cause.

Anyway, back to the volume knob channel balance. No knob is perfect, each individual knob is different, and remember this is an Alps RK27 Blue Velvet knob. If you aren’t impressed, consider that this single part alone costs a whopping $40!? I’m not kidding: here it is at Mouser.

OK so here’s a table showing each of the clock volume knob positions, attenuation and channel balance. Obviously, there’s a margin of error in positioning the knob, so the numbers are all approximate. I’ve added the JDS Atom volume knob for comparison, which I think uses an Alps RK09. That’s a good potentiometer, but a cut below the RK27. Also, the Atom 2 which uses a hand-matched Alps RK09. You can see that the Atom 2 is as good as the Jotunheim.

ClockJot LevelJot DiffAtom LevelAtom DiffA2 LevelA2 Diff
05:00 (max)N/AMatchN/AMatchN/AMatch
04:00-1.3Match-0.8Match0Match
03:00-3.6Match-2.1Match0Match
02:00-6.0Match-5.3Match-2.25Match
01:00-10Match-8.8Match-6.25Match
12:00 (half)-16Match-14.3Match-17Match
11:00-20Match-18.0Match-19.5Match
10:00-25Match-23.4L +0.5-22Match
09:00-36L +0.5-33.8L +1.5-26R +0.3
08:00-48L +1.0-41.3L +1.0-40R +1.0
07:00 (above min)-74L +2.3-68.3L -8.0-60R +4.0

In summary:

  • Volume knob channel balance is matched to 0.5 dB or better for the top 3/4 of its range, from 09:00 to max.
  • At 09:00, which is -36 dB, the L is 0.5 dB louder than the R
  • At 08:00, which is -48 dB, the L is 1.0 dB louder than the R
  • At 07:00 (lowest non-zero), which is -74 dB, the L is 2.3 dB louder than the R

This is as good or better than any potentiometer I have measured.

Analog Input from Phone Headphone Jack

One way I plan to use the Jotunheim is to play music from my phone out its analog headphone jack. This can go wrong in several ways, so I measured it. I played an REW frequency sweep on my phone, using USB Audio Player Pro, connected its headphone jack (at max volume) to the Jotunheim’s single ended RCA inputs, recorded on the Tascam SS-R1 then imported into Room EQ Wizard for analysis.

TLDR; it’s super clean and should provide excellent sound quality.

Jotunheim on low gain, max volume:

We can see it’s super clean, though the SNR suffers a bit due to the phone’s low max output level, it’s still 70-80 dB. The phone’s output level is so low, the Jotunheim at max volume doesn’t trigger its unusual smile-shaped distortion curve.

Jotunheim on high gain, max volume:

This is just as clean, even cleaner. How can high gain be cleaner than low gain? It’s not an equal comparison – the overall level is much higher/louder. The phone’s max output is so low that the Jotunheim on high gain max volume doesn’t overload the Tascam recorder inputs.

Distortion: Balanced vs. Single Ended

When I noticed elevated distortion from single ended line level RCA outputs at max volume, and discovered that it disappeared at half volume, I did some exploring to learn more about the relationship between knob position and distortion. Here are the graphs:

Once again, max volume (about 05:00 on the clock). The min at 200 Hz is about -96 dB, the peak at 10 kHz is -68 dB.

Here it is turned down just a bit to the 04:00 position: -92 @ 200, -70 @ 10k

Here it is at the 03:00 position: -91 @ 200, -72 @ 10k

Here it is at the 02:00 position: -90 @ 200, -75 @ 10k. The smile is flattening.

Here it is at the 01:00 position: -84 dB @ 200, -84 dB @ 10k. The smile is gone.

Of course we expect distortion & noise to rise relative to the signal as we turn down the volume. But how much? Let’s quantify this. At the 01:00 position, the signal is attenuated about 10 dB from max. The minimum distortion max volume is -96 dB; the minimum distortion at 01:00 is -84 dB. So when we reduce the volume by 10 dB, distortion goes up by 12 dB. Since this involves eyeballing the position of the volume knob, there’s a margin for error so call it 1:1 linear. The distortion profile looks normal / flat up to about the 02:00 position, at which point a smile (rising distortion in low & high frequencies) just starts to emerge.

Again, this is only on single ended outputs. The balanced outputs are clean all the way up to max volume. At least as high as I could measure them – the voltage of the Jotunheim’s balanced outputs goes so high it overloads my sound card and Tascam. So I had turn the volume down in order to measure it. Summary:

  • Single ended/unbalanced output is as clean as balanced at low to moderate levels.
  • At high levels (02:00  on volume knob with full scale input), unbalanced output has slightly elevated 2H distortion, up to -70 dB in the mid-treble.
  • This elevated distortion should be inaudible in most cases.

Conclusion

The Schiit Jotunheim is a nice piece of gear. It does a lot in a single box, with an internal power supply (no wall wart). And it does it well, with good to great measurements. It also sounds great subjectively. It has high parts and build quality, metal not plastic, the volume knob is silky smooth with just the right amount of friction, the metal switches are a pleasure to operate, having the solid “smack” of professional equipment.

It works seamlessly from Ubuntu Linux, from Windows 10, and from my phone, with both digital USB and analog inputs. It didn’t reveal firmware bugs nor shut off during testing, like some DACs from Topping and SMSL have done. I didn’t encounter any issues recognizing it or sending music to it, nor any glitches on long-term playing. And I didn’t have to install any drivers.

The Jotunheim is inherently balanced and performs best in this mode with excellent near SOTA measurements. Yet it also has unbalanced inputs and outputs that measure good enough, and it supports all combinations across its inputs & outputs.

Finally, the Jotunheim is made in the USA with good warranty and support. It reminds me of the amps that Headroom in Montana used to build 25 years ago, only even better engineered and built, with more functionality. Years ago a device with this functionality, build quality and engineering would have cost thousands of dollars.

A Cheap Audiophile Headphone System

A few years ago I blogged about this: http://mclements.net/blogWP/index.php/2016/09/13/a-cheap-audiophile-headphone-system/

Technology marches on so it needs an update.

Here’s a cheap audiophile quality sound system:

  • A DAC + headphone amp that accepts USB input.
  • A decent set of headphones.

How is this better than before? It’s less expensive and more flexible. A DAC accepting USB input can be used with any computer: laptop or desktop, mac, Windows or Linux. No drivers needed.

You can get separate DAC and amp, or (even better) a single device having DAC and headphone amp. Such a device often has line level outputs and can be used as a preamp too. Like the Schiit Asgard with the ESS9028 DAC card. Simplicity at its finest: a single box is all you need.

Even better, the Asgard accepts analog inputs too. If your phone has a headphone jack, you can set it to max volume and plug it into the Asgard’s line-level inputs. Then use the Asgard (and its volume control) to drive any headphone on the planet. If not, just use an OTG USB cable to plug your phone into the Asgard’s digital input. That should provide even better sound quality, as the Asgard’s DAC is probably better than the one in your phone.

Audio: How Much Data is That?

It’s easy to compute but I figured I’d save it here for reference

RatebPSBPSKB/secMins/GBCD ratioNotes
44.1-161,411,200176,400172.271011.00Redbook CD
44.1-242,116,800264,600258.4671.50
48-161,536,000192,000187.5931.09
48-242,304,000288,000281.25621.63Standard DVD
88.2-244,233,600529,200516.80333.00
96-244,608,000576,000562.5313.27Popular for modern classical music recordings
176.4-248,467,2001,058,4001,033.616.96.00
192-249,216,0001,152,0001,125.015.56.53

This represents actual data bits to represent the music – no overhead. If you want to know what bandwidth is needed to carry an SPDIF signal at a given rate, add extra for packet overhead.

The formula is simple:

bits per second = S * C * B
S = sample rate (samples per second)
C = channels (2 for stereo)
B = bits per sample

For example for CD we have

S = 44100
C = 2
B = 16
S * C * B = 1,411,200 bits per second

Note: most DACs internally oversample before D-A conversion. They typically oversample at the highest integer multiple of the source rate that is less than their max rate. For example the Cirrus/Wolfson WM8741 has a max rate of 192k, so CD and DVD are oversampled 4x to 176.4 and 192 respectively. This happens automatically within the DAC chip. Because of this, it’s usually pointless to oversample an audio signal before feeding it to a DAC – the DAC is going to do it anyway, so why waste processing power and bandwidth doing it yourself?

Keyboard Switches: Summary

Introduction

Touch typing on mechanical switches is faster, more confident and satisfying than on bubble dome switches, because mechanical switches are more reliable and give tactile and audible feedback as you type. Yet all mechanical switches are not created equal. They have a wide range of attributes. I’ll discuss these attributes, name a few switches and list my favorites.

Switch Makers

Back in the day it was IBM with their buckling spring switches, the classic of the 1980s. Alps was another big switch maker. After IBM stopped making buckling springs Unicomp bought IBM’s patent and carried that torch forward to this day. Cherry entered the picture, then Gateron and Keychron. We also have smaller volume boutique switch makers like Zeal PC. And many others…

Some of these makers have shared the same color coding of their switches by attribute. More on this later.

Switch Attributes

Switches have 3 basic attributes:

  • Sound: how loud is the switch?
    • Ranges from silent to loud
  • Tactility: whether the switch has a tactile “bump” during the keypress
    • Ranges from linear (none) to highly tactile
  • Weight: how much force does it take to press the key?
    • Ranges from light (40 grams) to heavy (70+ grams)

Switches have additional attributes like smoothness, but the above 3 are the primary attributes by which they are grouped.

All high quality mechanical switches are reliable and durable, meaning no missed or double strikes (common with cheap bubble dome switches), and last for 50 M or more actuations.

The most common switch size & shape is Cherry. Gateron, Keychron, Zeal PC and others copy this design – it’s become the standard. The bottom of the switch has flat copper pins that stick straight down to connect to the keyboard backplane (whether press-fit or soldered). The keystem sticks up with a + shaped male connector, and keycaps have a center stem with a female connector that plugs in. The switch housing has top & bottom halves held together with press-fit snaps. They can be separated, disassembled and reassembled.

Switch Colors

Most of the common switches have colors that indicate their attributes, and these colors are mostly standardized across makers.

ColorSoundTactilityWeightNotes
BrownQuietLightVery Lightalmost linear, tactile barely perceptible
BlueLoudModerateLightfeedback more audible than tactile, high-pitch click
GreenLoudModerateModeratefeedback more audible than tactile, high-pitch click
BlackSilentNone/LinearModerate
RedSilentNone/LinearVery Light
Buckling SpringLoudHighHeavyExcellent tactile feel, low-pitch clicky sound
ClickiezLoudHighModerateexcellent tactile feel, thocky sound, similar to a VT320 terminal
Zilent V2SilentLight/ModerateModeratesilent yet tactile

My Favorite Things

I like switches with plenty of feedback, both tactile and audible, with moderate to heavy actuation force.

My 2 favorite switches are Zeal PC Clickiez and Buckling Springs. I like them about equally, though the Clickiez are more convenient since they are Cherry compatible. However, these switches are both loud enough that I can’t type notes during Zoom calls, and they obstruct music on open-back headphones.

I don’t like silent switches, but the least bad I’ve tried are Zeal PC Zilent V2. They make several versions having different weights; I use 67 gram. Linear switches are the most common choice for silent switches, but lacking any feedback, they are not as satisfying or confidence inspiring. The Zilent V2 gives decent tactile feedback and is just as silent as linear switches. They feel like what Cherry Browns strive for, yet utterly fail to become. If Brown switches became smoother, more tactile, and didn’t suck anymore, they would become Zilent V2.

Lubrication

The latest fad is to lubricate switches. More specifically, lubricate the interface between the switch stem and housing, and the top & bottom of spring where it connects to the stem and housing. It’s a tedious process, as you must acquire special greases or oils, open the switch housing, take apart the switch, use a tiny paintbrush to apply grease exactly where needed, not too much nor too little, and reassemble the switch. It can take 4 hours to lube the 80-100 switches of a normal keyboard.

I’ve tried this and I’m not a fan. My lube experiment was successful and the switches were quieter and smoother. But they also felt sluggish, ruining their feel. Perhaps lubing just the spring and not the keystems would be better. But the spring usually doesn’t contribute much sound. IMO, lubing makes mechanical switches sound and feel more like the cheap bubble domes that we are trying to get away from.

Padding

Switches can be padded in 2 ways: in the keystem, or in the keycap.

Keystem padding is a rubber insert fitted into the keystem (inside the switch) that protrudes just a bit on the top & bottom of the side rails. It damps the top & bottom, softening the sound & feel when the switch hits the top & bottom of the stroke. Keystem padding is applied by the switch maker inside the switch and usually cannot be added afterward.

Keycap padding is an o-ring fitted around the center stem of the keycap. It damps the bottom-out of the switch, which hits the o-ring before plastic meets plastic. Keycap padding can be added to almost any switch or keycap, though it can conflict with some stabilizers. Keycap padding is easy to apply and to remove, and a set of o-rings only costs about $10, so it’s an experiment worth trying. O-rings come in different hardness and thickness. I prefer 40A hardness which is soft. For thickness, 0.2 mm is “L” and 0.4 mm is “R”. Most of the time I go with “L” but which works best depends on the application.

Frugality and Conservation: a Mindset

I hate seeing stuff going into landfill when it could easily be repaired and put back into useful service. This is true whether it’s computers, stereo gear, appliances, cars, or pretty much anything. And it’s educational and fun to fix things of all kinds. Too many people do the equivalent of buying a new car when their brakes squeak.

Discarding and replacing phones, computers, appliances, cars or anything else when they could be repaired seems wasteful and wrong. It also signals manufacturers that they don’t need to build anything to last. It tells them that planned obsolescence and poor quality is OK because people aren’t going to keep things very long anyway.

Another dimension of this is sustainability and the environment. How much energy, resources and labor are we spending to create new stuff to replace old stuff that still had years of useful life yet was discarded prematurely? All that energy, resource and labor could be put to better use. Some people get a new car every 3-5 years, a new phone every 2 years, a new computer every 2-3 years, etc. This stuff lasts more than twice as long as that.

Yet another aspect of this is economics. How much money are people spending replacing stuff that doesn’t need replacing? What a waste. That money could be put to better use, whether spent or invested.

Keyboard Review: Keychron V10 Alice

Introduction

Over 20 years ago during Octane Software I was working 80 hours per week and typing a lot. As a fast touch typist (90-100 wpm) I’ve always loved buckling spring keyboards. But the ergonomics of a standard keyboard were giving me issues. It forces the forearms to be parallel, which means bringing your elbows close together in front of you. This is fine for a few hours, but not so great 12 hours a day 6 days per week. At the time, I got a Kinesis ergo keyboard that was split, tented, and adjustable. I liked the ergos but hated the bubble dome switches.

With a split keyboard, your forearms aren’t parallel. You sit closer to the keyboard with your elbows at your sides and your forearms + body make a triangle. This is a more comfortable position.

Ergo Keyboards with Mechanical Switches

Ever since then I’ve wanted a keyboard that has that split ergo shape (similar to the Microsoft layout) but with mechanical switches. Tough luck! Especially if you want a particular type of key switch, not the ubiquitous yet sucky Cherry Browns, which are barely better than bubble domes (if I sound like a keyswitch snob, yes guilty as charged). This means hot-swappable switch sockets.

I’ve found a few ergo keyboard options but none were all that appealing. Most were weird, pricey, with limited switch options and not hot swappable.

  • Kinesys: Advantage360, Advantage2
  • Truly Ergonomic
  • Ergodox
  • Atreus
  • Esrille
  • Matias Ergo Pro
  • Maltron

Enter the KeyChron Alice!

The Alice layout came out a few years ago in the DIY keyboard market. It’s a split layout similar to the old Microsoft Ergo keyboards, yet smaller, typically a 60% to 80% size. Since I use all the function keys, scroll-lock, page, etc. 75-80% is the smallest layout I can use. It looked promising, but as a DIY only option, you’d spend at least $400 (probably more) building one.

Last year, Keychron released four versions of this Alice layout: model 8 and model 10, in variants Q and V. Their site does a crappy job of explaining the differences, so here they are:

  • Model 8: 65% size / 68 keys
  • Model 10: 75% size / 88 keys
  • Variant Q: metal backplate
  • Variant V: plastic backplate

I don’t care about metal backplates; plastic is fine as long as it has solid build quality. And the Q variant costs an extra $100. So I got the V-10 model, which costs $104. That’s a great price for a keyboard like this:

  • 75% Alice layout
  • Knob/button (upper left corner)
  • Hot-swappable mechanical switches
  • Fully programmable via VIA & QMK
  • 4 layers (2 for Mac, 2 for Windows)
  • Programmable RGB lighting: color, brightness, pattern
  • Doubleshot PBT keycaps
  • Solid construction with high build quality
  • 3 switch choices: blue, brown, red

Reference: https://www.keychron.com/products/keychron-v10-alice-layout-qmk-custom-mechanical-keyboard

What’s not to like?

Setup

My setup includes:

  • Linux (Ubuntu 20) desktop
  • Windows 10 desktop
  • Windows 10 laptop
  • IOGear GCS1102 and GCS1104 KVM switches

Good Stuff

The keyboard had free shipping from China via DHL in less than a week. My first impression is quality and completeness. It’s fully disassemble-able and repair-able and comes with tools needed to take it apart. Build quality is excellent with high quality materials from the keycaps to stabilizers, case and construction. This appears to be a “lifetime” keyboard.

The first thing I did was set up the keys:

  • Removed the keycaps
  • Removed the switches (Keychron Blue)
  • Installed Clickiez switches (my favorite)
  • Installed o-rings on the keycap stems (0.2mm 40A)
  • Put it all back together

As I started typing, I sat closer to the keyboard with my arms in a more natural position and memories came back. After a few mins I pulled up an online typing test: 2 minutes averaging 92 WPM at 99% accuracy. This is typical of my typing on normal keyboards. So the layout is quick and easy to adapt from a standard keyboard.

The keyboard has a small external switch next to where the cord connects that selects Mac vs. Windows/Linux mode. What it really does is set the default layer to 0 (Mac) or 2 (Windows). Layers 1 and 3 are accessed by using the Fn key from layer 0 or 2 respectively.

Bad Stuff

The Keychron mechanical switches (mine had Blue) are an imitation of Cherry or Gateron. They feel and sound about the same, but when I was pulling keycaps, two of them came up with the blue switch stem still attached, ripped it out of the switch body, which also broke off one of tabs (surprisingly tiny & delicate) that hold the switch stem inside the switch case. Take care when pulling keycaps from Keychron switches.

Note: Keychron support sent me 5 new blue switches. No hassles, no charge. Good support!

The “6” key is for the left hand only, which is just wrong. It will take me time to adapt to this.

The keyboard has 2 “B” keys, one for each side L and R. The proper use of B is with the L hand; I’ll never use the R side B key.

There is no R ctrl key. I use the ctrl keys on both sides without even looking, as it’s the most efficient way to activate various hotkey combos – just like the Shift key, ctrl-D using R ctrl, ctrl-P using L ctrl without lifting your fingers from the home position.

The cord plug-in point is exposed and has no strain relief. It would be better to recess it underneath the keyboard and provide molded recesses for cable strain relief, like most other keyboards do.

Through my KVM switch, this keyboard doesn’t support all its features. The knob doesn’t work, nor do the multimedia keys. And if you enable NKRO mode (Fn + N), it doesn’t work at all with the KVM switch. So with a KVM switch you must use the default 6-KRO mode. BTW, this is not documented and I lost hours troubleshooting why the keyboard wasn’t working at all through the KVM switch. Reloading firmware, etc. until I realized it was activating NKRO that caused the problem. Note that with other keyboards, the multimedia keys and NKRO do work through my KVM switch, so this issue is specific to Keychron.

When CapsLock is on, the LED lights up underneath the key. But the keycap is opaque and large, so it’s hard to see. Also, it’s always white so if your LED lighting is set to white, you’ll never see it. My solution was to drill a small hole in the upper side of the keycap. Now I can see the light easily, and it doesn’t interfere with typing.

The keycaps are very high quality: thick PBT with nice colors and sharp graphics. They not all the same height, which limits the ability to move them around if you change the key assignments. They seem to have OSA profiles. It would be better to achieve the ergonomic contour with the keyboard backplane instead of keycap heights, making the keycaps the same height and fully interchangeable. Even so, key swapping flexibility would still be somewhat limited, since some of the keycaps have different non-standard sizes.

The standard layout is missing some important keys that do exist in standard 87-TKL layouts having the same number of keys:

  • PrintScreen, ScrollLock, Pause
  • End
  • R side CTRL
  • Windows menu (it has the Win key but not the Menu key)

This keyboard does have 5 macro keys along the L side, so you can assign these. But you’ll most likely want to change the position of the Del, Home, End, PgUp and PgDn keys since they aren’t laid out in a logical way.

Fixes

Here are the things I’ve done to address some of the above issues:

  • Disable NKRO – so it works with my KVM switch
  • Change R side ALT to CTRL – since I use it more often
  • Change R side B to ALT – since I’ll never use R side B and I need ALT on that side
  • Change the R side vertical run to Home, End, PgUp, PgDn – to make it coherent
  • Change Ins (above Backspace) to Del – since that is near where Del is on an 87-TKL and I don’t use the Ins key much at all
  • Set M1 – M3 to PrintScreen, ScrollLock, Pause respectively – since I use these keys
  • Set M4 to Insert, just to have this key if I need it
  • Set Fn-Win to the Menu key – so I have both Win and Menu
  • Set backlight to yellow-orange (any color but white), so the caps lock light is visible

Key Counts and Matching

This keyboard has 88 keys, so it’s similar to an 87-TKL layout. Yet having 1 extra key doesn’t really mean you get an extra key. With 2 spacebars and B keys, some keys are wasted. And others are missing, like End, PrtScr, etc. Yet it also has 5 extra keys M1-M5. The net effect is that it is equivalent to an 87-TKL. That is every key on a standard 87-TKL layout can be mapped to a key on the V10 Alice. But the layout is different of course, though you have total flexibility to map these keys anywhere you want.

Final Updates

I use this keyboard at work, where I spent a lot of time on Zoom calls. Clickiez switches are too loud for Zoom, so I replaced the switches with Zeal PC Zilent V2 (67 gram) so I can type notes while on calls. More on that here.

Conclusion

Here’s what mine looks like – you can see that I swapped some of the keycaps to indicate my key changes:

I like this keyboard. It’s high quality for a great price. The layout requires some adaptation, but it’s not too weird out of the box, and it’s flexible and customize-able. It’s comfortable to type on for hours. The incompatibilities with my KVM switch are disappointing, but the workaround is OK. Combined with the hot-swappable switches, repairability, open source firmware, and good factory support, this is a great keyboard.

However, after a month or so I still couldn’t get used to the layout. Not the alphanumeric keys, those were fine. But I underestimated how often I use arrow keys, PgUp/PgDn, etc. And how often I must use standard keyboards (at home, on my laptop when traveling). I could have gotten used to the Alice V10 layout if it were the only keyboard I used, but that was not the case. Fortunately, I found someone at work who wanted this keyboard. Even so, this is among the best ergo keyboards and worth a try for anyone looking for an ergo keyboard with mechanical switches.

Slide Rules: Trig

Introduction and basics in Part 1. Squares, Cubes and roots in Part 2. Here we cover trigonometry: sine, cosine and tangent. Not all slide rules have these scales, but when they do they are usually labeled as follows:

  • S: sine
  • T: tangent
  • ST: sine & tangent

Notes on these scales:

Trig Scales

You don’t need both sine & cosine, since they are inverse every 1/4 circle or 90 degrees. That is, for any angle A in degrees, sin(A) = cos(90-A). That’s why slide rules don’t have a cosine scale – it’s not needed.

Knowing a few key values of sine enables one to quickly estimate many problems (like crosswinds when landing an airplane) in your head. No need for a slide rule, let alone a calculator.

  • sin(0) = 0
  • sin(30) = 0.5
  • sin(45) = 0.707
  • sin(90) = 1

For small angles, sine and tangent are almost the same. Thus many slide rules have an shared ST scale for both, for small angles – typically less than about 5*. Exactly how close are sine and tangent for small angles?

  • 2 sig figs: 15* – sin & tan differ by the 2nd sig fig
    • sin(15*) = 0.259
    • tan(15*) = 0.268
  • 3 sig figs: 2* – sin & tan differ by the 3rd sig fig
    • sin(3*) = 0.0523
    • tan(3*) = 0.0524

Slide Rules!

Background

I learned to use slide rules in high school in the 1980s. My physics teacher was one of the most memorable teachers in my life, “Mr. Jordan”. He said that slide rules can be faster than a calculator, and they promote a better understanding of numbers, orders of magnitude, and significant figures. They are not as accurate as calculators, but real-world problems only need 2-3 significant figures. As such, anyone who used a slide rule instead of a calculator would get a bonus 10% on every test, and answers would be considered correct if they were within 1% of correct. I was one of the few who took him up on this offer.

He handed out small circular slide rules, saying they were easier to use than linear slide rules (which is true, since circular never goes off scale). I don’t remember exactly what model slide rule it was, but the closest I know of today is the Concise model 28N. It was either that, or something very similar.

Note: I now have a Concise model 300, which is their biggest and best. The C and D scales are 8 cm in diameter, which is a circumference of 8π which is 25.2 cm, or about 10″. This is the slide used used in the photos below.

All we needed for physics was multiplication and division, and squares & cubes. Jordan would throw problems like, “A Porsche 944 goes 0-60 in 8 seconds. If it weighs 3000 lbs. with fuel and driver, and half the engine power goes toward acceleration, how much power does the engine produce?”

Since then I’ve been a slide rule fan. I use one when flying for computing fuel burn rates, density altitude, altimeter & airspeed corrections. I also keep one around for doing random calculations that come up during the course of a day. When 2-3 sig figs of accuracy is sufficient, it’s quicker & easier than a calculator.

Slide rules are antiquated tech. So why learn to use them? It’s for these secondary benefits mentioned above. And they are fun.

Introduction

Slide rules are based on the concept of a logarithm (aka log). Every log has a base, and the log is what power you raise that base to get some other number N. Examples:

  • Log base 10 of 100 is 2, because you raise 10 to the power 2 to get 100, or 10^2 = 100
  • Log base 2 of 32 is 5, since 2^5 = 32
  • Log base 10 of 42 is 1.623 (approximately), or 10^1.623 = 42

The reason logs are useful, and how they led to the invention of slide rules, is because exponents are additive. That is: 10^5 = 10^(2+3) = 10^2 * 10^3

That means if I know the logs of 2 numbers A and B, call them La and Lb, then La + Lb is the log of the product A*B.

Note: Computer scientists take advantage of this when multiplying many tiny numbers together. Since computer floating points have finite precision, multiplying many tiny numbers leads to underflow. Instead, take each number's log and add them all up. Then at the end take the inverse log of that sum. This gives you the same product with much higher precision since it never underflows.

Now suppose I have 2 rulers with markings from 1 to 10. But instead of being spaced linear like a normal ruler, they are spaced logarithmically. If I line up 1 on the first ruler, with some number A on the second ruler, then the mark for some other number B on the first ruler will line up with the value of A*B on the second ruler.

A picture’s worth 1000 words, so here’s a circular slide rule.

The clear marker with the thin red line is called the cursor. We’ll ignore that for now. See how the two black highlighted “1” values are aligned? Each of those scales (inner and outer) are logarithmic. That’s why the range from 1-2 takes about 1/3 of the scale while the range at the upper end is much more compressed. As you start from 1 and go up the scale, the numbers start out spread apart and get more squished together.

Watch what happens when we slide the inner “1” to line up with the outer “2”:

If this were a linear ruler, it would be shifted by 1 over the entire scale: 1 to 2, 2 to 3, 3 to 4, etc. But not here, where 1 matches 2, 2 matches 4, 3 matches 6, 4 matches 8, etc. Every number on the inner scale matches the number exactly twice as much on the outer scale. And every number on the outer scale matches the number exactly half as much on the inner scale.

Below I’ve highlighted what I’m talking about. Each number on the inner scale matches to exactly twice its value on the outer scale.

In short, this slide rule is set up to multiply or divide any number by 2.

Yet here’s the kicker: this is not specific to the value 2. It’s downright magical. Here’s the slide rule with 1 matched to 3:

Similar scenario, only now we can multiply or divide any number by 3. And look below for 4:

Of course, this doesn’t just work for integers. You can do this for any number in the scale. In fact, now you know how to multiply or divide using a slide rule.

BTW, these are called the C and D scales. On this slide rule, D is the outer and C is the inner. That’s what the C and D are in photos.

What about Zeros and Decimals?

Suppose you want to multiply 3*4. First line up the C scale 1 with the D scale 3, then look at the C scale 4, which points to the D scale 12. See the picture below:

You might notice that it doesn’t actually say 12, it says 1.2. We happen to know that 3*4 is 12, so we interpret the 1.2 as 12. When you use a slide rule you need to keep track of the decimal point.

This is where circular slide rules are easier to use than straight ones. On a straight rule, this 3*4 problem is greater than 1, so it goes off scale and you can't read the answer. You need to shift to additional scales CF or DF (C folded and D folded) to read the results. Circular slide rules never go off scale, they just wrap around. Much simpler and easier!

All Those Scales!

So far we’ve only covered the C and D scales. You can see that slide rules have several other scales. Most slide rules have these scales:

  • C & D: multiplication & division
  • CI: inverses
  • A & B: squares & square roots

Some slide rules also have these scales:

  • K: cubes & cube roots
  • S, T, ST: sine & tangent

Let’s go through these one at a time.

CI Scale: Inverses

The CI scale is the inverse of the C scale and it’s marked in red. Simply put, it is the same scale but going backward – in the opposite direction. The C scale increases clockwise; the CI scale increases counter-clockwise. Each number on the C scale, lines up with its inverse on the CI scale. For example, 2 lines up with 5 since the inverse of 2 is 0.5.

Here, the cursor comes in handy to read these scales. For example, below the cursor is lined up on 4, so you can precisely read its inverse on the CI scale, which is 0.25. But as you can see all around the dial, each number on C always lines up with its inverse on CI, and both scales increase in opposite directions around the circle. I’ve marked some obvious points, like 4 and .25, 5 and .2, and their inverses.

For example, reading for yourself you can see that 1/7 is about 1.43. My calculator says it’s 1.42857. So we got 3 significant figures of accuracy there (more on sig figs later).

Conclusion

Now that you can use a slide rule for basic computations, have some fun practicing. I cover some of the other scales in part 2.