Hello World

broke something


My name is Adam.

I’m a physicist, artist and a serial entrepreneur in training.

I co-organized a hackerspace at RIT. There, I invented a new means of making x-rays, and have left college upon the receiving a $100k fellowship to found an imaging science company in California.


This is my blog. Enjoy!

“To thine own self be true, and it must follow, as the night the day, thou canst not then be false to any man.”
Sadly, such truths are often obscured ಠ_

Luldlum Model 12 Restoration

Recently I’ve been restoring a Ludlum Model 12 rate meter. What is that you might ask?

The best ratemeter on this side of Si Valley, that’s what!

I say this, because it’s one of those rare instruments built with “user serviceable” in mind, much like old tektronix oscilloscopes. Along with its bare, “don’t touch this lest you get shocked” circuit board, it contains trim potentiometers and for nearly everything one could wish to adjust; the high voltage power supply, the pulse discriminator, the integrator dividers, as well as a switch to change the integration speed and to reset the integrator entirely. But those are just big words for people who don’t know what the hell a survey meter is!


What is a rate meter / survey meter?

A survey meter is a radiation measurement device; something that provides for a measurement probe;

  • A high voltage power supply. Most radiation detectors (eg, geiger-muller tubes) require a high operating voltage, typically on the order of 700 to 2,500VDC.  Geiger-muller tubes typically require a potential of 400-700V, photomultiplier tubes a potential of 900 to 1500V, and proportional counters a potential of 1200 to 2500V.
  • A pulse discriminator. During a count events, an electrical pulse is formed across the radiation detector. On some detectors, such as neutron proportional counters, this magnitude of this pulse is co-relates to the detected particle’s energy. The discriminator is a circuit capacitvely coupled to the probe’s high voltage power supply which monitors these pulses, and triggers a count event if the pulse exceeds some magnitude. By adjusting the reference voltage, one can discriminate between say, a neutron, and a gamma ray.
  • An integrator. This is just some display mechanism that integrates the pulses, to give a “counts/minute” measurement. The accuracy of the integrator is of course, highly dependent on the length of time which it is active.
  • A speaker. Click-click. Click-click-click-click.

Naturally, being able to adjust all of these things means you can use a Ludlum-12 with any probe you wish!


My rate meter

Ludlum-12′s in working condition are notoriously hard to find, as they’re highly coveted instruments, and no one lets go of a working one easily! As such, I bought mine semi-broken and much beat-up. The meter I acquired had lost its voice at some point in its life, and was in much need of a face-lift.


In all her pride and glory

WIN_20140906_103228 (2)

Analog dreams

By “losing its voice”, I mean that my meter had no ability to make sound. This is rather unfortunate, because while it might seem like only a minor inconvenience, those clicks could be the alarm one needs to learn whether or no one is in a radiation field!

The Ludlum-12 is an entirely analog instrument. Nowhere on its board exists any form of proprietary turing machine, which is rather fortunate as this makes it quite repairable. So where was the damage? Here!


Ludlum-12 Audio Circuit, courtesy Andrew Seltzman

The audio circuit in this machine is rather simple. An astable multivibrator (CD4098) is triggered by the pulse discriminator (not labeled), which creates a few-kHz audio tone that’s fed out of Q2 into a NAND gate (CD4093). This NAND gate, being of the schmitt trigger type, squares-up the signal a bit, where it’s then further buffered by a second NAND gate and sent into a piezoelectric speaker. The audio “mute” switch is simply an SPDT toggle that holds the multivibrator’s RES2 (reset) pin low. These are the two ICs that somehow failed in this meter; likely due to some sort of electrostatic event given that they’re old and of fragile design. Interestingly, the multivibrator failed in such a way that pulses were able to make it out of Q2, but not periodic square waves. Weird. Replacing these ICs fixed the issue.


The Facelift

Whilst fixing this meter I was convinced by a fellow artist to make it snazzy.


Get Funky

The above was done with rust-oleum enamel, masking tape, and a razor blade.



Though I will eventually use this as a scintillation meter, I needed a probe for testing purposes. Not having one on hand, I decided to use a Navy surplus GM-tube that had been collecting dust for some years. Since the Geiger tube runs at a high potential (700VDC, in this case) it’s required that the tube be insulated lest I shock myself while using it. My solution, given a lack of tools was a composite tube built from paper, epoxy, and vinyl tape. Given a small coat of polyurethane for strength, it’s just about as good as one made from aluminum!


