Amplifiers in the real world: a case study

I encountered an interesting problem recently. As part of a personal project related to magnetic resonance, I built a small coil set and pre-amplifier:

NMR coilset

The pre-amplifier is located on the tiny green PCB; the signal received by the inner coil is amplified here and sent over a coaxial cable to an ADC. Since this is an Earth’s field system (EFNMR) with no large magnets, the frequency of interest is very low, around 2400Hz.

Now here is the strange thing: when I oriented the coil in a particular direction, the received environmental noise was very high, with lots of 50Hz harmonics. But when I oriented the coil in exactly the opposite direction, the noise was low. I repeated the experiment several times with the same puzzling result.

Continue reading
Posted in Electronics | Leave a comment

Electromagnetic radiation from accelerating charges

Electromagnetic radiation is something that has often eluded my intuition. Electrical engineering depends on numerous abstractions: current flowing in wires like a fluid, capacitance/inductance in lieu of near field interactions, antenna theory to model far field interactions, etc. These abstractions are essential to make electromagnetic theory tractable for everyday use. But they also obscure the underlying physics and can result in incorrect conclusions when reality crosses the boundaries of the abstractions.

Looking at electromagnetic radiation from first principles provides, I think, some interesting insights. In this blog post I show how the phenomenon of radiation can be derived from little more than basic special relativity (which itself follows from only a small number of postulates about the universe). This is not new but I think many readers may not be aware of it.

Continue reading
Posted in Physics | Leave a comment

MEMS oscillator frequency increase from helium

You may have heard of the incident where a helium leak suddenly disabled many iPhones at a medical facility. The root cause tiny MEMS oscillators being susceptible to helium leaking into their hermetically-sealed casings is interesting but not especially surprising. Helium is the second lightest element in the periodic table; helium atoms are tiny and have a knack for diffusing through all sorts of barriers.

What is very interesting, though, is that the helium exposure causes the frequency of the oscillator to go up rather than down (at least initially before more serious failures occur). In an experiment performed in a YouTube video from Applied Science, the frequency increases from 32768.24 Hz to 32768.70 Hz (14 parts per million) before device failure. In a research paper, which exposes a (different) MEMS oscillator to helium at high pressure over 50 hours, the frequency increases from 30418 Hz to 30501 Hz which is over 2700 ppm!

If the oscillators weren’t hermetically sealed, then the frequency increase would be understandable helium is lighter than air, and we all know what happens when we breathe in helium. But normally the oscillators are under near-vacuum conditions. Intuitively one would expect the addition of helium atoms to slow down the oscillation, either via gas damping or mass increase. Neither the YouTube video nor the mentioned research paper explain why the frequency increases.

Continue reading
Posted in Physics | Leave a comment

Android device encryption hang at Time remaining 00:00

Recently I had a frustrating problem while trying to enable full disk encryption on my Android device (Motorola G3 “osprey”). Every time the encryption process would hang forever at:

Encrypting
Wait while your phone is being encrypted.
Time remaining 00:00

Continue reading
Posted in Computing | Leave a comment

WebEx audio input hang on Linux (Chrome/Chromium bug)

If you have been connecting to WebEx meetings on Linux using Chrome/Chromium versions 79 or 80, you might have run into issues where your microphone randomly stops working and other participants cannot hear you. When trying to reconnect to the meeting, the connection process might hang for a long time. In Chrome’s Task Manager you will find that the “Utility: Audio Service” thread is using 100% or 200% CPU.

Continue reading
Posted in Computing | Leave a comment

H field and material boundaries

For a long time I thought of the H field as being generated by free currents only. The problem with this view is that it leads us to make erroneous assumptions. We know from the definition of H that:

    \[ B = \mu_0(H+M) \]

The magnetization M is 0 outside of a material. So if we assume that H is due to free currents only, one would conclude that the magnetic field/flux B outside a material is also a function of free currents only – e.g. the external magnetic field of a solenoid would be independent of the material the core is made of. However, as seen in my previous post, this is not true. Also, one might conclude that permanent magnets have no external magnetic field, which is clearly not true either…!

Continue reading
Posted in Physics | 2 Comments

Magnetic field of a ferrite core solenoid

Consider a solenoid made of wire wrapped around a rod made of iron, ferrite, or other ferromagnetic material:

Image by Svjo via Wikimedia Commons

It is well known that the magnetic field will be significantly stronger inside such a solenoid, compared to an air core solenoid. The ferromagnetic core becomes temporarily magnetized and reinforces the magnetic field. But what I’m more interested in is: what is the effect of the ferromagnetic core on the field outside the solenoid, some arbitrary distance away? This question is interesting when using such a coil as part of a magnetically-coupled data or power transfer system, or when considering the electromagnetic interference produced by such a solenoid.

Some sources seem to suggest that the field will be confined more closely when a ferromagnetic core is used, as is the case for ferrite-core transformers. Other sources seem to suggest the opposite, namely that the ferromagnetic core increases the range of the field. Meanwhile a naive application of the Biot-Savart law would suggest that the field outside the solenoid does not change. Which of these is true?

