How does the streaming to PC work

Hi there!

I am having fun with my Arduboy, and i recently discovered it can stream the gameplay to your PC.
But there are some issues when i run the Arduboy Manager (Freezes often, sometimes doesn’t detect my Arduboy clone). So i want to make a application that can ONLY display the screen of the Arduboy and you have to set everything manual so it won’t have compatibility issues.
But how does the display data that is send work? I want to make this in VB6 since that is the language i am most comfortable with.

Thanks in advance! :slight_smile:

Edit. The real question is, how to decode the characters that i receive from the serial monitor? For example when i make the entire screen white i get the ÿ character 1024 times. And if i make the screen black i get 1024 blank characters. But if i do 128x64 i should receive 8192 characters if every character would be 1 pixel. Doing 8192 / 1024 would result in 8. So each character stores 8 pixels. Now i need to know what each character means and how to decode it :confused:

The Arduboy library compresses the display buffer by using one bit per pixel, so you get 8 pixels of data in each byte. This is why you are getting 1024 characters back: 128*64/8=1024

I would suggest that if you are already able to do the serial transfer of 1024 bytes then take a look at the getPixel() or setPixel() functions in the Arduboy2 library. You should be able to reverse it to figure out how to map from your 1024 byte chunk of data back to pixels:

This sort of ended up getting answered in another thread.
I don’t have the mod powers necessary to migrate the posts, so I’ll just link to them: