Virtual Arduino Screen


I made a project for PC (windows only xs) that makes it possible to communicate with the Arduino. This might sound ordinairy, but i made it that way so you can draw on a "virtual" screen. With virtual i mean a screen that runs in a program on the PC. This makes it possible to test things out before trying them on real hardware, or you don't have a screen because it's too expensive or any other reason.

I know there's the serial monitor, but with this program you can draw strings, variables, rectangles, filled rectangles, ellipses, filled ellipses and lines on the screen, in color!
So if you're interested, more info can be found on my website
Download is available on the project page itself. Please tell me what you think about it and what should change.
I really hope this is useful to some people.

It is not finished yet, there are some things i'm not that happy with. Sometimes the screen flickers for no reason, and sometimes it gives an error, but i'm working on it

Looks interesting. You should add a command/commands to return current size of the virtual screen back to the Arduino. Also, you should publish the command protocol, so that others can implement virtual screen software for other platforms. Finally, adding this (in some manner) to the KS0108 library ( might be useful for some (?)…

Maybe it's worth looking at avenue33's GLCD library and implementing the same functions, that way we can write code for the 4D Systems displays while waiting for the hardware.


Well i might take a look at it, but wouldn't that be a bit of a hard way to do? or is it to keep it in one lib?

very usefull,

First thoughtI would like to be able to “inject” graphical commands from a textbox too.
Then I can test command sequences (screenshots) even without using Arduino.

Should not be difficult to add.

Thanks for sharing!

so you mean like sending the command the arduino should send, but within the form itself? sounds like a great idea ö i will implement that soon, that can save a lot of sendingtime if you want to make graphical things or static texts.

that’s really cool, thanks :slight_smile:

Exactly what I meant !

Keep us up to date :wink:

I worked a bit on it today, and i reached an early stage of the "command prompt" (that's the way i call it since it's quite the same as a real command prompt..

here are some pics (not downloadable yet, since only the drawString() is supported):

As you can see it draw the phrases on the screen, and they can be cleared with clearAll().
The promptscreen itself can be cleared too, with clearPrompt().

By now it can handle receiving from the arduino and the prompt at the same time, but to start the app you still have to connect the arduino.
The next release will be available this week when the command prompt works perfect. I'm working on some other debugging too.

If someone noticed a bug or errors or anything, please post them on my website on the blog page

looks promissing!

Major update!

command prompt added, supports most common functions, such as drawString, drawRect etc..

download available on Nick Steen - Virtual Arduino screen

a little video:

I have no immediate use for this but it does look good.

What I was referring to before was that if your function names and parameters happen to match avaenue33's library then any code written for this would port straight onto a GLCD simply by swapping libaries.


Well, i use it instead of the serialmonitor now, since it shows it nicer and cleaner than just a list of numbers.

i'm going to look for that, since it might be useful indeed, but why escpecially that lib? since there are a lot of LCD libs, and i think they're all different, aren't they?
it would be very easy, that's true..

why escpecially that lib?

No particular reason, from your point of view I suppose matching the library that handles the most popular GCLD would be best. 4D Systems displays are pretty common and that library is for them but there may be more appropriate ones around.


I'm not gonna update this for about 2 week si think, due to school project, but i will definitly have a look at those libs. It might indeed be handy to use, but then i'll have to rewrite a large part of the program xs i'll see what i can do.

Looks really good. I'll keep an eye on this project. Are you posting any source code?

I'm currently uploading the files to github, hen evertything is in order i'll post it here.
i also noticed the font command not working properly, so i'll have to take a look for that, but it will be solved