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.

Arduino Based CW keyer / FTDI based CAT interface

I recently needed a new CW keyer with Winkey compatibility for use with my N1MM logging setup. K3NG has written some nice keyer code that I compiled and uploaded to one of my Arduino UNO boards that I had laying in the shack (if you want to try it, you need the latest  – above 1 – version of the Arduino “IDE”). Below you can see some pictures from making the prototype thru to ready made keyer with USB interface and adjustable speed button. I did not install the memory buttons, as I control the CW keyer via USB from N1MM or Hamradio Deluxe. It works very well with my Yaesu FT-450D but instead of the UNO I will eventually use a Mini Pro board with the Atmel Atmega 328. You can see more info on K3NGs site http://radioartisan.wordpress.com/arduino-cw-keyer/#comment-3255

Below is the schematic (remark: full credit is given to to K3NG!). I have modded the design for my own needs. Instead of the 2N2222 I use a TTL tolerant FET of type IRLIZ44N to drive the keyer output. Then I don’t need the 100 ohm resistors in series. I also did connect a piezo tweeter directly to the CPU  without using the 2N222 transistor. It works OK. However, the sound of the piezo tweeter is not the best in the world. Finally, as mentioned above, I did not install all the buttons. I installed only the command button to save space.  There is a need to do a small mod on the UNO hardware due to some reset issues. For that I will have to add another button that needs to be pressed when I want to upload code.

http://radioartisan.files.wordpress.com/2011/03/k3ng-keyer-schematic-2012052101.png

IMG_0789IMG_0795IMG_0806IMG_0801IMG_0811IMG_0815

I also needed a CAT interface. It is possible to use a FTDI chip for this task, however the signal levels need to be transformed to +/- 12V. This I solved with a MAX232 board that I had laying around in the shack. So now I have a CAT interface that is compatible with Win XP, NT, 2000, 98, Windows 7, Windows 8 etc since the FTDI chips are widely supported. It looks like … but works like …

IMG_0772IMG_0777