A full SPICE circuit simulator. In your browser. No install. 👉 https://lnkd.in/geyZp2pp Drop in a KiCad .kicad_sch file, click components to set SPICE models, place probes, run. That's it. The ngspice engine is compiled to WebAssembly and runs locally — first load grabs ~20 MB, then everything is client-side. Built with React + TypeScript + eecircuit-engine. Why: I wanted something modern where I could paste .model text straight from a manufacturer datasheet — or from an LLM. I've been using Claude to generate component models since I don't know SPICE . Component settings bind to RefDes and save to JSON, so re-importing an updated schematic keeps your simulation setup intact.
More Relevant Posts
-
Bridging the gap between embedded hardware and front-end visualization has been one of my favorite challenges lately. 🚀 I just wrapped up building a Real-Time Aerospace IMU Tracker. The goal was to pull 6-DoF motion data from an MPU6050 sensor via an ESP32 and visualize it in 3D—with absolutely zero backend servers. The biggest hurdle: Dealing with the notorious I2C handshake failures common in generic MPU6050 clone chips. By pivoting the firmware to a lightweight, hardware-agnostic library, I was able to bypass the strict ID checks and pull perfectly clean, noise-free Pitch, Roll, and Yaw data. To visualize it, I skipped the heavy Python/Node.js servers and leveraged the browser's Web Serial API alongside p5.js. The result is a cinematic 3D drone that reads live COM port data directly from the hardware. 🛸 Check out the video below to see the custom HUD in action, and feel free to check out the repo on my GITHUB! 👇 https://lnkd.in/dKYqs_M3 #EmbeddedSystems #IntelligentSystems #ESP32 #WebSerialAPI #p5js #ComputerScience #Engineering
To view or add a comment, sign in
-
The creators of SWE-Bench have launched ProgramBench, a challenging new benchmark that tasks LLMs with rebuilding major programs like FFmpeg, SQLite, and ripgrep solely from their binaries and documentation—no source code or internet allowed. Across 200 tasks evaluated with over 248,000 behavioral tests, top models including Claude Opus 4.7 achieved 0% fully resolved instances, with the best reaching just 3% "almost resolved" (95%+ test pass rate). The benchmark forces models to handle full software design, architecture, language choice, and implementation in a cleanroom setting using a minimal agent scaffold. It underscores significant gaps in long-horizon coding capabilities despite progress on simpler tasks. https://programbench.com/
To view or add a comment, sign in
-
-
An update on my Mini-C project: No-CRT calculator built directly on Win32 + Vulkan. Recent additions: - Grid-based layout system - Button interaction + hover states - Initial math function implementations The long-term goal is to build reusable low-level systems that can compound into larger engine and tooling projects. Current focus areas: - Custom UI/layout systems - Math library implementation - Platform abstraction - Renderer architecture One interesting area has been implementing math functionality directly against IEEE 754 doubles: 1 sign bit, 11 exponent bits, and 52 mantissa bits. For some operations, directly accessing floating point bits becomes useful: typedef union { F8 value; //64bit - float/double U8 bits; //64bit - integer } FloatingBits; Example: Absolute value by clearing the sign bit FloatingBits floating_bits = { .value = x }; floating_bits.bits &= 0x7FFFFFFFFFFFFFFF; result = floating_bits.value; Floor/Ceil/Truncation can be implemented efficiently using integer casts and comparisons: S8 integer = (S8)x; //signed 64-bit integer F8 trunc_value = (F8)(S8)x; F8 floor_value = (F8)(integer - (x < (F8)integer)); F8 ceil_value = (F8)(integer + (x > (F8)integer)); For rounding, I currently use round-half-away-from-zero rather than IEEE754 banker’s rounding: F8 round = (x >= 0) ? math_floor(x + 0.5) : math_ceil(x - 0.5); One of the more interesting tradeoffs has been balancing correctness, complexity, and practical game-dev usage patterns rather than pursuing full libc/scientific-library behavior. Libraries used so far: user32.lib kernel32.lib vulkan-1.lib #vulkan #nocrt #lowlevel #gamedev #c #engineprogramming #graphicsprogramming #ui
To view or add a comment, sign in
-
A type confusion vulnerability in Qt SVG allows an attacker to cause an application crash via a crafted SVG image. When processing SVG marker references, the renderer retrieves a node by its id attribute and casts it to QSvgMarker* without verifying...
To view or add a comment, sign in
-
ESP32-based air quality monitoring system using an ENS160 air quality sensor, AHT21 temperature & humidity sensor and SH1106 OLED display. Features: - Real-time air quality monitoring - OLED user interface - Python live plotting application used WiFi - Automatic WiFi AP/STA mode GitHub: https://lnkd.in/dFxdSUWY
To view or add a comment, sign in
-
What's new: 🔤 VText.DoesIntersect — text labels are now first-class collidable geometry. OBB-vs-AABB via Separating Axis Theorem, so rotated text correctly intersects circles, lines, polygons. Symmetric on both sides of the call. 🪟 Windows menu polish — Console visibility now persists across sessions instead of resetting on every Run. New Ribbon toggle. Hide both Console and Canvas and the editor expands to fill the window — a proper "just code" mode. 🧹 Cleanup — last stale F# references are gone from docs and the compiler. Existing users get the auto-update banner on next launch. Download: https://lnkd.in/gj3ebCUM #dotnet #csharp #wpf #devtools #creativecoding #opensource #geometry #Revit #Dynamo #Autodesk #ComputationalDesign #code2viz #c2v
To view or add a comment, sign in
-
-
Day 127: Jumping Through Arrays 🏃♂️💨 Problem 3660: Jump Game IX Today's problem moved away from rotations into the world of prefix and suffix optimizations. The goal was to efficiently find maximum values across jump conditions. The Strategy: • Pre-calculating Bounds: I used a dual-pass approach to find the running maximum from the left and the running minimum from the right. • Efficient Selection: By comparing these bounds, I resolved the result in a single final pass, avoiding the need for complex nested logic. • C++ Performance: I stuck with C++ for O(N) efficiency. Using std::vector and std::max/min kept the implementation clean and fast. It’s satisfying to see how breaking a problem into directional passes can simplify complex jumping sequences. Day 127—momentum is high! 🚀 #LeetCode #Cpp #Algorithms #PrefixSum #DailyCode
To view or add a comment, sign in
-
-
I've been experimenting the past few weeks getting WebGPU / Dawn rendering in a JUCE window and am making progress. There is a lot I enjoy about WebView and Three.js with JUCE, but I wanted to explore building a 3D plugin entirely in C++ to see if the added effort makes up for some of the WebView quirks. Going to put together a video walkthrough and repo in the next week or so for how to get this setup.
To view or add a comment, sign in
This is a great alternative to local SPICE. Gonna try it out this weekend!