A DIY Composite Tube


Fits my Geiger tube snugly


And hosts a nice BNC connector


To make one sexy probe


The Video

No sir I don’t want spicy Mexican; I want hot. Add a dash of Radium Chloride please.

The Bass Cannon

Every once in a while I build something ridiculous, and this would be one of those whiles.

Ladies and Gentlemen of the internet, I present to you what I understand to be the world’s first Bass Cannon.



What is a “Bass Cannon” you might ask?

It’s a weapon of mass destruction. A party on your shoulders. Something to frizz your hair with. Something to peeve your neighbors.

It’s when you get when you take

  • An AirZooka
  • A pair of voice coils
  • Epoxy
  • Miscellaneous analog parts
  • A class D amplifier
  • A lithium-polymer battery
  • Birch plywood
  • Threaded rod
  • A physicist with too much time on his hands

And put them all together in a room with a soldering iron, and a laser cutter.

WIN_20140904_173907 WIN_20140904_173918

WIN_20140825_232241 WIN_20140826_105252

I’m not going to try to flaunt, nor will I make a step-by-step guide on how to construct one of these contraptions. That said, if you’d like to make a portable party for yourself, the above photos, and the below schematic should be enough to get you started!


In truth there’s not a whole lot of fancy engineering that went into this project. It’s a mono audio system with a pair of x-pass filters, a power amplifier and suitable drivers. It has no battery management or protection circuitry, though, that’s a simple thing to add if you do feel it to be absolutely necessary (hint; use a relay, a BJT, a zener diode, three 1% tolerance resistors and a comparator).

Two potentiometers set the channel gains for the the pair of first order filters; one high-pass for the midrange driver, and one low-pass for the woofer. A PYLE “PLPW8D” voice coil conveniently seats snugly within the case of the AirZooka, leaving just enough room for a mid-range driver to be placed in front of it with threaded rod as a support structure.

Initially I had concern as to whether or not this assembly would shake itself to bits upon use, but fortunately that was not the case.

Instead, it shakes the windows.



What I’ve learned, Δt = 3 – Epinephrine is a scary chemical

I don’t update my blog as frequently as I used to and likely for good reason; who really cares about the particulars of my work?

Nonetheless, it’s good on occasion to write down my thoughts, lessons, and other fun stories, if for no other purpose than to not forget what I have learned later on in life.

So what did I learn in these past months? Let’s observe, chronologically.


May 2014

May of 2014 was an interesting month. At its beginning I was granted a fellowship; one I had applied for a few months prior.

In summary, the fellowship is a $100,000 grant to be paid over the course of two years, to young entrepreneurs and researchers whom chose to leave university and pursue a project of their choosing. The project I had applied with was the one I had set on the back burner whilst organizing The Construct @ RIT; a challenge to build high power, portable radio-graphic imaging devices (x-ray machines).

Immediately upon news of its receipt, I handed The Construct off to my co-founder, and got to work.

Not knowing where to begin, I started drawing an engineering flowchart, describing how I would best engineer the device I intended to build. I figured this was necessary given the scale of the project, and the experience I’ve had with other projects passed; where I’d often be inquiring within myself throughout the design process, “what needs to be done next?”

For about two weeks, things were fine. I would wake up, begin drawing designs in onenote, go to classes, then return thereafter to the sketches at hand. Following encouragement from friends I decided that my work was not moving fast enough, and so I began to work at night, also. This is when my life started to lose a little bit of sanity; as time advanced, I became more and more consumed with my work, and less and less concerned with anything but.

“This is it!” I began to tell myself. “This is my opportunity, let’s not blow it! 

Within 3 weeks, I was running on pure adrenaline (epinephrine), to such an extent that food was not even on my mind. In one months’ time, I had written a 277 page book that included;

  • An introduction.
  • A comic series of my life story, to introduce myself to people reading the script.
  • A gift to a person whose charisma inspired me to apply for that fellowship.
  • A thesis statement on disruptive innovation, and how it has historically happened.
  • A business plan of sorts.
  • Designs for a software tool to help organize data within the business.
  • A list of people I’d like to gain help from.
  • A product (the x-ray machine).
  • An invention / engineering solution which would allow me to build the aforementioned in a way no other could.
  • Documentation of the working prototype I had assembled in high school.
  • A 70 page engineering flowchart.
  • A conclusion.

