Screen Mirroring Guide / How To Screenshot Your Game

If you buy another pro micro they sell for around the same price as a usbasp, you’ll be able to use it as a programmer to unbrick the other.

i downloaded it, but my anti virus was like NOPE.
I think my anti virus thinks it malware because it has been modified, but that is just a guess.

Weird, maybe is the server

new server:

Sadly no, it still rejects the file. I’ll try disabling the anti virus that is being annoying (i have 2 installed so i should be fine)

I tried it, It detects the arduino. But sadly it doesn’t work :confused:
When i upload a game it just goes back to the old game and the program is having the same hanging issues :face_with_raised_eyebrow:
But the screen mirror feature does work now!

btw this is what my anti virus reports:

It should be nearly impossible to truly brick an Arduino Micro. The bootloader protection fuses should have been set properly from the factory.

You may have to use the reset button, though.

A hint for when following the video:
Go into the Arduino IDE preferences:
File > Preferences
and check the box for Show verbose output during upload
Start the upload and then wait for the port scanning, with the ports showing in curly brackets, to start before pressing the reset button.

Thanks, i’ll keep that in mind if i ever run into this situation again :slightly_smiling_face:!cl

It is actually and attempt to “heuristically” guess. Since it was modified I guess that count as a virus. I invite you to use the editor and edit the exe yourself.

Okay, I’ll give it a shot!

Have you tried select Leonardo as board an upload the sketch to your Micro?
Ignoring the Rx/Tx LEDs. Your Micro will be seen as an Arduino Leonardo by the PC (Device string and VID PID are stored in the sketch) Your Micro will remain a Micro in bootloader mode though.

No i haven’t tried that, but i’ll give it a shot! :grin:

Edit: so right now it is seen as an Arduino Leonardo and the Arduboy Manager recognised it as an Arduboy! But sadly when i tried to upload something it, when it is done it still boots to the old game that was on there :confused:

What happens is that in application mode it is reconized as Leonardo when you try to upload something the manager sends the command to enter bootloader mode to the Arduino. But the bootloader is still the Micro’s one so as soon as the bootloader is entered. It is no longer detected as Leonardo and after ~8 seconds the application is started again.

You should be able to use the mirroring feature though.

If you have trouble uploading sketches with the managers you could try my python script uploader for both .arduboy and .hex files.

I am now making a screen mirror receiver for the PC, since i am having issues with the Arduboy Manager.
I think i know how to decode the serial data to receive the image by converting it from ASCII to binary and then drawing a 0 as white and 1 as black. But for some reason the image is distorted :confused:
This is what it looks like,

While it should look like this:

Am i decoding the image correctly, or is there a desync somewhere?

You don’t need to do any conversion, the ‘mirroring’ technique is literally just writing the entire content of the Arduboy’s framebuffer to serial. There’s no text encoding involved.

All you need to do is to receive the 1024 byte frame buffer (in the native screen format) and render it.

There is, if you send something using Serial.Print it’ll automatically be translated to ASCII.

This is where the issue lays, i don’t know how to translate those characters it receives to the correct color (black or white)

No it won’t.
The serial monitor interprets it as ASCII, but you can send any arbitrary bytes.

As I said, read 1024 bytes from serial, then treat them as an 128x64 image in native Arduboy screen format.

Arduboy images are stored in columns with each byte representing a column of bits where the lsb is the top of the column and the msb is the bottom of the column, as demonstrated in the image I posted before.
(The darker colours are ‘off’, the ligher colours are ‘on’.)

Oooooh, now i get it!, i’ll try that now :slight_smile:

Edit: It’s starting to look more like a normal picture!

1 Like

Looks like you’re displaying the columns upside down.

To reiterate, the least significant bit (the right hand side of the binary representation) is the top of the column and the most significant bit (the left hand side of the binary representation) is the bottom of the column.
I.e. in a value of 1111000 the upper half is black and the lower half is white.

Okay, this might be the wrong place to ask this question. But i am facing a issue that the Arduboy sends data faster than VB6 can process it. So what happens is that it is stored until the application has time to show the next frame. But then of course more frames are being send than VB6 can process. Do you maybe know on how to frame skip when it detects it is behind the arduboy?

Edit: Nevermind, i’m going to discontinue the VB6 version due to poor performance of image manipulation. I’m going to use VB.NET

I made a small Arduboy screen mirror/recording program, too.
I, too had problems with Arduboy Manager not recognizing my Arduboy.
You can save screenshots as GIF and screen recordings as GIF and MP4 with my tool.