Skip to main content

Studio Overview

The Studio is the visual programming environment in the HMCLS app. Build programs by dragging blocks onto a canvas — no low-level code required.

Two-Segment Model​

Every program has exactly two sections:

SETUP
Acquisition
acquisition start
Variables
declare variablenamecounterinitial0
LOOP ~1 kHz
Variables
add (+)counter+1
Control
ifcounter>=1000
Variables
set to numbercounter=0
IO
LED toggleLED1 (green)
SectionRunsPurpose
SetupOnce, at script startInitialize hardware, declare variables
LoopRepeatedly, ~1 kHzCore logic that executes every ~1 ms

Variables declared in Setup persist across loop iterations — their values are never reset when the loop restarts.

Interface Layout​

  • Block palette — left panel; browse and drag blocks grouped by category
  • Canvas — centre; Setup area at top, Loop area below
  • Compile button — converts block graph → compact binary program
  • Upload button — sends the program to the device over the network

Palette Groups​

GroupContents
VariablesDeclare, assign, and compute on integer variables
ControlIf/else, if flag, repeat, wait, end iteration
AcquisitionStart/stop acquisition, read RMS, spike events, elapsed time
I2CRead and write to external I2C devices
IOLED control
DebugLog messages and variable values to the Serial Terminal
NetworkSet/test event flags, send commands to other boards
HeadstageConfigure signal chain (bandwidths, mode, spike detection)

Compile & Upload Workflow​

  1. Build your program on the canvas.
  2. Click Compile — any errors (undeclared variables, invalid configs) are highlighted inline.
  3. Click Upload — the app stops the running script, transfers the new program, and starts it.
  4. The device begins execution immediately.
tip

The op budget shows compiled program size. Stay under 512 operations in the Loop section.