Wokwi – An Arduino, Raspberry Pi Pico, and ESP32 board simulator

Wokwi is an online simulator for Arduino, Raspberry Pi Pico, and ESP32 boards, or even your own custom microcontroller board designed to learn programming without the actual hardware.

My girlfriend’s daughter has just attended a free 5-day online course about AI, IoT, ESP32, MicroPython, and more organized by King Mongkut’s Institute of Technology Ladkrabang (KMITL) and IMAKE Innovation, a STEM education company in Thailand. I was told they had some homework for ESP32 as part of the course, so I asked her whether she wanted an ESP32 board. But she said no need. So then I asked how to program the ESP32 without the board, or do they have a simulator? And indeed I was sent the screenshot below along with a blurry video showing the LED display updated as the program runs in the web browser.

ESP32 MicroPython Simulator

Considering ESP32 boards are so cheap and external modules or a breadboard are typically required to create a project, I did not think this type of emulator would be necessary. But considering the aforementioned online course consisted of a Zoom call with over 500 attendees, it start to make a lot of sense, especially for LFH (Learn from Home) / remote education.

So that may explain Wokwi‘s popularity and it looks like a great platform for education with support for several Arduino boards (Uno, Mega, Nano), the Raspberry Pi Pico, and a generic ESP32 board programmed either with Arduino or MicroPython.

WOKWI Arduino Raspberry Pi Pico ESP32 simulator

It’s also possible to add custom boards so it’s not limited to the officially supported boards. You can start your project from scratch by only selecting a board and adding components and writing the code yourself or start from an existing project such as an ESP32 + DHT22 temperature and humidity sensor project.

Wokwi ESP32 simulator

There’s an Arduino sketch, and we can just click on the green icon to start the simulation. It will show the temperature and humidity in the simulated serial console.

You can also add more components such as LEDs, potentiometers, buttons, sensors, VCC, GND, and so on, and the diagram can also be seen in the source code as a JSON file.

Wokwi add components

Wokwi is free to use, but there’s also a premium membership program called the “Wokwi Club” that costs $7 per month or $67 per year and allows users to add Arduino libraries, upload custom binary files, connect to ESP32 WiFi, and save their projects privately. Members can also vote on new Wokwi features.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard

11 Replies to “Wokwi – An Arduino, Raspberry Pi Pico, and ESP32 board simulator”

  1. The only “bad” thing about these is that users workout access to real hardware won’t learn that hardware isn’t perfect.

    1. While I agree, having worked on various hardware platforms over the years, imagine trying to teach an online class with 500 plus students who all had various ESP32’s or telling them all they had to buy the same specific model considering how many different versions and hardware makers there are. If it was in person that might be different but online, over zoom, this is a much better solution for that scenerio.

      I need to check it out since it’s free. Sounds like it may be useful granted I have probably 5 ESP32’s sitting around currently that aren’t in use. You are right though, troubleshooting actual hardware issues isn’t something that can be done online, at least not easily as there are multiple scenarios where bad hardware is root cause and those are life lessons that require actual hardware in front of you outside possible POST beeps which still require you to go to the individual motherboard maker to determine what they mean.

      1. 100% this, though from the perspective of a student. I recently dropped a machine learning MOOC because of the very specific Arduino board the class. called for. A board I had no luck finding stocks of. And also this saves some hassle and time. I think that if people take the time to review components and leave reviews for suppliers, that can help anticipate the problems of real life hardware not being as consistent.

  2. This looks really excellent! This reminded me a program I wrote about 28 years ago, as I was a student. It was a PC simulator to help people learn how to assemble a PC. You had to connect the different power connectors, SIMM, CPU, VGA, HD, FD controllers, the hard drive, the floppy drive, the keyboard, and it would simulate a boot till the DOS prompt depending on what was connected and how, or even fire if components were inserted the wrong way. I was delighted to see an old guy manage to assemble a PC correctly at once for his first time after learning on it! Here it’s the same principle, you preserve a lot of hardare while you’re learning the basics, and stuff can become easier when you try for real. You don’t get discouraged by a lose wire or a fried sensor due to a polarity inversion for example.

      1. You got everything to work! (in the end) I am glad you told me about using ChatGPT with the Cytron board or I would have passed that review by. Nothing against Cytron, I just tend to assume their boards are more costly than I can afford.

        I swear it’s tricky sometimes, but overall easier. Learning how best to prompt seems to take a bit of practice, neither over-describing nor understating, nor misleading prompts. Goldilocks prompts, one might say.

        I mentioned Controllino’s coding helper, but at last glance they hadn’t integrated Python support for it, just C. I assume it’s how they’re using the API thus far.

        Oh there some projects that integrate the API with an ESP32 board, which has been reported on elsewhere and there are are a handful of projects from when GP-3 became open invite and onwards. I’m excited to see what else you report on in regards to combining LLM use with boards and modules.

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC