Arduino pro Micro Communication Issues

I was working on a program with an LED 5 X 7 dot matrix for my Arduino pro micro. There was a program that worked on the dot matrix and I was just making it simpler using arrays and such.

I just finished the setup and added one command in the loop just to turn on one led for testing. So I uploaded the code and I got a error stating “Serial port on COM 5 not found” even though just before I uploaded a different code.

So I did the usual… restarted Arduino, and I still got the same error.

Then I realized windows 8 was giving a bubble at the bottom right side of the screen saying “USB device not Recognized” so I figured maybe the drivers got messed up. I went to the device manager and saw unknown device (figuring that was Arduino) so I tried to update drivers with the copy of the pro micro drivers I already had. It said that the drivers were up to date. Just to make sure I uninstalled the drivers completely and downloaded a fresh copy from the Arduino website. Still it didn’t work.

By this point I thought that my computer was having issues, so I tried it on my friends windows 7 computer, it still didn’t work. Me and my friend figured we should move on. So my friend, who has been programming his pro micro on his own laptop with a different cable, uploaded my led dot matrix program to his pro micro when it wasn’t attached to anything (it wasn’t on a breadboard, so it wasn’t an issue with wiring on the breadboard) and the SAME thing started happening to his Arduino pro micro.

I have NO idea what the problem is, maybe, somehow, it is some weird issue with the code… Here is the code that I uploaded:

const int dotr1 = 5;
const int dotr2 = 4;
const int dotr3 = 6;
const int dotr4 = 7;
const int dotr5 = 15;
const int dotr6 = 3;
const int dotr7 = 2;
const int dotc1 = 9;
const int dotc2 = 8;
const int dotc3 = 10;
const int dotc4 = 16;
const int dotc5 = 14;
const int dt = 1;//for scrolls
const int timeDelay2 = 20000;//micsec//for weave
const int repetitions = 2;//scrolls
const int repetitions2 = 20;//weaves
const int scrollRate = 1;//timedelay2*scroll= duration of weave

int currentStep = 0;
const int frame1r[] = {4,0};
const int frame1c[] = {3,0};
const int frame2r[] = {3,3,3,4,4,5,5,5,0};
const int frame2c[] = {2,3,4,2,4,4,3,4,0};
const int frame3r[] = {2,2,2,3,3,4,4,5,5,6,6,6,0};
const int frame3c[] = {2,3,4,1,5,1,5,1,5,2,3,4,0};
const int frame4r[] = {1,1,1,2,2,6,6,7,7,7,0};
const int frame4c[] = {2,3,4,1,5,1,5,2,3,4,0};

const int high = LOW;
const int low = HIGH;
void setup()
  for(int i = 2; i < 11; i++)
    pinMode(i, OUTPUT);
   pinMode(15, OUTPUT);
   pinMode(14, OUTPUT);
   pinMode(16, OUTPUT);
   //for rows
   //for columns

void loop(){
for(int i = 0; i < scrollRate; i++){
  digitalWrite(frame1r[currentStep], low);
  digitalWrite(frame1c[currentStep], high);


If anyone has had this problem, or knows how to fix, please help. Thanks.

Moderator edit:
</mark> <mark>[code]</mark> <mark>

</mark> <mark>[/code]</mark> <mark>
tags added.

const int high = LOW;
const int low = HIGH;


Any reason for not posting with code tags?

const int frame1r = {4,0};
const int frame1c = {3,0};

You are defining these as const

I defined the high and lows so i could change them later in the code... Me and my friend, since we were using dot matrixes, have different wiring... So on his, his highs and lows are opposite than mine.

const int frame1r = {4,0};
const int frame1c = {3,0};

And also I defined these as constants so they wouldn't change.

Those are good questions... But instead of criticizing my code, can we please just get back to the original question.