It depends on what you understand at "Heisenberg's Microscope". In some textbooks, there are "derivations" using a potential box with infinitely high walls as a supposed-to-be simple example. But as Einstein said: There's a simple answer to almost any question, which is wrong. That's such a case. It's pretty subtle, and the box with infinitely high walls should not be used as a simple example to beginners of quantum theory. The point is that for such a particle, the notion of momentum as an observable doesn't make sense, and of course, it's an academic problem anyway, because there's no such thing as an infinitely high potential box in nature.
The correct uncertainty principle is pretty easy to prove. It only uses the positive definiteness of the scalar product of Hilbert-space vectors. So let ##|\psi \rangle## denote a proper Hilbert-space vector, normalized to 1:
$$\langle \psi | \psi \rangle=1.$$
To make things simple, we consider a particle moving in one dimension and use a reference frame where the average position and momentum of the particle are at 0:
$$\langle \psi |\hat{x} \psi \rangle=0, \quad \langle \psi|\hat{p} \psi \rangle=0.$$
This can always be achieved by a unitary transformation, describing a boost and a spatial translation, so that it's no restriction to generality.
The the standard deviations are simply defined by
$$\Delta x^2 = \langle \psi|\hat{x}^2 \psi \rangle, \quad \Delta p^2 = \langle \psi|\hat{p}^2 \psi \rangle.$$
Now consider the ket
$$|\phi \rangle=(\hat{x} + \mathrm{i} \lambda \hat{p})|\psi \rangle, \quad \lambda \in \mathbb{R}.$$
Now the positive definiteness of the scalar product implies
$$\langle \phi|\phi \rangle \geq 0.$$
Using the self-adjointness of ##\hat{x}## and ##\hat{p}## and the assumption ##\lambda \in \mathbb{R}##, you find after some algebra that this implies
$$P(\lambda)=\langle \phi|\phi \rangle = \Delta x^2 + \lambda^2 \Delta p^2 + \lambda \langle \psi|\mathrm{i} [\hat{x},\hat{p}] \rangle = \Delta x^2 + \lambda^2 \Delta p^2 -\lambda \hbar \geq 0.$$
This holds for all ##\lambda \in \mathbb{R}##. Now ##P(\lambda)## is a quadratic polynomial with real coefficients, and according to the just derived inequality it either must have two conjugate complex zeroes (if ##P(\lambda)>0## for all ##\lambda \in \mathbb{R}##) or it has a double 0, if there's a ##\lambda_0##, for which ##P(\lambda_0)=0##.
This implies that the discriminant (i.e., the square root in the formula which solves the equation ##P(\lambda)=0##) must be less than or equal to 0, implying
$$\frac{\hbar^2}{4}-\Delta x^2 \Delta p^2 \leq 0 \; \Rightarrow \; \Delta x \Delta p \geq \frac{\hbar}{2}.$$
This means that in any state the uncertainty to measure ##x## and ##p## must fulfill this equation.
It is important to understand this statement correctly: You can always measure either the position or the momentum of a single particle, prepared in this state. Now you have to prepare a particle in this state very often and measure the positions very often to determine ##\Delta x##. You have to apply a measurement that is much more precise than ##\Delta x## to resolve the true spread of the position distribution. The same holds true for momentum.
Note that you never in some way measure position and momentum "simultaneously" on one particle, whatever this may mean. You often read the statement that one "cannot measure position and momentum precisely simultaneously", but as the statement above shows, that's not the implication of this uncertainty relation. To make sense of statements about "simultaneous" measurements of position and momentum you first have to define in a concrete experimental setup, what you mean by this, and then you can analyse this particular experiment using quantum theory, but you cannot make such a general statement as the above derived Heisenberg-Robertson uncertainty relation. Heisenberg never proved the general relation himself, and he got this particular subtlety concerning its interpretation wrong in his first publication on the subject. He was corrected by Bohr immediately afterwards.
The first who proved the general uncertainty relation for position and momentum was (according to Wikipedia) Kennard:
E. H. Kennard: Zur Quantenmechanik einfacher Bewegungstypen. In: Zeitschrift für Physik.
44, Nr. 4, 1927, S. 326–352.
http://dx.doi.org/10.1007/BF01391200
The general case of any two observables ##A## and ##B##, where you can use the very same derivation as sketched above
$$\Delta A \Delta B \geq |\langle \psi|[\hat{A},\hat{B}]|\psi \rangle|.$$
was first mentioned in
H. P. Robertson: The Uncertainty Principle. In: Physical Review.
34, Nr. 1, 1929, S. 163–164.
http://dx.doi.org/10.1103/PhysRev.34.163