277 pages. In one months’ time.


Following the book’s completion, I bought a trailer, filled it with my things, and high tailed it to California.

By this point I had lost 30 pounds, was sleeping only 4 hours a night, and was completely unaware that what I was doing did not matter to anyone else but myself. Nothing I did seemed to exhaust me, and nothing I did appeared rational to anyone else watching. This of course, scared all of my friends whom are used to seeing a highly intelligent, calculating, tactful and quiet Adam. Yet, I heard almost nothing but encouragement throughout the whole process, which did not help make my situation better.


June 2014

device 1

In June I had arrived in California, and boy, did I make one hell of an impression to my new roommates there.

Is he psychotic? What he’s doing is amazing, but rash!

At this point I was still high on endogenous hormones, and once I had settled down I got right to work again. Within one more month, I had accomplished;

  • A patent for a new x-ray tube, with beautiful artwork.
  • Pages upon pages of product designs, describing exactly what it was I wanted to engineer.
  • A firm opinion established among my new friends, that “Adam is a crazy fuck”

Honestly I don’t remember a whole lot from this month, other than that I was continually making decisions upon almost pure emotion, and pumping out designs like mad. In many ways, I had even forgotten how to socially interact with the people around me, and further I could not seem to understand why I was making these mistakes.

June, though incredibly productive, did not bode well for my relations with those around me; both with roommates and investors. Along with my health, my emotional stability had all but vanished, and in summary I had become an engineering machine, and nothing more than that as a person.



July 2014

table of contents

July started off much like June; I was still actively working on artwork, a product pitch, schematics, plans, and doing so at an alarming rate. I continued to make rash decisions, but about midway through the month I began to start recognizing these mistakes, and I began learning from them.

At the end of this month I had a second book compiled; one that was still unprofessional but a bit more sane, and much more focused than my last. Now mind you, I was still living in a fog, but my sleep schedule began returning to normal, and my work began to slow down. My new friends in the bay area had started to recognize that no, I am not in fact psychotic, but perhaps just a bit rash in my decision making. Unfortunately for me, the San Francisco start-up community is one full of confirmation bias and it’s difficult I’ve learned, to recognize your mistakes when you have many people around you, cheering on your advancement.  

Then, I made the mistake of giving that book to some investors in my still highly-adrenalized state, unable to recognize its apparent “childishness”.

I had filled the book with comics.

All I can do at this point in time is look upon the work and laugh. I had over these two months made significant advancements to the state of the x-ray industry, advancements that if carried out in practice could very well be worth many dollars to General Electric / Siemens / Phillips, et cetera. Of course, these are just words; bold claims until I do in fact follow through with the work described therein.


My equivalent to the “Apple I”


August 2014

My goal in August was to do just that; to follow through with the work I had planned to do. That was the plan, but what happened in reality was a bit different. After failing to receive the money I needed to move forward, I decided to just… take a weeks’ break. The first I had taken in months.

Four days into it, all I could do was sleep. And sleep. And sleep some more. Sleep, then wake up with near-zero energy, and zero motivation to do anything but rest. Soon, my imaginary world came crashing down, a weeks’ worth of depression set in, and I decided to put the project on hold until I could figure out what the hell was wrong with my decision making.

As one would have it, nothing I could have ever noticed. I had been living in ”fight or flight” mode for months, and giving myself that short break was the simple trigger I needed to get my homeostasis back in order. In the final third of August, my moods returned to the rock-solid stability I had prior to April, my mind cleared and I began to recognize all of the stupid decisions I made during my 3 month “superhuman journey”.

Granted, the energy and motivation I need to move forward still has not fully returned, but, it is coming back slowly as I continue to obtain proper amounts of rest, relaxation, and food.


Pushing Onward

Adrenaline is an interesting drug. I look now in amazement upon all of the creative, brilliant work I had been able to accomplish this past summer, and look back in horror but with equal amazement, at the foolish social decisions I made during that same time. I look to the future now with hope and a sense of direction, and I live in the present with happiness, contentment, and a firm understanding that life should not be rushed, and taken instead one day at a time.

