ROBOTC for Arduino - Preferences - Expert  

The Preferences window allows you to modify platform-related and connection settings. In order to get to the Preferences window, simply click on the View menu, and select "Preferences".

You have two different sets of preferences that you can access: Basic and Expert. This corresponds with which "Window" mode you are currently in.

View Menu - Expert Mode:

Preferences - Expert Mode

Platform Tab

Platform Type
You can choose the platform you are using in this drop-down menu.

Power Down Delay
This setting adjusts the time it takes for the brick to automatically power down. The NXT is set to not shut down automatically by default.

First Choice: Connect to Any NXT Connected via USB
Checking this box allows ROBOTC to communicate with any NXT brick that's connected to the computer with the USB cable.

Second Choice: Connect to Last NXT that was Connected
If an NXT isn't found (A brick isn't connected via USB to the computer) then ROBOTC will attempt to connect to the previous NXT by USB, and then the previous Bluetooth contact by default.
You can set ROBOTC to only connect via USB, or not check for the previous NXT.

Third Choice: Check other Possible Connections
If the previous NXT isn't found, then ROBOTC will again attempt to just find any NXT connect to the computer through USB or Bluetooth.
You can also set it to check again for any NXTs connected through Bluetooth, perform a manual selection, or not check again for another connection.

Features Tab

The Features Tab allows the user to control which features to use within ROBOTC.


Show Splash Screen on Startup
This setting toggles whether or not you wish to be greeted by the ROBOTC info splash page on startup. You can adjust how long the splash screen remains open by entering the amount of seconds in "Splash Screen Display Time".

Open Last Project on Startup
Toggle wheter or not ROBOTC should automatically open the last project when it starts up.

Check For Updates on Startup
If this option is checked, ROBOTC will attempt to check for updates via the internet every 7 days.

Enable Super User Menu Level
Toggle wheter or not users are able to enter Super User Menu Level.

Show system include files in "view" menu
Toggle wheter or not ROBOTC will show system files in the "view" menu.

Maximum items in auto complete list
Choose how many items will appear in the auto complete list while typing

Skip Integrity Checking on Firmware Version
Toggle wheter or not ROBOTC will run an integrity check of the firmware before downloading a program to the robot.

Optimize Bluetooth Performance
Toggle wheter or not ROBOTC optimizes bluetooth performance.

Spare Internal Flag
Toggle wheter or not ROBOTC will include an extra internal flag for debugging.

NXT Tab:

No Power Down when powered by AC Adaptor
Check this box if you don't want the NXT to power down when it is plugged in with the AC adaptor.

Use Float (vs Brake) for inactive motor PWM
Check this box if you want the motor to "coast" or "float" to a stop at the end of a behavior. For instance, if the last behavior in your program is a "turn left for 2 seconds" behavior, then the robot will turn left for 2 seconds, and then coast to a stop if the checkbox is CHECKED. (otherwise it will immediately brake to a stop.)

Minimize Bluetooth ACKs
Advanced feature. We advise that you keep this checkbox checked in order to minimize the overhead involved with Bluetooth communication.

Maxiumum Opcodes per Timeslice
Advanced Feature. Do not modify.

Default Task Stack Size
Advanced Feature. Do not modify.

Maximum I2C Message Retries
The number of times an NXT I2C message will be retried before an error message will be returned.

Default Sound Volume
The default volume the NXT is set to. Scale from 0-4, 0 being mute and 4 being the loudest.

Directories Tab:

System Include Header File Name
This is the directory where the ROBOTC header file is located. You can change this location by clicking on the "Browse" button and selecting a directory.

Directory for Source Files
You can set a default directory for your source files by clicking on the Browse button and selecting a directory.

Directory for Sample Programs
This is the location of Sample Programs that are packaged with the ROBOTC installer.

Debugging trace log file
The Trace.txt file is associated with ROBOTC to log all information dealing with the ROBOTC's debugging process.

The location of the Ring Tone definitions is set here.


System Include Header File
Specify a default header file to include in all programs.

User defined variable
Specify a file to include that contains any user defined variables.

Specify a default ring tone definitions file.

Virtual Worlds Application EXE
Specify a default Virtual Worlds file.

NXT Directories:

