Sunday, July 25, 2021

Setting Up Arduino IDE to Compile Dual Screen Apollo DSKY Sketches

Here are the instructions to setup an Arduino IDE to successfully compile the source code for the Dual Screen Apollo DSKY and other Arduino sketches that use the GPIO fast pin library and/or the FastSeedTFTv2 graphics library for the Seeed TFT Touch Shield v2

For more information on the Dual Scrren Apollo DSKY:

To update the arduino sketches:

The Arduino IDE must be installed first. This is generally an uncomplicated step that involves downloading the appropriate software from the Arduino website:

The next step is to download the zip files for the following three projects, direct links to the zip files can be found below, all links open in a new window:

Project pages:

Direct links to the zip files:

If prompted, save all the zip files to your Downloads folder, which should look like this:

Saturday, July 10, 2021

Setup Instructions for Dual Screen Apollo DSKY

For more information on the Dual Scrren Apollo DSKY

To use with a computer:

1) Install Arduino Virtual Serial Port Drivers.

To function properly, the DSKY needs the Arduino Serial Port drivers installed in the host computer. If there is any version of the Arduino Software installed on the computer, this step can be skipped. 

If the Arduino Software is not installed, download it from:  and click on the "Software" button on the bar at the top of the screen

or for a direct link to the English version:

Follow the instructions for your operating system to install it.

2) Connect Arduino Mega on back of DSKY to host computer.

Once the Arduino Software has been installed, it is time to plug in the DSKY so it gets assigned a serial port number.

There are three Arduinos on the DSKY. The Two Arduino Nano in the front are only used to drive the Screens, they are not connected to the host computer except to modify the programs (sketches) running on them.

Flip the DSKY and connect the USB cable to the large Arduino Mega on the back. Connect the other end of the cable to the host computer.

The host computer will install the serial port drivers and assign a serial port number to the Arduino Mega. Communication can be verified by launching the Arduino Software. Click Tools -> Board -> Arduino/Genuino Mega or Mega 2560. Click Tools -> Port and select the newly created port. Click Tools -> Serial Monitor and on the bottom right of the screen, select 9600 baud. On the Top Line of the Serial Monitor type A and press Send, the "UPLINK ACTY" indicator should illuminate. Type Q and press Send and the "COMP ACTY" indicator should illuminate. Sending lowercase a and q will turn those indicators off. Exit the Serial Monitor, otherwise MoonJS cannot connect to an open serial port.

3) Install modified copy of MoonJS on host computer.

Download SerialMoonJS from:

A direct link to the software is here:

Unzip the file to a folder in the host computer.

4) Launch MoonJS and Connect to DSKY Serial Port.

Ensure the DSKY is first plugged in to the Arduino Mega port before launching MoonJS

Navigate to the folder where SerialMoonJS was unpacked.

The modified MoonJS software uses WebSerial, which runs on Chromium based browsers if a special command line flag is used when launching the browser.

There are two launchers included in the zip file

LAUNCH.CMD opens SerialMoonJS using Google Chrome

LAUNCH-EDGE.CMD uses Microsoft Edge

Other Chromium based browsers may be supported, the command line parameters are:

--allow-file-access-from-files --enable-experimental-web-platform-features

The first one is needed to allow html files to open files in the local computer. The second one enables WebSerial and a host of other experimental features. 

Needless to say this is not the most secure browsing environment, so a browser in this state should not be used to browse the web.


The launcher makes sure the browser is installed and not currently running, showing error messages if either of those conditions are detected.

A final warning message to not use this browser on the open internet is displayed before proceeding to MoonJS, the AGC simulator. 

Once MoonJS launches, click on the "Connect" button on the top right side of the screen. A new dialog box will show a list of serial ports, select the "Arduino Mega 2560"and click the "Connect" button on the dialog box.

The screens on the external DSKY should update to match what is shown on the computer. To verify connectivity, on the external DSKY press: VERB 3 5 ENTR

A displays will show a flashing selft test on both the host computer and the external DSKY.

If the USB cable is disconnected without clicking the "Disconnect" button first, the page must be reloaded before being able to click the "Connect" button again.

To use MoonJS, click on the "Launch checklist" link on the top left of the screen and follow the instructions.

press V37E00E

click on "Enable IMU"

press V91E

press V35E

press PRO, repeat until NO ATT turns off

press V37E01E

when PROG changes to 02, click on "Launch"

(optional) Manual Control of External DSKY

follow the instructions above to use Serial Monitor to connect.

The left screens uses upper case A B C D E F G H I J K L M O to turn on each indicator, a lower case letter turns the indicator off. The right screen uses Q to turn the COMP ACTY indicator on. send P99 to display the PROG indicator, V99 displays the VERB indicator, N99, displays the NOUN indicator. The bottom three lines are controlled with X+88888 Y-99999 and Z300000. The first character of the X Y and Z commends must be a + or - anything else gets ignored. Press keys on the external DSKY and they will be shown in the Serial Monitor.

If you have made it this far, try pressing the NOUN key and without releasing it, press the RSET key.