I'm using a 5v pro micro, it's running a 24x2 character LCD and a 7 segment 6 digit LCD, and i am running the backlights for them via transistors, but using the 5 volt from the usb (the character lcd's backlight pulls about 15mA, and the 7 segment one pulls about 10mA.
That's all that is connected to the board, and i'm running a SafeStrings based sketch that reads the serial input and puts the text in the relevent places on the LCD's.
all was fine when i was using an arduino mega, uno or leonardo, but since switching to the pro micro, it's fine when i upload the sketch to the board, but if i unplug the usb cable and plug it back in it's not running.
well, something is running as i get a SafeStrings debug code in the main sketch :
"availableForWrite() returns 0
You need to specify the I/O baudRate
and add extra calls to nextByteOut() as only one byte is released each call."
This is kinda showing me it hasnt booted up properly, the LCD shows a line of blocks, and it does not respond to serial messages sent to it, just repeats the message above back on the serial monitor.
And i have tried it with the lcd's unplugged, same issue. if i short the reset pins, i get the 'de-de-dunk' sound from the computer as the board disconects it's self from usb, then the 'de-de-de-dink' sound as it re-connects and goes into bootloader mode, then 8 seconds later it disconects and reconnects, and it's back in normal mode, and it's running again.
On the sparkfun site they mentions an issue with brownouts...
"Code Runs After Upload But Fails to Start After Power Cycle
We found that an ATmega32U4 (like the Pro Micro 3.3V/8MHz) can brown out when outputting power to a boost converter. While code can run after uploading, a power cycle from the initial current draw to a boost converter is enough to cause the Pro Micro brown out. Thus causing the sketch to not run. This requires the user to toggle the reset button after a power cycle."
Now i'm not using any boost converter, but it does sound like it's this that's happening? but even when i have no lcd's connected so the only power draw is the board it's self and the 2 transistors,
tried it on my laptop which has 2 amp USB ports, a desktop with the old 500mA ports and a power bank... just to get the start up message showing on the lcd, and it's the same, only after a reset will it work.
I've tried soldering the J1 link, that cuts out the onboard power regulator, so i'm getting straight USB voltage to the board and hence the lcd's now, made no difference,
As the sketch dosent seem to be running when it's plugged in, a bit of code that toggles a pin to reset the board wont work??
Is there any code that can auto reset the board when first plugged it? or do i have to give up on using the pro micro for this project