Upload File Directory, NXT System Files Directory, NXT System Resource Files Directory
Default diretory to use to upload files from the NXT. Typically contains the compiledTry Me files and other files that are included in a NXT firmware file ( i.e. sound files, image files).


Auto save before recompile
ROBOTC will automatically save your program prior to compiling. You can turn this feature off by unchecking the box.

Text coloring for keywords
Checking this box allows ROBOTC to color code keywords within the program editing window. For instance, the motor command (motor[motorname]) will display as a different color to make it easier for the programmer to distinguish between normal (black, by default) text and keywords.

Show Line Numbers for Source in Margins
This setting toggles the display of the line numbers in the program editing window.

Enable code completion during editing
Code completion is used when you begin to type a keyword in ROBOTC. It helps you type code more efficiently and remember longer keywords .

Enable code templates
The code templates window is the window to the left of the program editing window. It contains the structure, or "template", of code used in ROBOTC. You can set ROBOTC to not show the code templates window by unchecking this box.

Move Source Files to recycle bin instead of delete
In ROBOTC, when you start a new program the default name for the program is SourceCode. If you decide not to save this program, ROBOTC will, by default, delete the file. If this setting is checked, ROBOTC will place this file in the Recycle Bin in case you accidentally forgot to save it.

Text Font, Size and Colors
You can set the font, size, and color for different types of text in ROBOTC.

Tab Size
The tab size is the size of the spacing input when you press the TAB button on your keyboard. The larger the number, the larger the spacing.

Use space for tab characters
You can set ROBOTC to use space characters instead of tab characters when you press the TAB button on your keyboard.

Maximum number of recent files
You can set the number of files shown in the
File menu here.

Smart Indenting
ROBOTC takes care of common typing steps such as indenting on a new line, and matching a "}" with the beginning "{". You can uncheck these options if you don't want ROBOTC to perform these tasks.


Continuous Polling on Startup
Sets polling to Continuous upon startup of the Program Debugger. The Program Debugger window appears automatically when you download a program.

Delay [milliseconds] between polling cycles
Sets the delay between polling cycles. The smaller the number, the faster ROBOTC will poll, or read, the values from the NXT. Keep in mind that the faster ROBOTC polls the values, the more resources your computer has to use. Using a small delay may result in a slow down of your computer (depending on the processing power of your computer).

Maximum duration of polling (minutes)
Sets the duration of polling. Need more info

Maximum variable words 'polled' per upload
You can set the maximum number of variables polled per upload. The result of this is shown in the Global Variables window.

Intrinsic Help:

Show intrinsic help details in separate window
When checked, ROBOTC will open a seperate window that contains the tool-tip text and a listing of all the sample programs that the currently selected code template is used in.

Single Expand Intrinsic Tree List
When checked, ROBOTC will automatically close the last tree in the code templates when a new tree is opened.


Multi-Robot Operation Enabled
Toggle whether or not ROBOTC should enable multi-robot operation.

Wireless Link Technology Type
Choose how the robots will communicate. Currently ROBOTC supports WiFi, Bluetooth, and ZigBee radios.

Wireless Communcations Port
Select which port to use for communcating with the robot(s).

Store Complete Network Information in user file via "#pragma config"
Select this if you'd like to save your setup for future use.

Standard Robots:

Allow Editing Level
Select how much freedom a user has to customize the preconfigured robot models.

Verbose '#pragma config' statements
Allow ROBOTC to replace the '#pragma config' statements if they match those of a preconfigured robot model.


Advanced users may be interested in exploring the various compiler optimization techniques. When the user level is set to “Expert” (see the command “Menu Level” in the “Window” menu), there is a tab in the ROBOTC “Preferences” setup that enables individual control of the individual compiler optimization methods. When the level is set to “Basic” then this tab is hidden from the user.

The picture on the above illustrates this tab. See the “Code Optimization” section on the left of this window.

This screenshot also illustrates several useful ROBOTC options like:

  • Automatically opening the “last project” used when ROBOTC is first started.
  • Automatically generating “prolog” and “epilog” code that runs at the beginning and end of your program execution to setup the motors and sensors.
  • Automatically starting the debugger after every program download.
  • The default values for these toggles are the most popular options. Most users will not find a need to modify these values

Compiler Warnings:

Choose how the compiler warning system behaves.

Copyright © 2012 Robotics Academy/Robomatter -