Continue reading
Posted in Physics | 5 Comments

Designing and making a ring

Recently I designed an engagement ring for my (now-)fiancée, from scratch. This was a fascinating and challenging process, and gave me a new appreciation for both the art and engineering of jewellery design.

The first step in the process was to make a collection of existing designs that we both liked. Heather already knew that she liked diamonds with a step cut shape (such as the emerald cut) so this narrowed it down. Here is one of the pages of our initial design exploration:

We visited a local jeweller, who showed us some designs in similar styles. There were a few features that were missing though; for example, I really liked the gap between the center stone and halo in the vintage ring. For practical reasons I also wanted to design a ring that had a low side profile, as I had nightmares about Heather losing a ring finger in machinery.

Granted, I’m sure a good jeweller could have designed something fitting the bill, but I had been doing a bit of CAD recently and I thought… how hard would it be to design a ring myself?

(The answer, it turns out, is that it’s surprisingly hard if you haven’t done it before. I did intermittently find myself wishing that I was working more closely with a jeweller, but it was a labour of love…!)

Here you can see the evolution of my design in Onshape, from an initial shape, to the detailed design of halo and shoulder, and then some final changes based on manufacturing feedback:

Continue reading

Posted in Other | Leave a comment

Splines in Onshape, part 2

In part 1, we talked about 2D splines and how they can be created in Onshape sketches. In this second part, I’ll briefly cover drawing splines directly in 3D, and then discuss offset curves, which are the original reason I started on this long journey delving into Onshape curves. Continue reading

Posted in Computing | 5 Comments

Splines in Onshape, part 1

Introduction

First can I say how much I love Onshape. I have no association with the company other than being a user, so you can trust that this is real, genuine puppy love. Onshape provides much of the functionality of parametric CAD systems such as SolidWorks in your browser, which at first sight seems like magic. Since I’m a Linux user and the native CAD landscape on Linux is quite limited, being able to do CAD in a browser works brilliantly for me. Even better, it’s free for non-commercial use.

My first little project in Onshape, several moons ago, was a vertical illuminator for my home-brew microscope. The problem I had was that when using high magnifications — which require the lens very close — I couldn’t get enough light in under the lens to illuminate opaque samples. A vertical illuminator is the solution to this problem, sending light down through the lens via a beamsplitter. I designed the physical parts in Onshape, exported to STL format and uploaded to Hubs (previously 3DHubs); a local maker printed the parts and within a few days I had it back and working.

Scripting in Onshape

Onshape has a scripting language called FeatureScript. FeatureScript allows extending the Onshape interface with domain-specific tools (features as they’re known in Onshape). For example, if you are doing furniture design in Onshape, you can write features that produce panels and joints and then do high-level design in the user interface, rather than having to work with low-level primitives such as lines and boxes. Clearly this can be a huge boon to productivity. Here is a screenshot from one of the Onshape demonstration videos showing a custom box joint feature that, once created, can be used just like built-in features:

As a programmer and perfectionist I like the idea of writing code to simplify the CAD process rather than spending hours placing parts in a GUI. Prior to Onshape I’ve used OpenSCAD a few times. But for complex designs it gets difficult to mentally keep track of what’s where without having a live preview, and OpenSCAD rendering can get very slow once you start chamfering, filleting and making things pretty. This is where Onshape and FeatureScript shine.

Recently I’ve been doing a bit of jewellery design in Onshape, and this involves a lot of curves and curved surfaces. While I can approximately create the curves I want in the GUI, I wanted to do it programmatically in FeatureScript. Unfortunately a number of the functions that I needed to use were minimally documented so I had to do a lot of trial and error in the process. This article is an attempt to explain some of the missing links for those following in my footsteps.

Onshape is still being developed at a breakneck pace, and since I started writing this article there are now a number of new features related to curves including the option to directly create splines in 3D. I’ll start, though, from the ‘traditional’ way of creating curves in Onshape — by creating them in a 2D sketch and then lofting/extruding/etc. — and I’ll briefly mention 3D curves later in the piece. Continue reading

Posted in Computing | 5 Comments

Dell Venue 11 Pro travel keyboard troubleshooting

Introduction

I recently purchased a pair of Dell Venue 11 Pro 7140 tablet computers — one for myself and one for my girlfriend. I figured this would be a good crossover device between a tablet and a laptop, and so far I’m not disappointed. One important reason I chose this model is because they are more easily serviceable than other comparable offerings like the Microsoft Surface Pro line; the Surface Pro is glued together in a way that is difficult to disassemble and reassemble, which makes me very unhappy. Batteries have a limited service life (as I know all too well from my last post), and I don’t want to throw away a perfectly good tablet in a couple of years just because the battery is not holding a charge. Even if you don’t have any interest in taking apart your own devices, I would encourage you to consider the fixability of your device and vote with your wallet against throw-away devices. Anyway, enough of that rant.

