DigitalJs: Digital circuit simulator in browser
github.com
github.com
My interests in electronics come from my interests in robotics. I basically need a tool to draw simply pcb boards, and send them for manufacturing, or at least get an estimate on how much to manufacture. This is what I want to build https://dspace.mit.edu/handle/1721.1/118671
I've been using SimcirJS [1] to teach computer architecture to a group of primary school children. DigitalJS would be a replacement if it were possible to drag and drop components from a menu in addition to instantiating with HDL. I notice that the schematic is editable, so it's very close to being able to do this. Is there a way do drag and drop components from a menu based library, each component in the menu mapping behind the scenes to an HDL module (or a child schematic)?
At first glance I would prefer DigitalJS over SimcirJS, as being HDL based it offers the opportunity of efficiently implementing things such as memory as an array in the HDL. In SimcirJS memory has to be build from raw gates (or the simulator extended), so it's quite slow to simulate an entire CPU with attached memory.
I use it to design and test circuits for use in teaching physics. Simple stuff: ohm's law, series parallel, Kirchoff's laws.
(I would like to finish my comment but just to prevent excessive downvotes...) It’s cool (at least to me) that a software can simulate the physics world fast & accurately. It makes some interesting ideas pop out of my head, e.g. making some flip/flops and compose them into a basic 8-bit CPU and simulate.
Overall it’s similar to where people get excited with minecraft. I’m pretty sure people who upvoted this article also has some interest in minecraft.
Also, though, I want to bootstrap programmable autotrophic self-reproducing automata, in order to put an end to the scarcity of capital that is such a limitation on human potential. Those automata need control systems, and despite the obvious fabrication difficulties, solid-state electronic circuits have major speed and reliability advantages over the other alternatives.
For me, because I'm interested in making electronics but never learned it well (beyond plugging LEDs and servos to Arduino, or soldering together some kits and an ignition system for a model rocket engine). I don't have as much time as I had before to learn everything the slow way of etching my own PCBs and tinkering with the soldering iron - so I'm interested in anything that lets me test out and iterate on circuit designs without having to actually build them out of physical components.
A lot of cad and simulation tools are as complex as video games. But the development cycle doesn't have the work-life balance issues that game dev does.
There are fixed-program computers like calculators (which are static combinations of circuits) and non-fixed-program computers which we simply call them computers.
Similar to a well-designed assembly language, a direct manipulation on circuit systems is also as fun as programming.
Also I think people here just like seeing software applied to interesting domains that aren’t just web apps.
I studied Electronic Systems Engineering at university, through to a first-class honours Masters degree. With the trend towards custom chips (Apple's A-series processors, Bitcoin ASICS, etc), I thought it's the future.
However, I've only been able to find jobs in software. Usually for startup companies in IoT. From 2014-2018 I moved to Taiwan to work for a microSD card manufacturing company, but even then I ended up writing control systems software rather than actually designing chips. The designs are all made in America, the silicon at TSMC, so OSE's packaging business wasn't able to use that part of my interest. I'm not trying to move to the US, so I guess I can't be a chip designer.
Hardware still interests me though, and I carry around a lot of gadgets to help me pursue projects when I think of them. Then I usually post them on Hackaday (e.g. KeyMouSerial, SMC Voltmeter).
When I get a stable address (I've been wandering around the world for a year, and now I'm waiting for a visa), I'd like to learn KiCad, and get a PCB manufactured. I've been wanting to build an EspUSB [1] for years, but they're not available to purchase. The problem is I don't know what to write to PCBWay. The design files are online, but PCBWay couldn't understand them. I'd be guessing the BOM from the schematics, and I have only one chance to get it right - I probably can't reorder if I mess it up. So I've lived without it, only using my KeyMouSerial adaptor instead.
Video is another area that's ripe for hardware hacking. HDMI input is expensive for computers. Some projectors have a Freeze button, but others don't. I'd like to build a hardware Freeze button for HDMI or VGA, probably using a CPLD or FPGA.
In some ways, this is a project where circuit simulation is useful: clock timings are important, cost of manufacturing is high, I can't just buy an existing finished product. But I don't need a web app with some virtual transistors and blinking lights (though that's fun for education). I need a professional tool, and I'm not really sure what to use for this next step.
Will I ever build these projects? I don't know. It depends as much on factors from my personal life as the availability of tools and educational materials towards this kind of project. I hope that even if I don't make it though, someone will, and will make their hardware easily available to purchase (not just a half-finished design file that PCBWay can't understand).