The Analog Thing: an open source, educational, low-cost modern analog computer
the-analog-thing.org
the-analog-thing.org
If you are a student and want to learn a bit more about how operational amplifiers, resistors, and capacitors alone can solve differential equations... you can get an educational license for Matlab for nothing and Simulink can emulate all the analog circuitry you want and more.
Another approach might be using the Eurorack simulation software VCV Rack - If there isn't an set of modules you can install that do basic gain, integrators, multipliers, comparators, etc then it would be very easy for someone to write one.
Easier with Julia, though, because the ODE and PDE support is better and you have better / simpler notation. Performance will be better as well, but for simple problems you can't tell.
just to ELI5 for folks, the cool thing about analog computers (or digital approximations or simulations) is that since they are actually integrating (storing charge in a capacitor as the voltage varies) or actually differentiating (current through a capacitor varies with the voltage differential/rate of change) they can calculate what would be very complex to do on paper.
Or more plainly, if the rate that the water flows out of the drain of the bathtub depends on the water pressure above which depends on the depth of the water in the tub, you can study all the math involved (what you did in calculus) or you can just put water in the tub and set your stopwatch (analog computer); and electrons through or in a capacitor is just like water in a tub
this is basically all that's involved inside a music synthesizer. The complexity comes from stacking together a variety of different concepts once you understand that the concepts are stackable (like when they taught you about arithmetic being commutative, associative, distributive, reflexive, etc)
So in my top level I mentioned Simulink as a nice path for students to learn modeling circuits, and in a way then could use this path to simulate what an Analog computer such as that in the original link is running.
My early forays into numerical simulation and linear systems modeling were thru Simulink, and I've built models of some very big systems in Simulink and used them in the design process of various things- typically vehicles, automotive systems; modeling powertrains, electro-hydraulic controls, EV drive cycle range simulation, etc. That was all many years ago.
I then went down the path of learning a bit of OpenModelica and as I was intrigued by the acausal approach and the open source aspect. Like anything the learning curve was steep (steeper than simulink) and I never got past a lot of clunkiness.
Then I discovered Julia a few years ago and even though I've moved on to other work, I've followed how people using Julia are modeling and solving closely, and what Chris says about how building acausal systems can be easier, and the benefits seen in ModelingToolkit.jl combined with the full Julia ecosystem all rings so true. I'm really excited to eventually see a full on acausal, block-based, yet easily extendable Simulink competitor sprout from Julia devs because as it does it will be the killer app for the language for a lot of engineers, IMO.
Funny enough, now Mathworks implements an acausal modeling approach in the Simulink GUI domain with their 'SimScape' add-on, but I have not gotten a chance to use it.
Anyway, yeah I need to get a project going to utilize some of the latest happenings in Julia modeling, and maybe find a way to contribute. Cheers to you and the other devs, Chris!
VCV Rack cannot do Zero Delay Feedback because each cable adds one sample of delay. You can do it inside your module, of course.
It would be crude and inefficient but you also could use spice and rig up op amps just like a physical analog computer if you just want to learn or if spice is your comfort zone. Or if you want to add additional analog circuitry or spice models. It’s the 21st century so it will be fast enough computationally for small to medium sized models.
- Bitwig
- Softube Modular
- Cherry Audio Voltage Modular
- VCV Rack
- miRack
- Reaktor Blocks
- Nord Modular
- Max/MSP BEAP
Can't emphasize enough how awesome Eurorack is though
Modular synths typically come with filters; analog computers typically don't. Analog computers do come with integrators which could be considered very weird lowpass filters. Likewise a differentiator can be considered a weird and always imperfect highpass filter.
Both typically come with adders, but a modular synth will call this a mixer. Both typically come with multipliers but a modular synth will often call a multiplier a ring modulator (and it might not multiply all four quadrants).
(Just to make things more confusing, at RF frequencies the word "mixer" typically refers to a multiplier rather than an adder. In the audio range, mixers are adders.)
Modular synths are designed for making sound; analog computers are designed for precise, much slower waveform generation. Its circuits might not even be capable of operating fast enough to make sound.
https://www.wired.com/story/unbelievable-zombie-comeback-ana...
Analog computers are no fun without an oscilloscope. Once you can see graphs, you get intuition about how the inputs affect the outputs. If you only have a meter, you have to write down data and plot.
[1] https://www.analogmuseum.org/library/heathkit_ec1_operation_...
Some "GlowFETs" in the EC-1, using only filament lighting and a long shutter https://drive.google.com/file/d/1yz1zTdI9rfBqCx4oMTaGNsTzCEH...
Inside the EC-1 showing the NE-2H neon lights plus other GlowFETs https://drive.google.com/file/d/1YPFjxrtmRunZ5u-JfgcOw3IeRiw...
Or are you thinking of building a keyboard as well.
I suppose there are probably MIDI to CV modules out there one could source.
https://www.youtube.com/@MoritzKlein0
https://www.ericasynths.lv/shop/diy-kits-1/mki-x-esedu-diy-s...
1. ~USD $535 isn't exactly 'low-cost'
2. I'm confused who the audience is.
It can't be kids--this is too advanced. It can't be engineers (or student engineers)--there are better, more practical learning tools. Maybe people with an extra $500 who just enjoy fiddling around?
A lot? Like more than 50% I am very doubtful. But maybe I'm running from different demographic intuitions.
I'm not sure how many parents would know the "proper" process.
What exactly? And how does it differ from "simulation"?
A thing is successfully ‘emulated’ when it is logically impossible to distinguish the difference between the system and its emulated counterpart.
If you can't, then this is a meaningless semantic discussion. The digital computer can emulate the analog one as well as any other analog computer can.
I somewhat discard these interpretations. My conclusion, is that emulation is about making something equal to something else under some circumstance, while simulation is about approaching emulation (under some circumstance), but not aiming or achieving complete emulation (under that circumstance). Basically, the difference between becoming equal and becoming similar. This is counter to popular usage I think, but popular usage is a bit of a mess, in my opinion.
--
One of my best friends growing up built a ton of analog mixers IRL while working at Melekko Heavy Industries... (I helped him a tiny bit create the CAD files for the CNC for the faceplates.)
Thats the one - imagine if you had an UX/UI to mynoise.net with a REASON frontend?
We should escalate this as a "bug which is missing as a feature" that they dont have a UX like this :-)
Stephane @ mynoise.net
Is amount of water in a bucket continuous? No, you can count each individual atoms. So you can simulate that by using large enough integers. Same principle applies everwhere
I’m honestly quite surprised that people are chiming in with their ‘opinions’ on proven mathematical facts.
A modern digital computer can simulate this particular analog computer beyond the noise floor. Practically speaking, that means a digital computer can perfectly emulate this system therefore it's simply a toy or perhaps for aesthetics.
https://web.archive.org/web/20220528131517/https://shop.anab...
I assume this idea has long been considered and doesn't actually work for some reason. Perhaps because implementing an order of hundred billion parameters in an analog computer isn't technically feasible? That's about how many transistors are in a CPU, and those are presumably much simpler to implement than the weights ("synapses") of a neural network.
(I know there are special inference accelerator chips, like TPUs or co-processors on smartphone chipsets, but those seem to be fully digital and not actually "neuromorphic".)
As for feasibility of doing analog inference today, it's an interesting idea and I'm not sure. Billions of parameters would mean billions of wires though, there may be substantial parasitic losses in building such a thing.
https://www.nature.com/articles/s41586-022-04992-8
It makes use of a special ReRAM ("memristor") chip. But, as I suspected, it is far too small to run large language models.
https://sites.dartmouth.edu/odame/research/asthma-symptom-mo...
https://www.oldcomputermuseum.com/electronic_computer.html
I had one as a kid and regret a) that I didn't figure it out more, and b) threw it away at some point.
Here are some links to these I have collected:
https://hackaday.io/project/177346-simple-analog-computer-el...
https://computarium.lcd.lu/photos/albums/EDMUND_ANALOG_COMPU...
https://t-lcarchive.org/american-basic-science-club-analog-c...
https://arstechnica.com/information-technology/2020/05/gears...
This screams modular system at me. And I think it is much easier to learn what all of these functions do when combining multiple senses.
The Analog Thing: An open source, educational, low-cost modern analog computer - https://news.ycombinator.com/item?id=28614840 - Sept 2021 (65 comments)
(and maybe solve the whole "good luck 'saving' the thing you just made" problem at the same time, too. cheers)
https://youtu.be/GVsUOuSjvcg?t=898 (this is a time stamp'ed link for a video mentioned elsewhere in the comments).
The Mythic analog chip [2] is pumping 25 TOPS at 3W. For comparison, modern (digital) GPUs are doing 25-100 TOPS at 50W-100W...while costing >$1000. So, its a big jump.
[1] https://www.xda-developers.com/google-tensor-g2-changes/
the physical state of all them wires? not very portable
I was looking at some of the open documentation[1] and they show schematics and differential equations alongside each other.
I just keep burning out whenever I try to make sense of these things;
Hell, you can even print it and have a calculator with mul,div,sin,log,√...