Kann ich für Arduino programmieren, ohne ein echtes Board zu haben?

Ich möchte mit der Entwicklung einiger grundlegender Arduino-Projekte beginnen, aber ich besitze noch kein Arduino-Board. Gibt es eine Möglichkeit, meinen Code zu schreiben und ihn mit einem Desktop-Computer zu emulieren / testen, sodass ich nach dem Eintreffen meines Boards nur noch mein Projekt...