To setup the development environment on Windows and upload code to the Quadrupel Flight Control Board, the following steps need to be done. 1. Installing arm-gcc 2. Installing nRF SDK 3. Installing MinGW 4. Installing Python 2.7 and dependencies 5. Compiling and uploading Quadrupel code These steps are explained briefly below. While explaining the steps, we consider Windows 7 x64 OS. Let us cosider the root directory of our setup as "C:\Quadrupel". 1. Installing arm-gcc (a) Download arm-gcc from https://launchpadlibrarian.net/268330693/gcc-arm-none-eabi-5_4-2016q2-20160622-win32.exe and install it on root directory (let us say, "C:\Quadrupel\arm-gcc"). After installation, the arm-gcc folder should contain folders "arm-none-eabi", "bin", etc. 2. Installing nRF SDK (a) Download nRF SDK 10.0 zip file from https://developer.nordicsemi.com/nRF5_SDK/nRF51_SDK_v10.x.x/nRF51_SDK_10.0.0_dc26b5e.zip. (b) Extract the folder 'components' from the zip file to the root directory of our setup ("C:\Quadrupel"). (c) Open the file C:\Quadrupel\components\toolchain\gcc\Makefile.windows using any text editor and set the path of arm-gcc to GNU_INSTALL_ROOT.Also, Change GNU_VERSION to 5.4.0 Finally, the code snippet should look like GNU_INSTALL_ROOT := C:\Quadrupel\arm-gcc GNU_VERSION := 5.4.0 GNU_PREFIX := arm-none-eabi 3. Installing MinGW (a) Download MingW installer from http://www.mingw.org/category/wiki/download and install it. At the end of the installation, MinGW Installation Manager opens. In the tree list in the left of MinGW Installation Manager, select "All packages". Mark mingw32-gcc, mingw32-make, msys-base, migw-developer-toolkit and mingw32-base for installation in the grid (Right click on package entry with Class type bin -> Mark for installation). "Update Catalogue" from Menu -> Installation. (b) Add the installation path of MinGW\bin and MinGW\msys\1.0\bin to environment variable "PATH". For example, "C:\MinGW\bin" and "C:\MinGW\msys\1.0\bin". 4. Installing Python 2.7 (a) Install python from https://www.python.org/ftp/python/2.7.10/python-2.7.10.amd64.msi (b) Add the python installation path to environment variable "PATH". For example, "C:\Python27\". (c) The python module "pyserial" is necessary for serial communication in python that has to be installed manually after installing Python. (d) Open command prompt and navigate to Scripts folder inside Python installation directory (example: C:\Python27\Scripts"). (e) Make sure that the PC is connected to the internet and enter the below command. C:\Python27\Scripts> pip install pyserial The pyserial module should be download from the internet and installed successfully. 5. Compiling and uploading Quadrupel code (a) Extract the contents of Quadrupel code - in4073.zip to the setup root folder ("C:\Quadrupel"). Now, the root folder should contain three directories - "arm-gcc", "components" and "in4073" (b) Connect Quadrupel Flight Control Board (FCB) to PC and make sure that PC is connected to the internet. The COM port drivers are installed automatically and a COM port is assigned to the board. (b) Open the file in4073\Makefile using any text editor and almost in the end of the file, add prefix "python" to dfu_serial for command "upload". Also, add the COM port number of FCB as argument to serial_dfu.py. The code snippet after adding prefix looks like: upload: default python dfu_serial/./serial_dfu.py -p COM2 _build/in4073.bin where COM2 is the COM port assigned to FCB. (d) Open command prompt and naviage to in4073 folder. Type "make upload" and press enter. The code should compile and upload to the FCB. On successful compilation and upload of the program, the data sent from FCB should be displayed on any serial terminal (example: Putty) at 115200 baud.