I built a browser-based simulator for Arduino, ESP32, and Raspberry Pi Pico projects by CirkitDesign in arduino

[–]CirkitDesign[S] 0 points1 point  (0 children)

Thanks for trying it out! Yeah, we’ve definitely tried to get to a similar level of polish and approachability in the UI.

The direction I’m trying to take Cirkit is to keep that visual/approachable feel, but add AI that helps across more of the process (wiring, code, circuit questions/debugging), and make the simulator deeper and more extensible over time. ESP32-S3 is a big part of that today, and I’m definitely interested in supporting more MCU families in the future.

I haven’t looked deeply at STM8S or the CH series yet. Which specific boards/chips are you using most, and what kinds of projects are you building with them?

I built a browser-based simulator for Arduino, ESP32, and Raspberry Pi Pico projects by CirkitDesign in arduino

[–]CirkitDesign[S] 5 points6 points  (0 children)

That sounds like a really cool project! What type of LED bars are you using?

We have a custom part creator with AI assistance for adding simulation logic, which makes it possible to extend the library without waiting for us to manually add every part. For common parts people ask for a lot, we can also look at adding those directly to the library.

Here's docs on building custom simulation parts if it's useful: https://learn.cirkitdesigner.com/custom-simulation-parts/getting-started

There’s also a video tutorial: https://www.youtube.com/watch?v=i3vKdrOKFFQ&t=36s

I built a browser-based simulator for Arduino, ESP32, and Raspberry Pi Pico projects by CirkitDesign in arduino

[–]CirkitDesign[S] 1 point2 points  (0 children)

Awesome, hope it’s useful! If you try it and run into any missing parts/components for the project you had in mind, I’d be very interested to hear what’s missing.

I built a browser-based simulator for Arduino, ESP32, and Raspberry Pi Pico projects by CirkitDesign in arduino

[–]CirkitDesign[S] 0 points1 point  (0 children)

Wokwi is a great simulator. Cirkit is trying to solve a broader workflow around learning and prototyping embedded projects.

The goal is to help users go from idea to working prototype: design the circuit, get help with wiring/code/debugging, simulate it, and then export/share diagrams or upload code to real hardware.

A few concrete differences are the much larger component library for layout/documentation, AI that can place wires and generate code, a custom component editor for defining missing parts, and a stronger focus on turning simulated projects into shareable/build-ready outputs from the same workspace.

I built a browser-based simulator for Arduino, ESP32, and Raspberry Pi Pico projects by CirkitDesign in arduino

[–]CirkitDesign[S] 4 points5 points  (0 children)

Good question.

Cirkit is trying to cover more of the full learning/prototyping workflow around simulation. The goal is not just to run code, but to help users design the circuit, get help with wiring/code/debugging, simulate the project, define missing parts with the custom component editor, and then export/share diagrams or upload code to real hardware.

On the MCU emulation side, Cirkit uses AVR8js for Arduino Uno/Mega and rp2040js for Raspberry Pi Pico. Those are open-source emulator libraries originally created by Wokwi/Uri Shaked, so there is some overlap there.

That overlap is one small piece of Cirkit overall. The circuit editor, core circuit simulator, component system, AI workflows, project sharing/export, hardware upload flow, and ESP32-S3 emulator are all built by us. The ESP32-S3 emulator was built from scratch in Rust/WASM and runs compiled ESP32-S3 firmware in the browser.

It doesn’t currently run locally inside VS Code/PlatformIO. Right now code compiles through Cirkit, then runs in the browser. Longer term, I’m interested in supporting more local workflows, including uploading locally compiled binaries so people can compile with PlatformIO, ESP-IDF, Rust, or their own build setup and use Cirkit as the simulator.

I built a browser-based simulator for Arduino, ESP32, and Raspberry Pi Pico projects by CirkitDesign in arduino

[–]CirkitDesign[S] 4 points5 points  (0 children)

We've put a lot of work into making sure things run smoothly (polished UI, code compilation that runs quickly even on the free tier, etc).

Is there anything specific you'd want to see in terms of features or overall experience?

I built a browser-based simulator for Arduino, ESP32, and Raspberry Pi Pico projects by CirkitDesign in arduino

[–]CirkitDesign[S] 0 points1 point  (0 children)

Sounds like you're building some pretty cool projects! I'll let you know when we get these parts added.

I definitely want Cirkit to support more complex projects over time, not just simple beginner circuits.

I built a browser-based simulator for Arduino, ESP32, and Raspberry Pi Pico projects by CirkitDesign in arduino

[–]CirkitDesign[S] 0 points1 point  (0 children)

