Frequently Asked Questions

Check out the FAQs below regarding commonly asked questions about Synthesis. Don't see a topic you are looking for? Post a question on our forums here.

Exporting Robots to Synthesis

  • How do I export my robot to Synthesis?
    • You can export your robot using either Autodesk Inventor or Fusion 360 through our Robot Exporter plug-ins. You will need to download Synthesis for the exporter to be installed.

  • What do I need to do to export my robot from start to finish?
    • There are 3 main steps to exporting your robot to Synthesis. (1) Open or import your model into Inventor or Fusion. (2) Joint moving parts such as wheels and manipulators. (3) Export using a guided or advanced export (Inventor) or the robot exporter in Fusion. Learn about the jointing process here.

  • How do I access the robot exporter in Autodesk Inventor?
    • You will need Synthesis installed prior to accessing the Inventor robot exporter. Once it is installed, the robot exporter is accessible under the “Environments” tab. After you have completed jointing moving components to your robot, you can click on the “Export” button.

  • How do I access the Fusion 360 robot exporter for Synthesis?
    • You will need Synthesis installed prior to accessing the Fusion exporter. Once it is installed, switch to the “Synthesis” workspace. After you have completed jointing moving components to your robot, you can click on the “Export” button.

  • I have a robot CAD model from a software other than Autodesk. Can I export my CAD model to Synthesis?
    • Yes. You will need to import your STEP file to either Inventor or Fusion 360 to export your robot into Synthesis. You can learn more about converting or opening a STEP file here.

  • I exported my robot in Synthesis, but it will not drive. How do I export my robot with rotating wheels?
    • Rotational moving components, such as wheels, need to be jointed. Verify that all of your robot's wheels are jointed to your assembly.

  • My robot has multiple manipulators. How can I configure robot manipulators for movement in the simulator?

  • I don’t have a full CAD model. Can I add my own robot manipulators to Mix and Match mode?
    • Mix and Match currently does not support adding your own robot manipulators. You can contribute to Synthesis or email us with a suggestion at

  • My robot exporter is missing in Inventor or Fusion. How can I export my robot?

Running the Simulator

  • What are the system requirements?

  • I exported my robot from a CAD model. How do I select my robot model in Synthesis?

  • My robot controls are inverted. How do I fix my robot controls?
    • You can either change your controls in Synthesis or re-export your robot. It is helpful to assign left and right PWM channels in the exporter to your robot’s left and right frame so that controls can easily be established.

  • How do I add multiple robots to the simulator?
    • Synthesis now supports Local Area Network (LAN) Network Multiplayer from multiple PCs. To access the LAN multiplayer, click on the Network Multiplayer option from the start menu to setup your lobby or join others in the simulator who are also connected to the same WiFi. You can also configure up to 6 robots on one local PC by accessing the multiplayer feature within the simulator under the "Home Tab."

  • How do I configure a specific feature?

  • I am a developer interested in submitting a feature to Synthesis. How can I get started?

Emulating Code in Synthesis

  • How do I access the code emulator in Synthesis?

  • How do I build and deploy my code to Synthesis?
    • First build your code as you would for your robot within your IDE. Then, within Synthesis click on the Emulation tab -> click “Select Code,” and navigate to your FRCUserProgram. You can utilize the built-in driver station to set the robot mode to Enable/Disable and test your code. Tutorial: Running your Code in Synthesis

  • What kind of inputs and outputs does code emulator support?
    • We support gamepad inputs, drive train encoder inputs, and match information including robot mode, alliance station ID, enabled state, and game specific messages. For outputs, we support Talon SRX and Victor SPX CAN and PWM header outputs to motor controllers. For more advanced users seeking more details, you can watch localhost on ports 11000 and 11001 for JSON representations of supported robot inputs and outputs respectively.

  • What programming languages does the code emulator support?
    • Our emulator supports C++ and Java.

  • How are new features added/requested?
    • New features can be requested on our forums or by contacting us through our website. We are an open source project, so you can find emulator source code online in our GitHub repository. Through that avenue, you can add features and submit a pull request for review. If the requested feature or pull request it is accepted, support for the new feature will then be added to both the emulator and the robot simulator for release in a future update.

Summer Internship

  • Who can apply to the summer internship?
    • You must be at least 16 years of age and at on a FIRST Robotics team for at least one season. Incoming high school juniors, seniors, and college freshman are encouraged to apply. We need students from all backgrounds and skills from development to management to graphic design.

  • I am interested in applying to the Synthesis summer internship. How can I apply?
    • Applications are typically released in the Spring and will be available on our website. We suggest following our social media channels (@synthesis.adsk for Facebook and Instagram) or (@synthesis_adsk on Twitter) as those will be the first avenues for application announcements.

  • Where is the internship located?
    • The internship is based out of the Autodesk office in the SE Portland, Oregon area.

  • What can I do to prepare for the internship?
    • It depends on the role you are applying for the internship. Overall, it is helpful to familiarize yourself with Synthesis by downloading it and testing the software out. Here are a few positions and suggestions to get you started:

      Developers form most of the Synthesis team as they write code to produce the software. It is helpful to gain confidence using GitHub and be familiar with one or more of the programming languages used to program Synthesis (C#, C++, CMake, Assembly Files, Java, etc.) It is also very important developers can communicate and be willing to work as a team.

      Quality Assurance (QA) test the code additions developers submit. Applicants should gain confidence with GitHub and demonstrate the ability to test something from every angle. QA works closely with the developers.

      Nondeveloper positions can vary each year depending on the needs of the project. It is typical to have at least one Product Manager, one User Experience (UX) Manager, and at least one Marketing Manager. An applicant applying for one of these roles should be able to communicate effectively, be willing to work with lots of people and users, and collaborate with the Synthesis team.

  • What is the internship like?
    • The internship is a 10 week summer program June – August. The internship is fast paced and full of learning as a team of FIRST Robotics students and alumni create, develop, and manage Synthesis. The internship is often described by interns has one of their best summers because it ends up being a blast being able to meet and work with FIRST students like yourselves. Plus, playing ping-pong on lunch breaks is a great way to spend the summer and did we mention all the free food?

  • How long is the internship?
    • The internship is 40 hours a week for 10 weeks (typically June – August.)

  • I’m from out of the state/country. Can I still apply?
    • Yes! It would be important to complete your application as soon as possible to provide enough time to process additional documents (for out of the country applicants) and to work with FIRST to find housing arrangements for the summer.

  • I have a school/religious/medical commitment? Will that affect my application?
    • No. If you have a pre-arranged school, religious, or medical commitment, please note that on your application. However, other commitments may affect your application if you are not available for the full duration of the summer. Some commitments are handled on a case by case basis.

  • I am going on vacation in the middle of my internship? Will that affect my application?
    • Maybe. If you are planning to be gone for an extended period time during the internship, your application may become less competitive due to the already short development cycle. Some commitments are handled on a case by case basis.