---
description: Where do I write code?
---

# Choosing an IDE

> ### Resources
>
> * [Our tutorial on downloading Android Studio](https://www.youtube.com/watch?v=ig9YUI4wu6c\&t=50s)
> * [5040's Intro to FTC Programming](https://www.youtube.com/watch?v=CdcpNZzekb0\&t=438s) - Watch before proceeding. Lesson on the fundamental of FTC programming (opModes, running code, motors, servos)

### What are my options?

There are three options for starting off programming in FTC. You can use Block Programming, OnBot Java, or Android Studio

{% hint style="info" %}
For the sake of this resource, all instruction will be in JAVA
{% endhint %}

### Block Programming

Block Programming is great for first timers who are just getting into FTC Coding. Not much prior knowledge is needed to start, and is likely the best option if you are new to FTC and don't have a programming background. The setup is also very easy. However, there are some drawbacks, the biggest problem is the fact that it is not possible to import external libraries into blocks such as OpenCv or Roadrunner, which can greatly improve your team's software.

### OnBot Java

OnBot Java is a code editor that can be accessed on the web, that uses JAVA code to download code to the robot. It is still very easy to setup as it requires no additional downloads, and downloads are done by connecting to the robot's Wi-Fi network. However, additional libraries are very hard to use in OnBot Java.\


### Android Studio

Android Studio is an IDE in which you use the JAVA programming language to write code and download it to the Control Hub or Phone. If you have background knowledge of JAVA, or a little experience in programming, this is the best option as it allows for the most freedom with your code. You can use many external libraries and tools as well as having the ability to download via USB or wirelessly using ADB to the control hub or a phone.&#x20;
