This page will teach you how to setup and control the motors from the LEGO Education CS+AI kit using an Arduino UNO Q from within an App, the proprietary program type that this board uses.
In order to communicate with the motors over bluetooth from inside the docker container, the UNO Q needs to run a bridge using http communcation to outside of the docker container. You don’t need to worry about this technical jargon, once you complete this process the UNO Q will setup this bridge on boot.
Step 1: Plug the UNO Q into your computer! Open Arduino App Lab and connect it to the internet if it isn’t already. Click the web icon in the bottom right corner of App Lab, scroll to the bottom, and record you UNO Q’s IP address.
Step 2: Download this zip and extract the files to a folder, keep track of this folder. (You can do this by going to the top of your file explorer, right clicking, and selecting “copy as path”, that’s what you’ll need for the next step)
Step 3: In your terminal, navigate to the folder where you extracted the zip. You can do this with the command cd. For each folder in the file path from step 2, enter the command cd <folder name> until you reach the folder. Once there, enter the command:
python deploy.py
#If that produces an error saying "python not recognized" try:
python3 deploy.py
Follow the prompts, entering the information it asks for (for your ip, see step 0; if you don’t know the linux/sudo password, you can change it in settings in App Lab).
Once this runs, the backend setup should be complete!

Now you’re ready to start coding a LEGO robot!
To get you started:
connect() to your card’s number