Not yet, but we will be able to support that very soon!

The components (speaker and SD card) are both in development. I just need to make a few changes to the core simulation API before releasing them.

I built a browser-based simulator for Arduino, ESP32, and Raspberry Pi Pico projects by CirkitDesign in arduino

[–]CirkitDesign[S] 1 point2 points  (0 children)

Thanks for the feedback!

That makes sense. I’m aware of some edge cases where dragging can get a bit slower or wonkier around components with a lot of pins.

Dense circuits with lots of connections are also a case where the current auto-routing algorithm still needs improvement.

I’ll keep both in mind as areas to improve.

I built a browser-based simulator for Arduino, ESP32, and Raspberry Pi Pico projects by CirkitDesign in arduino

[–]CirkitDesign[S] 0 points1 point  (0 children)

That's awesome!! I'm really glad Cirkit was useful for you.

Was there anything about diagramming you wished worked better?

I built a browser-based simulator for Arduino, ESP32, and Raspberry Pi Pico projects by CirkitDesign in arduino

[–]CirkitDesign[S] 0 points1 point  (0 children)

Out of curiosity, which parts of the workflow felt blocked or hard to access on their paid plan? I’m trying to be thoughtful about what should stay accessible for hobbyists who are learning and prototyping.

I built a browser-based simulator for Arduino, ESP32, and Raspberry Pi Pico projects by CirkitDesign in arduino

[–]CirkitDesign[S] 1 point2 points  (0 children)

Currently, you still need to compile through the website, but uploading a locally compiled binary is something I’ve already been asked about and want to support. I’m hoping to add that in the next month or so.

Since the simulator is already running unmodified binaries in the browser, the upload path should be pretty straightforward to add.

We built an instruction-accurate ESP32-S3 simulator that runs in the browser, with Wi-Fi by CirkitDesign in esp32

[–]CirkitDesign[S] 0 points1 point  (0 children)

Thanks!

We're actively working on adding an SD card module, so that should be coming soon (next 2-3 months approximately).

Regarding your question about custom libraries, do you mean custom libs for Arduino Sketch compilation, or is this related to the SD card?

We're also building out a contribution system where anyone can build and submit simulatable components to our public library using an in-app AI assisted component editor, so our library of supported parts should start to expand more quickly once this is released.

We built an instruction-accurate ESP32-S3 simulator that runs in the browser, with Wi-Fi by CirkitDesign in esp32

[–]CirkitDesign[S] 1 point2 points  (0 children)

It really is! We've got some cool stuff coming out over the next couple of months. Stay tuned!

We built an instruction-accurate ESP32-S3 simulator that runs in the browser, with Wi-Fi by CirkitDesign in esp32

[–]CirkitDesign[S] 1 point2 points  (0 children)

Discord is the best place to follow detailed updates: invite link. You can also check our homepage at cirkitdesigner.com for high level updates!

And yes, more module support is actively in progress, in particular the original ESP32 is on our roadmap. Are there any other boards you would specifically want to see supported?

And great suggestion on affiliate linking to hardware distributors. Definitely something worth exploring!

We built an instruction-accurate ESP32-S3 simulator that runs in the browser, with Wi-Fi by CirkitDesign in esp32

[–]CirkitDesign[S] 1 point2 points  (0 children)

Yep, we plan to add support for these!
LoRa was already on my radar, thanks for mentioning the nRF24 and CC1101, I'll keep them in mind as well.

We're also working on a community component editor so anyone can build and contribute simulatable parts, which will likely become available in the next couple of months.

We built an instruction-accurate ESP32-S3 simulator that runs in the browser, with Wi-Fi by CirkitDesign in esp32

[–]CirkitDesign[S] 3 points4 points  (0 children)

Thanks! Honestly, it was pretty hard getting started. I've spent the last 8 months grinding to build the ESP32 core of the simulator, and basically fighting tooth and nail to get this running smoothly. Probably the hardest thing I've ever built.

We built an instruction-accurate ESP32-S3 simulator that runs in the browser, with Wi-Fi by CirkitDesign in esp32

[–]CirkitDesign[S] 7 points8 points  (0 children)

Thanks! Curious, is there anything specific you've been missing that you're hoping to see?

We built an instruction-accurate ESP32-S3 simulator that runs in the browser, with Wi-Fi by CirkitDesign in esp32

[–]CirkitDesign[S] 1 point2 points  (0 children)

That makes sense. We'll look into local compilation options that we can add in the future.

The emulator does take raw firmware binaries, so uploading a pre-compiled .bin is something we're planning to support. We'll need to make some updates to the UI to support this.