
Arduinoやマイコンのプログラムを試すには、ふつう実機の基板と配線、書き込みの手間がいる。書いては転送し、動かして直すという往復に、時間がかかる。開発者のCole Stortz氏は、この往復をなくすオープンソースのシミュレーター「VEMCODE」を公開した。基板やUSBケーブルがなくても、書いたコードをその場で動かして確かめられる。
VEMCODEは、書いたスケッチをその場でネイティブのコードに変換して動かす。エディターでコードを書いてRunを押すと、数ミリ秒でコンパイルされ、仮想のランタイム上で実時間で走る。マイコンを丸ごと再現するエミュレーターとは違い、コードを実際のC++としてコンパイルするため、動作が速い。コードを書き換えてRunし直すと、止めずに反映されるホットリロードも備える。
特徴の一つは、コードから回路を自動で組み立てる点だ。defineの名前やpinModeの使い方を読み取り、LEDやボタン、サーボ、超音波距離センサー、ポテンショメーターなどの部品を画面に並べる。動かしている間は、ボタンを押したりポテンショメーターをドラッグしたりして、反応を確かめられる。シリアルモニターから文字を送ることもできる。
デバッグ用に、シリアル出力を見るモニター、全ピンの状態変化を時間軸で並べるロジックアナライザー風の表示、変数の値を実時間で追う一覧をそろえる。対応する基板は、Arduino Uno、Nano、Mega 2560、Due、Teensy 4.1で、今後はMicroPythonやCircuitPythonへの対応も計画する。
できないこともはっきりさせている。AVRのアセンブリやハードウェア割り込み(ISR)は、CPUを丸ごと再現しないと扱えないため、対応しない。電圧や電流、短絡といった電気的なふるまいも、専用の回路解析がいるため再現しない。ライセンスはGPL v3で、ソースは公開されている。配線をつながずにコードの動きを確かめたい場面で、実機の前段として使える。

