Arduino not visible on COM port. Cannot upload a sketch even if you have flashed a fresh booloader. Solution.

If your Arduino does not show up on any USB COM ports even if you flashed a fresh bootloader, it may be because the sketch you flashed has messed up your USB serial settings on the Arduino. This sketch will prevent the Arduino showing up as a com port in Windows because the flashed sketch starts immediately upon reset and “blocks” the normal USB COM operation.

Solution:
1) re flash the bootloader with an ISP connected to the 6 pin header. I use a USBasp (cheap ISP clone).

2) Just so you KNOW the bootloader is installed. You can check that the bootloader is operational by plugging in the board thru the USB COM port (when you already have an open hardware manager windows in Windows).
You should see briefly a new COM device named “Arduino [name of board] bootloader”. This  COM device will quickly disappear again if you have a sketch messing up the serial settings.At least you know the bootloader should be OK.
3) Upload a completely empty sketch WITH THE ISP device. Important!:Do that upload with the ISP and NOT via the USB serial cable.

This is a completely empty sketch you can use:

void setup() {}
void loop() {}

I have fixed several dead Arduino boards that I suspected had hw problems this way. In fact the boards were OK. The problem was that a sketch already installed messed up the serial settings. The bootloader and hw was completely ok.

How to develop and debug C++ code for Arduino in Visual Studio if you are tired of the Arduino IDE

The Arduino platform has gained a fantastic popularity over the past ten years. For small quick and dirty projects, the .ino files and the standard IDE is OK. However, for professional development projects and for developers that want control over the .hpp and .cpp files the standard Arduino IDE is somewhat regarded like a toy. Furthermore there is no proper debugger in the Arduino IDE  (whaaat?, you gotta be kidding?)

Well, this has changed as Visual Micro has developed a plugin to Microsoft Visual Studio. You can write code the normal way you do it with .cpp and .hpp files. You can also run the GDB debugger. The IDE has support for the regular .INO files and Arduino libraries. Here is how both .cpp and .ino files are handled: http://www.visualmicro.com/page/User-Guide.aspx?doc=INOs-and-CPPs.html

There is a free version of Visual Micro and it works against the free versions of Microsoft Visual Studio 2017 Community Edition. All you need is a Microsoft account to be able to download and install Visual Studio 2017 Community edition. Then in MSVC 2017, go to tools, Extensions and Updates and enter a search for Arduino in the search bar. It will will offer to automatically install the Arduino tools and the GDB debugger. Click install and you are on the right path.

Links:
http://www.visualmicro.com/
https://marketplace.visualstudio.com/items?itemName=VisualMicro.ArduinoIDEforVisualStudio

If you find this tip useful, please share on facebook and share the link. Also, feel free to report your experiences in the comment field.