I'm writing new firmware for the Rotator and Shutter as well as a new ASCOM driver. The source can be downloaded from: https://github.com/pmeloy/NexDome
There is no simple way to update the controller programs which is just an unfortunate fact about micro-controllers like the Arduino. You will need to install the Arduino Integrated Development Environment (IDE) from https://www.arduino.cc/en/Main/Software which will most likely require administrator permissions on your computer.
More advances users can compile and upload using visual studio (minimum 2015) with an add-on from Visual Micro https://www.visualmicro.com/ It has a free version that nags once a week (Though I went three weeks and only saw it once) or an inexpensive paid version without the nag and some extra features (which I've never actually used). I paid just to support the developers because of the extra programming features and debugging tools in Visual Studio. If you aren't going to do your own programming then don't bother. If you want to compile the Windows driver then VStudio is required so you may as well use it for the firmware uploads as well.
The IDE installation typically creates a directory in My Documents simply named Arduino and any new projects started from the IDE will want to be created there (though you can use almost any location you want). The IDE is a bit different than most programming software in that it insists on the program being in a folder with a name identical to the program name. So if you create a new project called MyArduinoProject.ino it MUST be in a folder named MyArduinoProject of the IDE will throw up errors and not compile it. I recommend not using spaces or special characters in program or folder names too.
To get the firmware source code you can use git to clone the entire project, download the source by selecting the files from the code tab on github or, the best way, download the latest ZIP file from the releases tab https://github.com/pmeloy/NexDome/releases. Quite often the main branch is quite far behind the development branches but the zip releases are on the bleeding edge.
The zip has firmware source for the rotator and shutter and an installer for the ASCOM windows driver. It's usually possible to just open the zip and the firmware folder then double click on the .ino file. This will load the firmware into the IDE and automatically include any header or code files.
Sometimes loading directly from a zip can cause problems with the included program files so extract to a regular folder on your computer if you run into issues.
Connect the controller you want to program to your computer with a USB cable. If you have an older controller be gentle with the connector as the Leonardo USB port is just surface mounted and can be broken pretty easily. Newer versions of the controllers use a panel mount connector which is pretty robust.
Start the Arduino IDE by double clicking on the firmware .ino file you want to upload then go to the tools menu and select the correct board (Arduino Leonardo) and Communications Port. The IDE will show the device names of anything connected and filter out ports that have nothing connected which makes it pretty easy to identify the port you want. The only exception is COM1 which always appears.
If you have two boards connected, like I usually do, you'll have to figure out which port is connected to which controller. Plug only one controller in then look at the list to see which USB port to use. Plug in the second and you know which controller is on which port. To make future programming simple always plug the cables into the same ports and you'll get the same port numbers.
Before you can compile the rotator and shutter firmware you'll need to install the AccelStepper library. It's part of the default libraries but not active because like many libraries, not all people use it.
To install the library select Manage libraries in the Sketch menu
Then when the manager form appears, type accelstepper into the search box to reduce the list and AccelStepper should be at the top.
Click somewhere in the box holding the AccelStepper information and a buttons to install the library will appear. Click that and when it's done you're ready to compile.
You can compile the program without uploading by clicking on the check mark icon in the upper toolbar. This will report any errors in the black area at the bottom of the window. You can use the mouse to expand the reporting area by dragging the borders up and down to see all messages.
To compile and upload click the Arrow icon beside the check mark. If there are fatal errors it will not attempt to upload but just quit after reporting the errors. There can also be warnings instead of errors which are not usually fatal and it will upload after reporting them. I try to make sure there are no warnings because although they aren't fatal, some can affect how the controller behaves.
A very common mistake is to try to upload firmware while another program is using the com port. The error messages in the IDE aren't all that friendly and don't just pop up saying "Hey, someone is already using the port!". This is the kind of message you'll see instead
You might have another copy of the IDE open with it's serial monitor window connected to the controller or you might have the ASCOM driver connected. Just disconnect it and try again.
A successful upoad report ends with the white memory usage report and if you have sound there are audio cues as well.
The next sticky you should read is Debugging Firmware (once it's written anyway!).
To keep things manageable I've disabled comments on the tutorial stickies, join in on the tutorials feedback thread to ask questions. As it becomes clear where the tutorials need expanding or correcting I'll update them.