First and foremost, Liberty Basic is a "can't live without program." Before I retired, I wrote GUIs in Visual Basic and Liberty Basic, among other languages, depending on the Operating System. In my humble opinion, Liberty basic is much easier to use and easier to understand, besides being quite inexpensive. I simply do not use Visual Basic unless the client specifically requests it. Then it just takes longer to finish the project. I'm sure that there are valid reason to use Visual Basic, but I can't think of any off hand.
This (personal) project required graphical controls of digital and analog IO pins on the Arduino UNO. I also wanted graphical display of analog signals using both bar graphs and line graphs. While I was at it, I wanted control of the graphs speed and resolution. Note that these graphs run from right to left to obtain a continuos display of the last 500 points of data for A3 and A4.
It would be easy enough to output a text data value to the PWM pins, but I prefer color coded vertical sliders. Digital Set commands are checkboxes and Digital Reads are statictext 1 or 0. The Com Port is identified from the Device Manager and entered manually into the Com Port text box. If I was only going to use one board, I would search for the board ID automatically, but that didn't seem practical for this project. For simplicity, I put everything in percent, instead of using 10 bit accuracy. My trains only need 0 - 100 % to operate.