Nahezu alle Mikrocontroller sind in C programmierbar. Lediglich die ganz kleinen ohne RAM sind für C (fast) nicht geeignet. C++ würde ich auf Mikrocontrollern nicht verwenden, wegen dem erhöhten Speicherbedarf und Overhead durch die dynamische Speicherverwaltung.

Wenn unbedingt C++ sein soll, dann schau Dir die 32 bit ARM Controller an. Die sind recht Leistungsstark (z.B. in Lego Mindstroms verbaut).

Microsoft Visual Studio kannst Du nach meinem Kenntnisstand ausschließlich für die Entwicklung von Windows Programmen nutzen. Windows wiederum läuft aber nicht auf Mikrocontrollern. Du must also einen anderen Compiler verwenden. Programme für AVR Controller werden z.B. normalerweise mit dem GNU avr-gcc compiliert, für den es zahlreiche grafische Oberflächen gibt.

Das fertige Programm wird bei AVR Controllern üblicherweise mit einem ISP Programmieradapter in den Chip geladen. Diese Adapter haben heutzutage USB Anschluss.

Ich würde kein fertiges Board verwenden. Diese Board haben selten genau die Anschlüsse, die Du benötigst. Also verschwendest Du entweder Geld für nicht benötigte Anschlüsse, oder Du musst sowieso noch selbst etwas drumherum bauen. Nutze lieber eine simple Lochrasterplatine und einen AVR Controller (z.B. ATmega644) oder ein fertige Mikrocontroller-Modul (z.B. mit ATmega12. Also Modul würde mir persönlich genügen, wenn es den Chip und den Quartz enthält, sowie alle I/O Pins so herausführt, dass es auf eine Lochrasterplatine passt.

Kleiner Tip: Bei Batteriebetrieb mit vier Nickel Akkus brauchst Du in der Regel keine Spannungsregelung.