SSC-32 Servo Controller V2 icon SSC-32 Servo Controller V2 Bridge ARC to Lynxmotion SSC-32: maps V0-V31 to SSC-32 channels for reliable, high-performance serial control via USB, EZB/Arduino UART. Try it →
Built Into Synthiam ARC

AI Script Assistant for ARC

Describe what you want. Get working robot code.

Write, fix, refactor, and explain ARC robot scripts in JavaScript or Python using natural language. The AI Script Assistant knows your project's real global variables, EZB ports, and controlCommand() targets — so the code it returns runs on your robot, not a generic example.

Synthiam ARC AI Script Assistant chat panel: a user prompt asking for a servo sweep script, with the assistant's JavaScript reply shown in a fenced code block alongside the ARC script editor

Your Robot. Your Project. Your Code.

Generic AI coding assistants guess. The ARC AI Script Assistant knows. Every robot programming request includes the authoritative state of your ARC project — variable names, port assignments, robot parameters, and the controlCommand() targets your Robot Skills actually expose.

Generated JavaScript and Python scripts use the names that are already in your project. No invented APIs, no placeholder constants to find-and-replace.

Get ARC → Buy AI Credits → Read the Docs

Everything an ARC Robot Developer Wants from an AI Coding Assistant

Built into ARC. Tuned for robotics. Aware of your project. Speaks JavaScript and Python.

🧠
Project-Aware Code Generation

The AI reads your global variables, robot parameters, EZB ports with board indexes, and the controlCommand() targets your Robot Skills expose. Generated scripts come back using the names that already exist in your project — ready to paste and run.

🐍
JavaScript or Python Robot Scripts

Choose the language that matches your script. The assistant targets only the dialect you picked — JavaScript or Python — and never mixes in legacy EZ-Script. Output is always in fenced code blocks, ready to paste.

📚
ARC Scripting API Built In

The full ARC scripting API reference is included with every request — sleep(), getVar(), setVar(), controlCommand(), port constants like d0–d23, v0–v99, ADC0–ADC7, and more. The assistant uses real APIs, not invented ones.

💬
Multi-Turn Conversations

Iterate. "Make it slower," "now add a sensor check," "explain that loop." The assistant keeps the full thread of your conversation so each follow-up builds on the previous answer.

🛠️
Fix, Refactor, and Explain Robot Code

Paste a broken script and ask for a fix. Hand it a working script and ask for an explanation, a simpler version, or a new feature added. The assistant works on the code you have, not a blank page.

🔒
Safe by Default

The assistant refuses to write code that bypasses ARC safety boundaries, hard-codes secrets, or performs destructive system operations. Your project context stays server-side — no API keys, no model pricing, no leakage.

How the AI Script Assistant Works

Three steps from natural-language prompt to running robot.

1

Ask in Plain Language

Open the AI Script Assistant from the ARC script editor and describe what you want — "make the servo sweep from 1 to 180 then back" or "fix this script, it stops responding after the second loop."

2

ARC Sends Project Context

Your prompt is bundled with the live state of your project — globals, EZB ports, robot parameters, controlCommand() targets, and the script you're working on — so the assistant has ground truth, not guesses.

3

Paste, Run, Iterate

The reply comes back in a fenced code block ready to drop into your script. Don't like it? Ask for changes — the conversation continues until the code is exactly what you wanted.

Get the Best Results — Configure Your Project

The AI Script Assistant is only as good as the context you give it. A few minutes spent describing your project pays off in every script the assistant ever generates for you.

📝 Describe Your Global Variables

For every global variable, fill in the description field. The assistant reads it as authoritative meaning — without it, the AI can only guess what $batt or $mode represents.

✗ Weak: $batt ✓ Strong: $batt — "current battery voltage in volts, sampled every 5s"

🔌 Add Descriptions to EZB Ports

Tag each configured port with what it physically controls. The assistant uses the description to choose the right port for the task — and respects the board index so multi-board projects stay correctly wired.

✗ Weak: d2 (board 0) ✓ Strong: d2 (board 0) — "left shoulder servo, range 30–150"

⚙️ Fill In Robot Parameters

Servo limits, joint ranges, gear ratios, max speeds — anything the AI must honor when generating motion code goes in the robot parameters list. The assistant treats these as hard constraints.

✓ Strong: NeckMin = 40, NeckMax = 140, GripperOpen = 70, GripperClosed = 145

🎯 Use Meaningful Skill & Command Names

The assistant sees the controlCommand() targets exposed by every skill in your project. Rename skills to describe what they do — "HeadServo" beats "Servo Movement Panel" — and the AI calls them correctly the first time.

🐍 Pick the Right Language Up Front

Set the script's language to JavaScript or Python before opening the assistant. The system prompt is tuned to the selected dialect — switching mid-conversation means the assistant has to relearn your preference.

🧵 Stay in the Same Session for Follow-Ups

Keep the conversation open when you want to iterate. ARC sends a stable session id with every turn so the AI remembers what you already discussed — closing the assistant and reopening it starts fresh.

✏️ Include the Current Script

When asking for changes to existing code, leave the current script in the editor — ARC sends it as context. The assistant modifies what you have instead of regenerating from scratch.

Every Conversation. Every Code Change. Saved.

Open the AI Script Assistant history at any time to revisit a past conversation — see the natural-language prompt you sent, the ARC project context that went with it, the JavaScript or Python script you were working on, and exactly what the assistant wrote back.

  • Browse every prompt you've sent and every reply the assistant returned
  • See the script that was attached to each turn — recover code you replaced or lost
  • Inspect token usage and credit cost per turn for full transparency
  • Multi-turn sessions stay grouped so a long iteration reads as one conversation
  • Filter by project name, script name, or model so finding an old answer takes seconds
Synthiam ARC AI Script Assistant conversation history view: a sortable list of past assistant interactions grouped into sessions, each row showing project name, script name, model used, prompt preview, token count, and credits spent, with an expanded panel showing the full prompt, the attached ARC script context, and the assistant's code reply

Simple, Transparent Credit Billing

The AI Script Assistant runs on a credit system. Pick the model that fits the job — a small fast model for quick fixes, a frontier reasoning model for complex multi-step generation — and pay only for the tokens you actually use.

  • You pick the model. Multiple OpenAI models supported, each with its own credit rate based on real token costs.
  • You see the cost. Every conversation turn logs token counts and credits used, visible in your history.
  • Failed requests are free. If the provider returns an error, you're not charged — only successful replies cost credits.
  • No surprise spend. Requests that would exceed the selected model's input window are rejected before any provider call is made.

Stop Looking Up APIs. Start Building Robots.

The AI Script Assistant ships free with Synthiam ARC. Download ARC, open any JavaScript or Python script, and ask the assistant for the robot code you want — using the globals, ports, and Robot Skills your project already defines.

Get ARC Free → Buy AI Credits → Read the Docs