It is not useful to feel like you are under timed pressure in this world when you are in reality, not. I state this because fundamentally humans don’t seem to work well under such pressure, real or imagined. Stress hormones and neurotransmitters get released which cloud our decision making and render us completely incapable of understanding not only our own mistakes, but  incapable also, of experiencing the present sense of happiness and contentment that modern life in western society allows. We become moody creatures, and lose touch with the rational minds that makes us the amazing monkeys we are.

Look around you; are you under attack? Are you cold? Are you hungry? Are you any way, in danger of dying?

If not, then be thankful. You are better off than the majority of life on this planet, and any discontentment you may feel is likely existent only within your mind.


All experience is preceded by mind,
Led by mind, 
Made by mind.
Speak or act with a corrupted mind,
And suffering follows
As the wagon wheel follows the hoof of the ox.

All experience is preceded by mind,
Led by mind,
Made by mind.
Speak or act with a peaceful mind,
And happiness follows
Like a never-departing shadow.



-18dBm of cats

I moved California. More about that on another post.

Since then, I’ve (well, we’ve) had wifi problems, specifically ones emergent of what I consider to be some terrible MIMO radios. Periodically, our router [Netgear WNDR3700] would dump everyone on the 5GHz band, and disable the radio for some 20 minutes. This turned out to not be a software issue, as openWRT did not solve the problem.

This was my solution; I figured it was worth sharing.


Don’t tell the FCC, but our house now has a 1W wireless N connection :-)


Thank you Adam



I do appreciate thanks guys, it’s a rare thing for me.

It’s why this website exists  :-)

“I have just read your guide about electricity and I want to thank you for making so clear a subject which has mystified me for decades. It must be said that this is the first time since school that I’ve had a go at learning about it (God bless the internet) but your explanation is lovely. Thanks for taking the time to make and share it.

I am an archaeologist and blacksmith and I have been thinking about a good area to be creative and original and I figure that just like steam engines two hundred years ago, the falling price of components means that new uses may be developed. And I’ve always wanted to build whacky electronics. Today is my first step and you made it easy and pleasant.”



“Grenadier, my jaw is dropped down to the floor reading this. This is like the very last episode of the series X-Files, where everything comes together all in one episode. I am in awe (that’s a suburb of a town in China). : ) My respect.”


Premature optimization & modeling: The root of scientific evil

As a spectator in the sport, I feel it’s worth saying that most scientists, and most engineers, are misguided. Misguided in that many spend their time trying to make new discoveries mathematically -a fools’ errand in my mind, given that models are not the nonlinear, stochastic world we live in.

Premature optimization; that is, spending all of your time analytically modeling and/or simulating systems before they’re built, is bad. It takes far too much time and mental labor, and, without any experimental link to reality to keep models on track, that is very well (and often is), time just wasted!

For example, the hours you spend modeling an IGBT in SPICE, or a transformer in COMSOL, perhaps with data pulled from spec-sheets, is time gambled. I’ve found that in almost every case, it takes far less effort, and far less time, to just build a test rig for the device and see for example, what waveforms, or what flux-densities can be achieved. Often it is the case that such measurements are far different from what your models expect, and further often, one finds that there are many further variables that weren’t accounted for in your model!

If you have an idea in mind, use your ingenuity and available tools to “just build it”. With practice one soon finds that often your guesses will work! Perhaps your design is not optimized, but, once your system is stable, it becomes a far, far easier task to optimize it thereafter than it would have been initially (mathematically). Sometimes, you’ll even find that what was initially “proven” impossible by theoretical modeling is in fact, entirely feasible, and maybe even the right way to go.

I shall now provide a case study:

Some time ago, perhaps one year to date, I set out to design a 100kHz, 30kV transformer for flyback converter purposes. The system goals were simple:

1) Take 72VDC
2) Turn it into 20kV, at 100kHz, with a power throughput of 5kW.

Initially, I did what I could to model, and simulate some designs. In doing so, I eventually found after 5 days’ work that something to this effect should be physically possible, given ideal conditions:


