Ansteron IDE user guide

1. Create or edit a program

To create a new program, go to menu File, and then choose New. The main function is created automatically in the new file, as seen in the screenshot below.

Within a function, other objects can be created by choosing one on the left toolbar, place object into function and enter the code for each object.

Move or resize function:

To move the function, click on its header and drag to the new position. To resize the function, click on its header or inner edges, selection mark and resize marks will show up. Click and drag resize marks to change function size.

Zoom and move design:

To move the design, just click anywhere on the design except objects, function's headers and inner edges, then drag to the new location. The scroll ball on the mouse can be used to scroll the design up and down. The scroll bars on the right and bottom can be used as well.

Use keys "I" and "O" to zoom the design in and out respectively. Menu "Zoom in" and "Zoom out" on the menu bar (inside menu View) have the same functions.

Create or Remove an object:

Conditions, procedures and connecting arrows can be added into a function by selecting the one on the left toolbar then place the object into a function. A connecting arrow can also be added at the same time. Before placing down the object, move it close to the object that it will connect with, then indication red dot and boxes will show up. Match up dot and box then click to create a connect line from that object to the new object being created. If more segments are needed for that connecting arrow, hold the Ctrl key on the keyboard while clicking the left mouse to add segment points.

ESC key can be used any time to cancel creating an object. Press ESC the second time to un-select object types.

The red dot will switch according to relative position of the new object, to stop switching, just hold Ctrl key.

To connect the program flow from one object to another, select connect line on the left toolbar:

To delete an object, simply select the object by clicking, and then press Delete key on the key board. To select multiple objects, click the right mouse button and drag to create a window containing all objects to be selected.

Move, Resize and Edit objects:

When an object is selected, selection mark and resize marks will show up. Drag the object to move and drag the resize marks to resize the object. Holding Ctrl key on the keyboard while dragging the resize marks will give different resize options. For instant, the top right resize mark will change the width on both left and right sides if the Ctrl key is not being pressed. If the Ctrl key is being pressed, the width will only be changed to the right.

To edit object's content, double click on to the object. The content of the object will not change until user pressed OK button in the dialog to confirm updating content.

2. Compile and download program to board

To compile current program, it must be saved. Press F7 key on the key board or go to menu Build then select Build to compile the program. Messages from the build process will be display in the message window at the bottom. If there is a typing or statement error, press key "E" on the keyboard to locate the first error. Go to menu View then choose Locate error will do the same function.

To download a previously built program to board, press F5 key on the keyboard or go to menu Run then choose Download and Run. If the program was changed but not compiled, it will be automatically compiled before being downloaded to board.

3. Compiler settings & Hardware setup

Compiler settings dialog contains options for the compiling process. These settings are applied to individual program. This is also where libraries, preprocessor scripts files and data attachment can be added to the program. To show compiler settings dialog, go to menu Build then select Compiler settings.

Standard library will be included in the program by default. If the program does not need to use functions from standard library, this options can be unchecked. For more details about standard library, refer this article.

Low level access option allows the program to access all registers of the CPU. This option is used when creating libraries or advance programs. Information about how to use hardware peripherals and registers of the CPU is described in its datasheet (ATMEGA328P datasheet).

Generate library option, if checked will tell the compiler to compile the program as a library instead of an executable. A library can only be added to other program and cannot be downloaded to board. More information about how to create a library can be found in this article.

Additional libraries section is the list of libraries, preprocessor scripts and one data attachment file can be added into the program. Click on Add button then locate the file to be added. Note that only files with correct extensions can be added.

Hardware settings

Beside Ansteron Board, other hardware platforms are also supported. Hardware dialog lets users choose which one to work with Ansteron IDE. Software support for each hardware platform will be loaded and used. Different compiler settings may be used for different hardware as well. To view hardware dialog, go to menu Run then choose Hardware setup.

For each board, communication settings also need to be specified except Ansteron Board. For Ansteron Board, the IDE will automatically find the board and detect if it is plugged in or unplugged. Other boards use COM port for communication and users have to specify the port as well as baurate if it's different than default (115200 bps for both of them).

If there are more than one Ansteron Board attached to the computer, the one to be used with Ansteron IDE need to be picked from the list as seen below. To switch between boards, open the hardware dialog then click OK, the list will show again. Multiple Ansteron IDE's can run at the same time.

Serial Terminal

Serial Terminal is a utility that can be used to monitor data on serial port of Ansteron Board or COM ports of computer. To run Serial Terminal, go to menu Tools then select Serial Terminal.

After selecting port and baurate setting, click connect button to start monitoring serial port. Option "USB" is the port for Ansteron Board; other ports are for COM ports of the computer. Note that even if the COM port is listed, that does not mean the port exists on computer system.

Hex and ASCII options can be changed on the go. When using ASCII, each byte received will be displayed as a character following the ASCII standard. In Hex mode, raw data bytes will be displayed.

Option "Rx Only" is available on Ansteron Board. When this option is checked, data will only be sent from Ansteron Board to computer, the other direction is disabled. This option frees the RX line of Ansteron Board for use with other devices if needed.

Option "Send CR+LF" is used in sending data. Two bytes "carriage return"(0x0D) and "line feed" (0x0A) are sent after each message if the option is checked.

Clear button will clear all data received and new data will be shown from the beginning of display area. Note that all data will also be cleared if there is more than 32KB of data received.

To send data, type into textbox on the bottom then press button "Send" or use Enter key.


Programmer is a tool that allows configuring the CPU of Ansteron Board. A program can also be downloaded using this tool. To run Programmer, go to menu Tools then select Programmer.

The general section is information about the board which is loaded when the board was made. There are board's name, manufacturer and board's serial number. Next to that is security section, which allows locking the CPU after a program has been downloaded. Once locked, the program as well as some CPU configuration cannot be read. CPU returns to unlocked state when program memory is erased.

Status sections are voltage measurements of Ansteron Board. CPU voltage should be between 4.5V to 5.5V and DC input voltage should be 7.2V to 12V. Press the Refresh button to update the current value.

Program memory section provides a way to download a program file (in hex or bin format) to Ansteron Board, in fact, into the program memory inside of the CPU of Ansteron Board. A copy of current program can be read and save to computer as well if the board is not locked. Erase button will erase program memory. To download a program file, choose the file by clicking "..." button on the right then click Program.

In CPU Settings section are some configuration options. Press Read button to update these setting from CPU and press Write to write the current setting. These settings should be all unchecked for normal use.


EEPROM Editor is for viewing and manually editing of EEPROM memory inside the CPU of Ansteron Board. EEPROM is non-volatile memory that user program can read and write. Program's settings as well as data, logs can be stored on this memory. EEPROM memory in the CPU has 1024 bytes in size and will be good for at least 100,000 write cycles.

To launch EEPROM Editor, go to menu Tools then select EEPROM Editor. All memory cells in the editor will be 0xFF (255 in decimal) initially, which is also the value of empty EEPROM cell (not zero). To upload EEPROM memory from board, in menu Ansteron Board, choose Upload from Board. All memory cells in the buffer will be replaced with data uploaded from Ansteron Board.

Each byte can be manually edited. On the most left is the starting address of each line. There are 16 bytes in a line and their value is shown in the middle columns. The columns on the most right are ASCII characters corresponding to the value of the middle columns. Value of a byte can be changed by select then type in the new value. Hex/Dec Mode menu is used to switch the display of middle columns between Hex and Decimal mode.

A data file that is on the computer can also be loaded into the editor and data that is in the editor can be save to a file on the computer. If data need to be updated to EEPROM memory on board, go to menu Ansteron Board then select Download to Board.


Grapher is a simple utility that can graph data onto computer screen in real time. This can be used to monitor signals from sensors, potentiometers... More details about how to use this tool is described in Grapher library.