Show HN: I made some transistor animations

Posted by stunningllama 2 days ago

Counter206Comment29OpenOriginal

Hi HN, I made some animations of the most important kinds of transistors using my semiconductor simulation, details of which are on the page. I tried to make the visuals as realistic as possible while also aiming for clarity. If you want to go beyond the charge carriers and look at, for example, the electric field, you can do so in the simulation software. The desktop software also has less common devices like IBGTs and SCRs that have similar animations.

The last thread about my software was posted here about a year ago: https://news.ycombinator.com/item?id=43942279

Comments

Comment by amingilani 1 day ago

Would you consider releasing these under a permissive license?

I run a (Canadian) ham radio training site[0] and would love to put them in the lessons. With attribution of course.

Edit: Oh gosh, your whole site is full of wonderful illustrations. My niece might finally get her license with these :)

[0]: https://clares.ca

Comment by stunningllama 1 day ago

Oh, yes. I updated the page so the animations are now under the CC-BY license. Glad to hear you like them!

Comment by customguy 1 day ago

Ohhh. I have no real knowledge of electricity or electronics, but I know transistors are very fundamental so if you squint a bit, you might say this is what we set in motion when we program, or even just use a computer! Or at least some of it. Not knowing enough to benefit from it I learned nothing, and don't regret a second of that.

Comment by smnplk 1 day ago

You can google for "From nand to tetris" or get the book Digital Design and Computer Architecture by Harris to get the idea of how these machines work.

Comment by spopejoy 1 day ago

Has anyone made a similar resource for zero-to-hero FPGA programming?

Comment by jsmcgd 1 day ago

For people who don't have an EE background, like myself, it would be great if for each animation you could add a small explanation for the layman. Looks very cool.

Comment by gus_massa 1 day ago

Some feature requests:

IsYou have an online simulator. It'slinked at the top, but I missed it. It would be nice to add a link in ech example to the example runing in the simulator.

I tried the simulator, but I can't see the moving electrons/holes. Also, in the diode simulation, how do I reverse the battery?

Isit posible to show arrows that show the total current in each electrode? Since electrons and holes have different charge, it's hard to see the current. (IIUC the simulator can show the number, but not draw an arrow. So this may be hard to implement.)

Comment by stunningllama 23 hours ago

1. I wouldn't be able to do that because these examples are only available in the desktop/steam version.

2. Again this is feature is in the desktop version only (check "View charge carriers"). You can reverse the voltage source by setting the voltage negative.

3. That's a nice suggestion, I think I'll implement it in the next release.

I have no plans to update the web version any further.

Comment by gus_massa 4 hours ago

I used the online simulator for more time now. More random remarks:

>> It would be nice to add a link in each example to the example running in the simulator.

Why it is not possible to add the examples? Is there any technical problem or just lack of time?

>> I tried the simulator, but I can't see the moving electrons/holes.

> This is feature is in the desktop version only

I din't notice that the online version has less features. Perhaps add a fake version number like "Online simulator 1.0" and "Desktop simulator 2.0" or "lite" vs "pro"

>> Also, in the diode simulation, how do I reverse the battery?

> You can reverse the voltage source by setting the voltage negative.

It took a while to notice that a new slide bar appears when I click on the battery.

Also, it was very strange when I change the border from absorbing to conducting.

When it shows the current, all of them have the same length. I had to tweak a lot the "Vector field brightness" slide so the change was easy to see.

I had to tweak a lot the "Vector field brightness" slide so in the "Bridge rectifier" example I can only see the current in the two correct diodes.

I made a few graycolor graphics a long time ago, and I remember that I had to pick correctly the gamma or saturation. To get a nice drawing of a function f between 0 and 1, I had to draw something like 255*f(x)^2 or 255*f(x)^(1/2) otherwise the points where f(x)=.5 look too bright/dark. I don't remember which of the version was the correct (and the other is stupidly wrong). Also, the exact power instead of 2 is like 2.2 for PC and 2.4 for Mac (or the other way around, or something like that) and I think I had to tweak it a little to get the best result. In conclusion, it may be nice to have yet another slider.

Comment by eimrine 1 day ago

Do this also for triodes/tetrodes/pentodes. I would like to explore a difference between the current (as in BJT) and the voltage (as in field transistor and valves). Currently the only thing I see is that in field transistor the stream is uninterrupted and in BJT the stream is hopping across the base.

I suppose a pentode or a valve working with the grid current is not easy to demonstrate. And I believe no electrical engineer is a real one until he groks the valve theory.

Comment by adrian_b 1 day ago

> between the current (as in BJT) and the voltage (as in field transistor and valves)

The BJT is also much more accurately modeled as a device where the collector current is determined by the input voltage (i.e. base-emitter voltage), exactly like the vacuum tubes and the field-effect transistors.

There are however a few reasons why their description as being controlled by the input current is preferred in popular literature.

One is that the dependence between output current and input voltage is more strongly nonlinear than for vacuum tubes and FETs, i.e. it is exponential instead of being polynomial, so it can be approximated as linear only for very small voltage differences, of a few millivolt.

On the other hand there exists a relatively small current range where the collector current depends linearly on the base current, which is useful for mental approximate computations of a circuit with BJTs. But it must be kept in mind that this approximation is not useful for accurate circuit design, because beta (the ratio between the collector current and the base current) instead of being a constant it drops quickly both at big collector currents and at small collector currents.

Besides the great non-linearity of the output current/input voltage dependence and the approximate linearity of the output current/input current dependence, the other reason why BJTs are frequently described as "current-controlled", instead of the more appropriate "voltage-controlled", is that their input has a great leakage current (i.e. the base current), while the leakage currents of the inputs of vacuum tubes and FETs are so small that they are normally negligible.

In conclusion, one may prefer to use the description of the BJTs as "current controlled", but one must be aware of the serious limitations of this point of view. Even for mental computations, it is more useful to use the beta value of a BJT not for computing a fictive current gain, but to compute the input leakage current of the BJT conceived as a transconductance amplifier (unlike beta, which varies from transistor to transistor, the transconductance gain is the same for all BJTs), to be used for computing voltage drops in input resistor networks.

The animated visualizations are nice, but the only way to easily assess the quantitative differences between various types of BJTs, FETs and vacuum tubes is to draw the families of curves that show the output current from output voltage dependence, having as family parameter the input voltage (and also the family of curves obtained by interchanging the output voltage and the input voltage between graph axis and curve family parameter). (These families of curves being sections of the 3D surface of the graph of the output current as a function of input voltage and output voltage, but a 3D graph does not allow a precise comparison of the values in different points.)

Comment by 1 day ago

Comment by lefra 1 day ago

Thanks, I have an EE education, but I didn't really understood what charges were doing in a BJT. I can use them and apply the formulas, but I never really "grokked" them. This makes it clearer.

Comment by songhonglei1985 1 day ago

[flagged]

Comment by danilor 1 day ago

Cool!

I wonder how different those are to real simulations! Do they treat electrons as point-like, or it's all computation on the fields?

Comment by stunningllama 1 day ago

The simulation does calculations on the fields only, so it keeps track of the average electron and hole density at each point in space. There is, however, a one-to-one correspondence between the behavior of the fields and the motion of individual particles, which is what makes these animations possible. What I mean by this is the diffusion equation is satisfied by the probability density of a particle undergoing a random walk. So given an electron density that obeys the diffusion-drift equations we can make dots undergo a random walk with drift that turns out to match the given density function (the result is the second set of animations).

Comment by amelius 1 day ago

Do the electrons in this visualization also repel each other?

Comment by stunningllama 1 day ago

The electrons are repelled or attracted by the electric field, which is in turn determined by the average charge density. So two electrons in the animation don't directly repel each other, but the electrons do influence each other through the field.

Comment by abhishek_aieng 1 day ago

Very cool, that's super useful for someone just getting started with electrical engineering.

Comment by 01jonny01 1 day ago

This would have been invaluable when I did my EEE degree many years ago. I use to draw the charge carries instead.

Comment by amelius 1 day ago

I think universities are missing a course on writing a simulator of all the things you learned, e.g. Maxwell's equations and semiconductor physics for EE.

Comment by Mohiuddin7 1 day ago

That's really cool. I am again planning to focus more on maths n physics...Hope it helps along..thanks

Comment by p1esk 1 day ago

I wonder how difficult it would be to convert these to 3D

Comment by stunningllama 1 day ago

Not too difficult. Stay tuned for the 3D version.

Comment by westurner 1 day ago

- Headings w/ id= attr and a Table of Contents?

- > model vortices in superconductors or the Quantum Anomalous Hall Effect: https://news.ycombinator.com/item?id=43955906

- Nils Berglund fluid and particle sim videos: https://youtube.com/@nilsberglund

- The other day I tried having a model implement Fedi's superfluid quantum gravity for a black hole simulation in JS and then given also EHT data. I asked it to implement with R3F ReactThreeFiber and Drei (ThreeJS) and NextJS with OpenNext for the GUI and framework. I haven't yet upgraded to WASM optimization for the nonlinear fluid parts. There are parameter combinations that result in mirror-like rejection.

- (FWIU CloudFlare AI rewrote significant parts of NextJS this past year and there's OpenNext to get the full benefits of nextjs on any hosting platform)

- Another neat one to model particles of: LightSlinger antennas

- Gravity from QED, but also MHD Magnetohydrodynamics, and SQR Superfluid Quantum Relativity with a dilatant superfluid to explain why c

Comment by westurner 1 day ago

Additional things to model with an electron simulator or a particle simulator; concept sustainable computing materials from my sustainablefactory project:

- Electrons in laser-induced Graphene on Silicon Carbide

- Electrons in Boronated Lignin-Vitrimer

- Photons in Nitrogenated Lignin-Vitrimer (at cryogenic temperatures)

- Electrons in Oxidized Carbon Nanotubes (in Laser-ablated grooves in Nitrogenated Lignin-Vitrimer) after Laser Compression Shock bonds and deoxidizes them

- Boron Nanotubes; Boron nitride nanotubes (BNNTs)

- Boron instead of Phosphorous for P-type doping

- Boron instead of Gallium in GaN

Comment by lloydatkinson 1 day ago

This is one of the coolest animation/diagrams I've ever seen, I wish they had them when I did this at uni. It sure beats whiteboards with scribbles and arrows all over it...

Comment by fco356pal 1 day ago

Very cool!

Comment by IshKebab 1 day ago

This is really cool. It would have made understanding these so much easier when I was learning.

One minor suggestion - show the voltages in all the animations.

Comment by himata4113 1 day ago

it kind of looks unrealistic that there's so little flow, but I guess that makes sense for micro-sized transistors, larger ones that can handle several amps at high voltage should behave differently and would be a rather interesting comparison.