I then built such a transformer, and lo and behold, it sucked something fierce. This was concerning, as there were several parasitic elements taken into account; flux leakage, nonlinear core losses, stray capacitances, etc, yet still, the thing just sucked. And so, it was thrown out, and I adopted a new philosophy.

Instead of returning to my model, I proceeded to go about it the way I’m most familiar: the intuitive way. I considered instead of differential equations, the physical relationships between wire spacing, flux density, core size among other parameters, and picked values I felt were best.

elektro-kaynak-makinasiWhen choosing a core, instead of taking into account permeabilies and fields modeling, I looked instead, at published BH curves. That is, data collected by the manufacturer of cores in experiment. Graphs of core loss vs temperature, saturation flux density vs frequency, replaced my mathematica equations and scaling constants, and the “proper” physical core size was determined simply by ripping apart a switch-mode welder, and seeing what has thus far worked.

Once a suitable core was obtained, my flux density setpoint was determined not by maxwells’ equations in \(\mathbb{R}^3\), but rather, by a few turns of wire on the core, a car audio amplifier, and an oscilloscope. It took all of 5 minutes to determine that my chosen core saturates (ie, distorts my sinusoidal test signal) at about 40V per turn. Mathematically, that should have been 18-ish.

SONY DSCIn an effort to keep stray capacitance low, guided of course, by the simple concept of “a capacitor is two parallel plates”, the secondary winding was redesigned to be physically large and of few turns. Considering of course, that every flux line passing through the solenoid would contribute to induced emf, making the coil physically large wasn’t as much of a problem as some texts made it out to be.

Leakage inductance was kept low by replacing primary turns of wire, with primary turns made from copper sheet. I decided this was OK after considering that most of the current in a high frequency conductor would be flowing on the surface, anyway, so there’s little advantage to using wire. (spice model that, I dare you!)


Several more “educated guesses” eventually led to, a transformer. One that worked much better than my simulated transformer, but probably wasn’t optimized. Making notes of some errata I then followed up the

design with another revision*

*Eg, I noticed some very high density flux escaping the cores’ mating surfaces via experiments with iron filings, so I cut my primary in two to leave space for these to escape unhindered. This prevent magnetically induced, circulating currents in my primary.

…which, when all was done, worked, with only 2 days of patience and effort. Hot damn!


That my reader, is how science & engineering is done: by seeing what works. Doing so experimentally is fast, time efficient, and fun! Most others unfortunately don’t see benefit to such activity; they are too caught up in the beauty and false-reassurance of mathematics to understand that, models are only models. They are not reality, and they take time to build. Time that’s often better spent,inventing.

This applies elsewhere. If for example, you wish to design a protein, don’t waste months simulating Schrodinger’s equation in Matlab. Instead, look at NMR data of proteins similar to the ones you wish to design, understand how they function, and tinker with them. Add new groups, see what happens. When designing an airplane, CAD some interesting designs and toss them in a wind tunnel. When designing a nuclear reactor, consider not intense mathematics, but rather, your alloys, their characteristics, and the tools you have to measure and machine them. I dare you to build a model that perfectly predicts metal creep under extreme neutron bombardment!

Science is not as concrete as many imagine it to be. When going about it, don’t get lost in your head –instead, follow in the footsteps of Faraday, Tesla, Edison, Hedy Lamarr, Curie, Rontgen, Jack Kilby, Compton and countless others who’ve changed the way we see the world.

Just do it!

Plan your experiments with a pen and paper, make them work, and if you stumble on something of value, model it afterwards. Often it’s not as expensive to do so as you might think, and it gets work done faster too.

What I’ve learned, Δt = 2 – The world is broken

In many ones’ eyes I’m a poor student, consistently in my classes earning B’s and C’s. Perhaps an occasional “A” in some physics course. I’ve now come to accept this; that there are others whom have better short term memories than I do. Others who see an equation and read it through as if it were a sentence –whom can find an error in a collection of symbols faster than I can even read them.

For those like me without the opportunity to rude through these fields on the stallion of true mathematics, this is discouraging. So much so that as of late, I have become convinced that my classes and their closed-box curricula are not helping me all that much in accomplishing the goals I have set for myself.

