Is there a way to reset the board from software rather than pressing the physical reset button?
My build won't have easy physical access to the device, and right now I can only access the board's serial connection for programming after it is connected and THEN it is reset.
If I can connect it, then bring a pin low or high to reset it that'd be a decent workaround.
I'm not sure why it doesn't detect immediately upon plugging it in. The drivers are all correct and it works perfectly after being reset from the hardware button.
For full disclosure, this Arduino Leonardo is the board that is part of a LattePanda. When the LP boots up it doesn't detect the Arduino until a hard reset is done. The LattePanda boards have not been particularly helpful, so I'm turning direct to the Arduino community.
Thanks,
There are a few ways but the LEO handles serial a little different to most other Arduinos.
That has caught quite a few people out including myself.
Maybe post the sketch that it uses in case its a simple issue but use code tags ( </> )
Its also easy enough to add an external reset button. (always useful for embedded / hidden projects)
Close connection in your application; open connection in your application at 1200 baud and close connection and Leonardo will reset. Open connection in application at normal baudrate.
1 Like
ballscrewbob:
There are a few ways but the LEO handles serial a little different to most other Arduinos.
That has caught quite a few people out including myself.
Maybe post the sketch that it uses in case its a simple issue but use code tags ( </> )
Its also easy enough to add an external reset button. (always useful for embedded / hidden projects)
We're passing code straight to the Arduino from a C# application, just to control the LEDs.
We'd prefer to avoid a reset button...heck, ANY button that our users have to press.
Knowing them they won't press it even if asked to do so.
So no sketch, per se.
Coming from an Industrial background I hear you on the no reset button...
Some operators will do anything to get a break.
Without some code to go on the best you will get is the advice sterretje gave you.
In the forum you have to help us to help you.
sterretje:
Close connection in your application; open connection in your application at 1200 baud and close connection and Leonardo will reset. Open connection in application at normal baudrate.
This seems like a chicken-and-the-egg scenario.
The problem is we don't see the Com port in Windows to open a connection to. Once the Arduino is reset, the Com port we need appears properly.
I love your solution, it would be perfect for us, but without a Com port to send the command to it won't work.
NOW...that being said we have noted that a USB Serial port shows up in Device Manager (usually Com3) when the OS starts. When we then reset the Arduino that Com3 disappears and is replaced by the BootLoader on Com10, and then when that's done the Arduino Leonardo on Com11 (or sometimes 6).
.
.
.
And that got me thinking why not actually test that.
Sure enough, all I did was fire up a terminal to Com3 at 1200 Baud and the Arduino reset.
PERFECT!
That we can code for.
Thank you, Sterretje. That was just what we needed.
ballscrewbob:
Coming from an Industrial background I hear you on the no reset button...
Some operators will do anything to get a break.
Without some code to go on the best you will get is the advice sterretje gave you.
In the forum you have to help us to help you.
I appreciate that. 
At least on these forums I get a bit more response from people with actual Arduino knowledge. Over on the LattePanda forums the responses were a bit...trollish.
And looks like Sterretje's advice may be a winner.
There was a Com port showing up that had no associated device name.
A quick connection to that Com port at 1200 baud and the Arduino reset.
I only have a Leonardo to play with, I haven't build anything with it yet.
My experience on Windows 8 is that the two serial ports only differ by one (e.g. COM10/COM11). So not sure where your COM3 and COM6 come from; maybe when you start Windows with the board connected?