Together with my Dell tablet I bought a keyboard. There’s two types of keyboard available for the Dell Venue 11 Pro: a “slim tablet” keyboard (K11A), which is just a keyboard and touchpad, and a “mobile” or “travel” keyboard (K12A), which additionally has a battery in it. I chose the latter version with the battery inside so that I could get more battery life out of my tablet.

I ran into an interesting problem with the travel keyboard, or at least my unit. Sometimes after attaching it to the tablet, the touchpad didn’t work. Sometimes the whole keyboard wouldn’t work. Strangely though, if I disconnected the battery inside the keyboard or let it drain completely, it would always work reliably, so I knew that it was some interaction with the voltage from the battery. Continue reading

Posted in Computing | 2 Comments

Unlocking my Lenovo laptop, part 3

The decryption function

If you are just joining this story you may want to start at part 1.

In part 2, we discovered that a embedded controller update is performed by uploading a small ‘flasher’ program to the EC. This flasher program is then responsible for programming a new firmware image to the EC’s internal flash memory. However, both the flasher program and part of the firmware image are encrypted: the old (currently running) EC firmware decrypts the flasher program, and the flasher program then decrypts the new firmware update. This creates a bit of a chicken-and-egg problem that prevents discovering the encryption algorithm from firmware update files alone. Continue reading

Posted in Computing | 77 Comments

Unlocking my Lenovo laptop, part 2

The embedded controller

In part 1, we looked at the communication between a Lenovo Thinkpad X230T laptop and battery, and discovered that there a challenge-response protocol used to authenticate ‘genuine’ Lenovo batteries. On the laptop side, this – and battery communication in general – is implemented in a component known as the embedded controller (EC). Continue reading

Posted in Computing | 26 Comments

Unlocking my Lenovo laptop, part 1

Introduction

Two months ago, I bought a new battery for my Lenovo laptop (a ThinkPad X230T). I was about to go away on holidays and wanted a battery that could last me through a plane flight; the original battery was by then barely lasting ten minutes. Little did I know that I was about to be in for an adventure. Continue reading

Posted in Computing | 24 Comments

Introduction to photography slides

These are some slide decks I used to use when I ran introductory courses for the UNSW Photography Club. They are a pretty good set of slides so I figured they should have a home on the Web.

Part I: Camera Principles (focal length, ISO speed, shutter speed, aperture, etc.)
Part II: Metering/White Balance

Bonus slide deck: Lighting and Studio Photography

Posted in Other | Leave a comment

Global food security

I went to a great lecture today by Professor Chris Barrett on “The Global Food Security Challenge in the Coming Decades”. The slides from this lecture are available here. Here are my notes:

  • Current global food demand growth is ~1.25% pa, while annual growth in supply has been falling and is now only ~1% pa.
  • This means food prices are now rising (after decades of falling food prices). 2011 was a record profit year for US farmers. This is good news for renewed investment in the agricultural sector, but until supply can be increased, the poorest will suffer.
  • Developing countries have by far the largest effect on food demand. Not only are they growing much faster than developed countries, but a much larger proportion of income increases are spent on food.
  • Currently 85-90% of food is consumed in the country it is produced. However, most arable land in Asia is already used, so rising Asian demand will require large increases in productivity per hectare or large-scale food imports.
  • The remaining unutilised arable land in the world is mostly in Sub-Saharan Africa and Latin America. Huge land grabs by foreign investors are occurring as a result. In many corrupt countries, the proceeds are going to the political classes, while the poor get dispossessed (even in those countries with property rights, many poor are not within the land title system). A 2008 Daewoo deal to lease 1.3 million hectares in Madagascar contributed to the overthrow of the government there.
  • Nutrient deficiencies in the developing world are more severe than energy deficiencies (~15% of population in developing countries are deficient in energy, 31% in Vitamin A, 33% in iodine, 61% in iron). Effects of nutrient deficiencies on intellectual development constitute a poverty trap.
  • Governments everywhere need to invest more in research on productivity-increasing sustainable farming methods, which may or may not include GMOs, to avoid excessive monopolisation of agricultural technology vital to food security. Patent reform may be required.
Posted in Other | 1 Comment

Weather balloon physics

One of the simplest solutions for sending measurement instruments up into the stratosphere is a rubber balloon filled with hydrogen or helium. While the physics of such a balloon would seem to be simple, there are actually some interesting considerations.

Continue reading

Posted in Physics | 12 Comments

New site

Welcome to the newly redesigned zmatt.net. I seem to only get around to upgrading my personal website once every decade so this is a special day indeed. The biggest change is that I now have a blog here (powered by WordPress). I used to blog on LiveJournal but I was seduced by short attention span media like Facebook, I’m trying to restart the blogging habit.

* 30% more Web 2.0 not guaranteed

Posted in Other | Leave a comment