I’m learning of course, how to solve many simplified, general-case problems. Problems others have fabricated to be solved correctly in only one way, for the ease of others hired to evaluate how well students solve such problems given limited time. And while that is great exercise, and gives some children the self-esteem and courage needed to peruse a career in their chosen field; that’s not the way such fields work. The real world today is numerically simulated, usually, with the help of software.

To say I’ve learned nothing though in my stay thus far at RIT would be a lie in its most general form. I’ve had the fortunate opportunity to learn things about life many others haven’t yet seemed to notice; things too countless to tally.

I have learned that unfortunately the world is a sad place to live in. Most, if not two-thirds of all people are only out to cheat you. They’ll do so if it’s beneficial to them financially or socially, and whether they take on the title of car dealer, insurance agent, lawyer, businessman, scientist, doctor, artist or engineer is irrelevant -for many, dollars speak louder than friendship.

I’ve learned that people in power are often there solely because they wish to be. I’ve learned that police departments, and the systems of law we have in place to empower them are fundamentally broken, in that criminal records and jailtime do nothing for this society but socially force others back onto the same roads that such punishment is intended to keep untraveled.

I’ve learned to at all cost avoid political discussions. I’ve learned that many drug ‘abusers’ have some of the biggest hearts you’ll ever find in a person, and that saving your own money with the hope of in the future paying others is fruitless if you wish to pay them well.

I’ve learned that academia is in a state of despair; papers are published not for content but instead for numbers, and the other metadata attached. They are evaluated based on how complex and unintuitive their simple concepts have been twisted to be, and professors are hired and judged not on the importance of their work, but instead on their number of citations and the value of the grant dollars they bring in. It’s heartbreaking to see them, at one time young wide-eyed students themselves, forced to continually write unread proposals instead of moving forward the arts and sciences they so love.

What I feel is my most prudent lesson of all however, is that everyone needs help.

Whether it is help in something as simple as a math operation, or as complex as coaching someone off the brink of suicidal despair, help from others, is fundamental to solving problems. No one goes about large projects on their own and if they claim to, they are fools and pompous liars.

Forgoing such help in my past projects has brought me to a state of mind where hours of the day have become irrelevant, and it has brought me to a state where the only thing that ever matters, is “what needs to be done next?”. It has brought me to such a state of physical and mental torment that I have forgotten to eat for days, and on occasion forgotten to sleep as well. It’s now unclear even, how to recognize that I am tired.

Forgoing help, has brought me to a state where my only means of available relaxation and rest, were the forced escape of alcohol and cannabinoids. I’ve found myself socially into a world of work-abusers; a world where people –even ones so young as junior undergraduates, have become reliant on cocaine and amphetamines just to get done the work they have promised others; work that could be done easily if they would just ask for help.

This ends now.

It is exceedingly humbling to recognize that the advice offered by my first mentors at this university was correct. If I’m going to move forward with the projects I anticipate to complete, I need to be talking to people and not transistors. I am very fortunate to have spent nearly 15 years of my life doing the latter; in that, the experience I’ve thus far gained is one most haven’t the chance to have until age 30. However, it takes many hands to build an airplane, or in my case, what I wish to be a paradigm-shifting x-ray machine.

That said, the state of research science is still broken -broken enough, that I cannot expect such a project to move forward under the roof of my, or other universities in finite polynomial time. Instead I need to find a team, money, and some modern equivalent of Dave Packard’s Palo-alto garage to make this happen. I shall look for that then, once I have finished the hackerspace project I’ve promised to oversee and complete.

It’s time to learn how to ask for help, and how to coherently organize thoughts and people. It’s time to learn how to write, and how to intuitively understand others’ complex emotions, as well as the mass emotions of a crowd. It’s time to learn how to rip through published articles and extract their useful content, and it’s time to understand the mess that is law; both patent, and criminal. It’s time to do this while I’m young, impressionable and have relatively little to lose.

In any case, a degree in these modern days of social connection and access to limitless information, is irrelevant to my desired career of, “inventor”.

Heisenberg’s Uncertainty Principal: The actual content of quantum theoretical kinematics and mechanics


