Comparing Tinkercad to Wokwi by Koepel
Updated at 23 August 2021
| Tinkercad | Wokwi | |
|---|---|---|
| Open source | No | The simulation in the browser is on Github ✓ |
| Drag and drop circuit | Yes ✓ | Yes ✓ |
| Cheatsheet needed to build circuit | No ✓ | Sometimes |
| Simulation of analog circuit | Yes ✓ | No |
| Boards | Uno, ATtiny, micro:bit | Uno, Nano, Mega, ATtiny85, Raspberry Pi Pico (Arduino and CircuitPython), ESP32 in development ✓ |
| Use any library | No | Yes, any library from the Library Manager of the Arduino IDE. Other libraries can be added by adding the *.h and *.cpp files as local files ✓ |
| Two Arduino boards at the same time | Yes ✓ | No |
| Showing the simulation speed | No | Yes ✓ |
| Debug | Simple ✓ | I could not make it work |
| Simulated Logic Analyzer | No | Yes ✓ |
| Ledstrip | Limited | Both NeoPixel and FastLED support for any kind of ledstrip or led-matrix ✓ |
| Be able to edit the text of the circuit layout | No | Yes ✓ |
| Be able to misalign a connection | Yes | No ✓ |
| Visualy | Okay ✓ | Okay ✓ |
| Report a bug | I don't know | Yes, multiple ways and someone will look into it ✓ |
| Website | Demanding website (slow on slow computer) |
Fast website, but slow file access and file update |
| UTF-8 | Not full support in the Serial Monitor | Yes ✓ |
| Code speed | 15% slower | Same as the current Arduino IDE ✓ |
| Simulation speed on slow computer | Firefox 7% Chrome 16% |
Firefox 38% ✓ Chrome 79% ✓ |
| Get a public permanent link to a project | Yes, but very hard to find | Yes, very easy ✓ |
| Code in multiple tabs | No | Yes ✓ |
| Programming in "Blocks" | Yes ✓ | No |
| Development | Very little | Developing all the time ✓ |
| Is it behaving as expected | Yes ✓ | Yes ✓ |
| Fun factor | A misalignment is bad | There are many fun things to explore ✓✓✓ |
The Simulation speed was tested with math (calculating pi) and compared with a real Arduino Uno board with Arduino IDE 2.0.0-beta.5. The simulation was done in Windows 10 with Firefox 88 and Chrome 90 and I used my slowest computer for the test.
The Code speed was tested with millis() to measure calculating pi on a slow computer. Even if the computer could not run the simulation at full speed the resulting millis() value was the same in Wokwi as the real Uno board. Tinkercad was slower, perhaps because of other compiler options.
Tinkercad can misalign connections between components or on a breadboard which can not be seen, but they do not make contact. In the Arduino forum (Problem with second shift register 74hc595) there is a link to a Tinkercad project (Circuit design Ardu midi keyboard | Tinkercad) which had most of the diodes misaligned. Such misalignments can be hard to find. Wokwi forces to use wires, which will only be successful when the connection is made.
Tinkercad has a bug. It can not always use the delete operator in a normal way. Sometimes it can be fixed with: delete[]. If a pointer to a object is used and there is a destructor defined, then there is no solution to delete the object via the pointer. Sometimes the delete operator is generated by the compiler which will fail in Tinkercad.
Tinkercad has another bug when converting a integer to a String object, see here.
Wokwi is still in development and does not simulate everything of the Arduino Uno yet.
In August 2021, Wokwi is no longer just a simulator, because it has a Logic Analyzer and can connect to a external Serial Port.
The Logic Analyzer can capture signals from the simulation which can be analyzed on the computer (outside Wokwi).
The external Serial Port uses the Serial API of the Chrome browser. It can be used to communicate to the real world, for example a real Arduino board.
Conclusion: On 3 May 2021 the drag and drop was introduced. At that moment it became useful for beginners. In July 2021 Wokwi is a very useful tool and has passed Tinkercad with flying speed.
Tinkercad has two advantages: It can simulate a analog circuit and it can simulate a circuit with multiple Arduino boards running at the same time.
Eight months later, on 27 April 2022, the first tests were done with a custom part that is able to connect to analog inputs. That enables many posibilities.