Oh, yes. I updated the page so the animations are now under the CC-BY license. Glad to hear you like them!
gus_massa 6 hours 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.)
stunningllama 41 minutes 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.
jsmcgd 6 hours 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.
customguy 23 hours 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.
smnplk 17 hours 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.
spopejoy 15 hours ago [-]
Has anyone made a similar resource for zero-to-hero FPGA programming?
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.
adrian_b 8 hours 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.)
22 hours ago [-]
abhishek_aieng 13 hours ago [-]
Very cool, that's super useful for someone just getting started with electrical engineering.
lefra 23 hours 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.
songhonglei1985 16 hours ago [-]
[flagged]
danilor 19 hours 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?
stunningllama 18 hours 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).
amelius 9 hours ago [-]
Do the electrons in this visualization also repel each other?
stunningllama 52 minutes 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.
01jonny01 21 hours ago [-]
This would have been invaluable when I did my EEE degree many years ago. I use to draw the charge carries instead.
amelius 9 hours 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.
Mohiuddin7 22 hours ago [-]
That's really cool. I am again planning to focus more on maths n physics...Hope it helps along..thanks
p1esk 22 hours ago [-]
I wonder how difficult it would be to convert these to 3D
- 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
westurner 17 hours 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
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...
fco356pal 13 hours ago [-]
Very cool!
IshKebab 21 hours 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.
himata4113 24 hours 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.
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
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.)
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.
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.
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.)
I wonder how different those are to real simulations! Do they treat electrons as point-like, or it's all computation on the fields?
- > 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
- 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
One minor suggestion - show the voltages in all the animations.