Upon reading chapter four of my assigned physics textbook [Modern Physics, Krane], I grew both tired and annoyed with the generalizations, or “leaps of faith” which author continually made. I soon found it more useful instead, to spend time reading the papers upon which these principals have been derived. Astonishingly however, I failed to find a modern, usable English translation of Werner Heisenberg’s landmark paper! More unfortunately even, the closest I did come on the hunt for such a translation was the discovery of a broken-english, NASA OCR script from 1988 hosted on the web archive. That won’t do.

Thus utilizing a day’s time, Google translate, MathJax and my personal skills at reading broken-english datasheets, I below have provided a modern translation of W. Heisenberg’s paper. For convenience of the reader, I have replaced some original variables used in the paper to more represent those found in common texts today. New notations such as euclidean norms (i.e, \(|f(x)|\)) have been instated, as well.

Dr. Heisenberg’s various justifications alone make for an interesting (and perhaps, very useful!) read, but for those short on time I have prepared also, a “too long, didn’t read” summary immediately preceding.


TLDR Summary

CaptureIf we are to derive a model that quantizes space, perhaps to cells with lengths some finite dimension \(h\), then we are left with in the space \(\mathbb{Q}^2\) for example, a 2-dimensional grid of possible positions. Objects in this grid then, may be given some arbitrarily-defined co-ordinate, \(q\).

q of course, is a function of \((x,y)\) inside \(\mathbb{Q}^2\). \(x\), and \(y\) may only be integer multiples of h, or specifically:

\(q = \left \{ \forall (x, y)*h\in\mathbb{Q}^2 \right \}\)

(don’t be scared, I’m just having fun with LaTeX!)

CaptureNow, if \(q\) is a function of yet another quantized variable, \(t\), then \(q(x,y)\) may be broken into \(q(x(t),y(t))\).

Thus if it’s fair to say “\(q\) can move as time advances integer multiples of h”, then it is possible to define some distance \(q_x\), that \(q\) has moved in that elapsed time \(\Delta t\). We may thus define a 1-dimensional “velocity” \(v_x = \frac{\Delta q_x}{\Delta t}\).

\(q\) however, is not a continuous function in this space, as it may only take on discrete values, themselves integer multiples of \(h\). Therefore it is useless to define “the velocity at a point”. More generally, \(q\)‘s average velocity for any time interval, \(\Delta t\), smaller than \(h\), is not definable.

Restated, only values of \(q_x\), or \(v_x\), can satisfy the below statement;

If time advances as \((integers) * h\), then \(\Delta q_x \geq h\) if our definition of “velocity” is to make any sense.

By extension, momentum in this direction, which is defined as \(m v_x\) must satisfy \(p_x \geq h\), if \(m\) can be no smaller than \(h\) as well.

Now consider the thought:

What if we were to look at the object \(q\), with absolute precision? That is, \(q_x\) is exactly defined, and \(\Delta q_x = 0\).

Then, if \(v_x\) is a function of \(\Delta q_x\) then as \(\Delta q_x(t \rightarrow 0)\), or “the change in \(q_x\)” approaches zero, then the function \(v_x(\Delta q_x(t \rightarrow 0))\) becomes indeterminate. This relation works on the converse as well, such that the relation:

\(\Delta q_x * m \Delta v_x \geq h\) is justified!

In our 3 dimensional world \(\mathbb{Q}^3\), this equation becomes the familiar Heisenberg uncertainty principal:

\(\Delta q_x\;\Delta p_x \geq \frac{h}{2 \pi}\)

The factor of \(2 \pi\) is a geometric normalization.

The origins of this relation’s elegance are plain to see: it is one derived from simple principals! Below, Heisenberg purports similar arguments exist for an energy-time relationship, and proves both relations are just as true for wave-functions as they are for discrete, “particle” functions. I’ll leave that lesson to be a test of your reading comprehension skills, however.


Über den inhalt der quantentheoretischen anschaulichen the kinematik und mechanik (or, the actual content of quantum theoretical kinematics and mechanics)

W. Heisenberg, a modern translation by Adam Munich

Continue reading

Bad documentation: Engineers can’t write, and Marketing folks are full of crap

No, really.

For the past week or so I’ve been configuring my STM32F37x series microcontroller. Specifically one from the chip-tray STmicro custom-fabbed and hand-delivered to me (all I wanted was fedex ground!). This adventure has been one with fortune, and failure.

