Skip to main content

Uploading Code

How to upload your code

Code Kit automatically generates C++ code that can be compiled and uploaded to your board. Here's how you can upload your code.

  • Upload from the web app (Code Kit Pro) — Click the 'Upload' button in the toolbar to compile and upload code directly to a connected board. No software install required.
  • Upload from the desktop app (Code Kit Pro) — Similar to the web app, click the 'Upload' button in the toolbar to compile and upload code to a connected board. The desktop app works on Windows and macOS, and allows you to upload code offline.
  • Export code and upload with Arduino IDE — Click the 'Export' button in the toolbar and select 'Arduino Project' from the export window. Unzip the file once downloaded and open in the Arduino IDE, where you can compile and upload the code.

On the web (Pro)

Direct upload is no longer limited to our desktop app! With Code Kit Pro, you can compile and upload code directly from our web app—no software install required.

Sign In Button

The Sign In button is located in the sidebar.

Sign in to Code Kit with your EduKits account to unlock Pro features. You'll need a Code Kit Pro subscription for direct code upload to work.

Link Button

The Link button is located in the top toolbar.

Next, make sure that your board is connected to your device. Click the Link button to open the board selector.

Board Selector

Select a board from the list by clicking on it, then click Connect to confirm your selection.

The board selector allows you to link Code Kit to a board. Select your board from the list and then click Connect to continue.

Upload Code

Click Upload to compile and upload your code.

Finally, click the Upload button in the top toolbar to compile and upload your code to the linked board. Once the code is uploaded, you'll receive a confirmation message at the bottom of your screen.

Connection and upload errors

If something goes wrong, we'll let you know by showing an error message.

  • Failed to connect to board — Make sure that the board is still connected to your computer and linked to Code Kit. This error may occur if you link the board then disconnect it later, or are currently connected to the board in another application (e.g. Arduino IDE).
  • Error compiling code — Double-check your blocks to make sure everything's working correctly. If you can't figure out what went wrong, please reach out to our team and we'll be happy to help.
  • Error uploading code — This means that the code was compiled (i.e. was valid), but there was a problem transferring it to the board. Double-check that you selected the correct board from the drop-down list in the toolbar, then contact our team if the upload still isn't working.

Supported browsers

Direct code upload is available in Chromium-based browsers. Browser support includes:

  • Google Chrome
  • Microsoft Edge
  • Brave
  • Opera
  • Vivaldi
  • Arc

Note that direct code upload is not supported in Safari or Firefox.

For Linux Users

If you're using Linux, you may encounter issues connecting to your board even if you're using a supported browser. This is because the browser may not have the necessary permissions to access the USB port.

Troubleshooting tips
  • Port permissions - On Linux, you might need to add your user to the appropriate group (usually 'dialout' or 'uucp') to access the serial port. You can do this with:
    sudo usermod -a -G dialout $USER
    After running this command, you'll need to log out and log back in for the changes to take effect.
  • udev rules - You might need to set up udev rules to allow non-root access to the board's USB port. Create a file named /etc/udev/rules.d/99-arduino.rules with the following content:
    SUBSYSTEM=="tty", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="[PRODUCT_ID]", MODE="0666"
    Replace [PRODUCT_ID] with your Arduino board's product ID. After adding this rule, reload udev rules with:
    sudo udevadm control --reload-rules && sudo udevadm trigger
  • Try another browser or version - If you're using a custom Chromium build or a browser with additional security features, try using the official Chrome or another Chromium-based browser (like Edge) to see if the issue persists.

Desktop app (Pro)

To upload, simply click the Upload button to the top-right of the app. Select your desired board from the list. If you have only one board connected, Code Kit will automatically link to this board for your convenience.

If no board is connected or the current board is connected improperly, an error message will appear to alert you to the problem.