Delightfully this microcontroller was engineered proper, unlike the TMF320′s which gave me so much woe last month. That is to say, it responded to my initial st-link JTAG requests immediately and without issue, and hasn’t given any connection troubles thereafter. “Bricking it” does not appear to be a possibility given that all fuse bits are write-protected during its user-flash sequence, as well as its bootloader and other really important things. TI, please take a lesson from ST and write protect your non-program pages!

ST unfortunately does not maintain an IDE for their microcontrollers. Instead users are forced to use one of four commercial IDEs, the most notable of which are MDK-ARM (keil) and IAR workbench. I assume that this course of action is what allows [legally] for them to provide *so many* freeware peripheral drivers (many are in fact, developed by those who make these IDEs), but still, it’s a bit awkward having a 32k code limit on the freeware versions of such workbenches.


That’s where the fun appears to end, however. ST needs a librarian. Really. Or a new webmaster. After much struggle and somewhat-of an implicit “go to hell, plebeian” response from IAR support, I settled on Keil/MDK-ARM. While it’s UI leaves a lot to be desired, overall I’m quite impressed with its capabilities. Its compiler (not GCC!) compresses code like a champ, it has built-in core config files for nearly every ARM available, and its debugger is nothing short of amazing. I can snoop on local variables, even!

Although the company has many examples, datasheets and programming guides for their microcontrollers, it took communication with an engineer to find any of it. As one would have it, the collection of STM32F37x peripheral drivers was buried in a folder, inside a folder, inside a zip file, inside a lonely webpage, itself linked to only by one non-emphasized link in the “design resources” tab on the STM32F373RB’s  product page. I kid you not.

It gets better though; as it turns out, while much documentation exists on the microcontroller’s busses, core, peripherals and their registers, there’s absolutely nothing about their C drivers.  That is, nothing but the little /* @brief statements */ contained within them.

While inconvenient, this wasn’t a showstopper. Fortunately many of these helper functions directly correlate with the configuration registers documented in their big book, and every peripheral has several C examples to give the designer an idea of how to use them. That said, some functions do not work unless others are called beforehand, and it’s often a mystery as to what their proper order is. 

Some tips, for my reader:

• Enable your clocks! Every peripheral has an RCC_blah clock command which must be run before the device will work, and some others also have a PWR_blah command that must be set before even that. Nothing throws an error if these aren’t turned on,  and quite frankly it took me 4 hours to debug timers because of it!

• Disable your watchdog. There’s an unconfigured watchdog timer enabled by default in the option bytes, that will repeatedly kill your program unless it’s turned off. This took another 4 hours to debug.

• Use this tool to write your sys config file (for the stm32f37x only). The microcontroller won’t throw any errors if the sysclock is misconfigured, and again, this was a real bitch to debug.

• Be forewarned; despite what some of ST’s configuration programs (cubeMX, microXplorer) might imply, that you cannot arbitrarily define analog pins as differential pairs. Rather, the pins must be labeled in the form SDADCx_AIN#P, SDADCx_AIN#N, where # is some channel number. I’m going to need to fab new boards because of this.  ಠ_ಠ

• This powerpoint has been the most useful piece of documentation I’ve found yet.

Some 30 hours after first contact I eventually did get things configured. As of now I have clocks running, timers counting and ΔΣADCs sampling. There’s still an ADC, USART peripheral, DMA and interrupt table to configure before I can *actually* start crunching vectors in \(\mathbb{R}^3\), and given the pace of current progress I expect that to take at least another week. Oh well.

However, I did run into an unexpected problem last night around 2. Evidently, marketing engineers lie.


As one would have it, all of TI/BB’s micro-tiny “rail to rail” amplifiers are in fact, not “rail to rail”. Rather, the ones I chose to buffer my current shunts (OPA244) bottom out at 100mV, and are nonlinear for a good 50mV thereafter! This means that my nice getcurrent_float() function bottoms out at 0.9A, and doesn’t start properly working until we pass 2.5A or so through the phase in question.

Good job Burr-Brown, you get a medal. Also included is one angry customer, who now has to redesign their board to include a negative-rail charge pump that should not been needed.

Oh well, such goes “progress”. Despite their idiosyncrasies I’m happy with the STM32 product line, and will do my best to master the machine.