How to use DashEditor

For DashEditor v0.5. Windows 10/11.

In a hurry? Read the 2-minute Quick Start first, then come back here for the detail.

DashEditor is a visual layout editor for AIM dashboards. You lay out and style what shows on the screen — boxes, values, bars, icons, colours — then send the config back to RaceStudio 3 (RS3) and on to the device. DashEditor is layout only: channel definitions, CAN/ECU streams, math channels, shift lights, alarms and icon trigger conditions stay in RaceStudio 3, where those tools already live. Think of it as: RS3 defines the data, DashEditor makes it look good.

New to the app? First install it and activate your licence — see the install notes (Windows SmartScreen is expected on first run). Without a licence the editor runs in demo mode: open and browse layouts, move elements, but Save / Insert / Delete / Resize / New Page are locked.

1. The core workflow

DashEditor edits AIM .zconf2 config files. The round-trip is always the same:

  1. In RaceStudio 3: build/finish your channels, then Save the configuration.
  2. Open that .zconf2 in DashEditor (File → Open, Ctrl+O).
  3. Edit the layout — move, size, add, style.
  4. Save (Ctrl+S) — or Save As… to keep the original untouched.
  5. Import the file back into RaceStudio 3 and Transmit it to the device.
Use Save As… the first few times so you always have the original to fall back to.

2. The interface

3. Selecting and moving — box vs. cell

There are two things you can select, and it changes what "position" means:

Single-value boxes select as a box — one click, slide it anywhere. Multi-value boxes let you click an individual cell to nudge just that value.

If a value won't move as far as you expect, you've probably selected a cell inside a multi-cell box. Click the box's edge/background (or use the element list) to select the whole box instead. Type exact numbers into Position X/Y and Size Width/Height for pixel-perfect placement.

4. Adding elements — Insert

Edit → Insert Element… (Ctrl+I) opens the picker. Choose a Type, (usually) a Channel, and it drops onto the page.

Want a box with no live value? Use a Static label (any text, no channel) or an Icon — both are channel-free.

5. Styling a box

Right-click a numeric value → Box style… (or use the Box section in the property panel):

DashEditor generates the box artwork and installs it into your RaceStudio 3 overlay so the styled box shows in RS3's editor and on the dash.

6. Colored RPM / shift bar

Right-click an RPM barColor bar (green→amber→red) (or use Color… / Remove color in the property panel's Scale Range section). DashEditor paints a smooth gradient fill and installs it. It's undoable and the colour survives re-open; the bar stays click-selectable in both DashEditor and RS3.

The gradient spans 0 → the bar's scale max, so set the bar's Max to your engine's redline for a shift-bar feel.

7. Layering (z-order)

When elements overlap, right-click the element (mask) and use Bring to Front / Send to Back, or Move Up / Move Down one step at a time. Rule of thumb: page background at the back → boxes/masks → values/labels on top → icons/overlays last.

8. Channels and the ⚠️ warning

Each value/bar is bound to a channel. To change it, select the element and pick a new Channel in the property panel.

If RaceStudio 3 shows a yellow ⚠️ on a box, it means the bound channel isn't present in that config's channel set — RS3 can't find live data for it. Common on devices (like a PDM) that receive RPM/GEAR/etc. over CAN from the ECU. Fix it in RS3: add/enable the channel (Channels / CAN streams / Math channels), or rebind the box to a channel that exists. It's a channel-config gap, not a layout problem.

9. Fonts and the size gotcha

Set Value Font and Label Font (family, size, colour) in the property panel.

Firmware font sizes are quantized. AIM devices render text from pre-baked bitmap fonts at fixed pixel sizes (e.g. 18 / 20 / 23 / 24 / 42 / 61 / 111 on MXG 1.2). A size outside that set can look corrupt on the actual dash even if it looks fine in the editor. Stick to the sizes the picker offers.

10. Pages

Right-click empty canvas: New Page, Duplicate Current Page, Delete Current Page. Duplicate is often better than New Page when you want a page that already matches the device — you start from a working layout and edit.

11. Saving and getting it onto the device

  1. File → Save (or Save As…).
  2. Import the file into RaceStudio 3.
  3. Transmit to the device from RS3.

Hardware-test with analog channels (trim, pressures, temps) — they read live noise even at idle, so rendering issues show immediately. RPM/GPS/lap all reading 0 is ambiguous.

12. Sharing a styled config (asset caveat)

Styled boxes, coloured bars and icons use artwork DashEditor generates into your RaceStudio 3 install — that artwork is not inside the .zconf2. So if you send a styled config to another machine, their RS3 won't find the images and shows "Internal error while loading an image." It renders fine on the machine that created it. A plain (unstyled) config shares cleanly; styled configs are best kept on the machine that built them. (Bundling assets with a config is on the roadmap.)

13. Worked examples

A colored data box for oil pressure

  1. Ctrl+INumeric value → channel Oil Pressure → Insert.
  2. Drag it into place; set exact X/Y in the panel.
  3. Right-click → Box style… → pick a style, set Color (e.g. cyan), Caption = OIL P.
  4. Set the Value Font size from the offered sizes.
  5. Save As… → import into RS3 → transmit.

A colored RPM shift bar across the top

  1. Ctrl+IHorizontal bar → channel RPM → Insert.
  2. Drag it full-width along the top; size it in the panel.
  3. Set the bar's Max to your redline (e.g. 8000).
  4. Right-click → Color bar (green→amber→red).
  5. Save → RS3 → transmit. The fill runs green low, amber mid, red near redline.

A grouped "FUEL" box with several values

  1. Ctrl+IMulti-value box → choose rows × columns and label placement → assign a channel per cell.
  2. Right-click the box → Box style… → set Caption = FUEL, choose a border colour.
  3. Click an individual cell to fine-tune one value; click the box edge to move the whole box.
  4. Save → RS3 → transmit.

The public gallery lives at dasheditor.speedfreaks.no/templates. Browse a theme, click Install, and your browser launches a dashtheme:// link — pick DashEditor (it registers itself on first run) and it fetches the bundle, verifies the signature, and drops it into your library.

15. Using AIM's built-in gauges and bars

RaceStudio 3 already ships thousands of ready-made dials, bars, icons and value boxes — rev counters, speedometers, ring gauges, shift bars. DashEditor can show you all of them in one place: Tools → AIM Element Library.

The first time you open it there is no index yet. Press Refresh index and DashEditor scans your RaceStudio 3 installation. That takes a few minutes, so it is a button rather than something that happens every time you start the app — press it again after you install a new device in RaceStudio 3, and not otherwise.

Each element is drawn with its own artwork, so you see the actual dial face, the actual bar, at its real proportions. Value boxes show as an outline because that is genuinely what they are: the frame is invisible on the dash and only the number you bind to it is ever displayed.

Why you don't see every gauge

The library opens showing This config — only elements belonging to the device your config is for. That is deliberate. A gauge's artwork belongs to one device, so a dial from an MXG cannot simply be dropped into an MXT config.

The Device dropdown widens the view in two steps:

Hover any element and the tooltip tells you which case it falls into.

Elements marked not installed belong to a device you have never downloaded in RaceStudio 3. The artwork simply is not on your computer yet. Add the device in RaceStudio 3 first, press Refresh index, and it becomes available.

Rev counters read the right numbers

A dial keeps its ring and tick marks in one image and its numbers in another, one per rev range — 7,000 rpm, 14,000 rpm and so on. DashEditor now draws the same numbers your dash will, chosen from the rev range set in your config. If it cannot tell, it shows no numbers at all rather than guessing, so what you see in the editor never disagrees with the hardware.

16. Installing a config in one click

Sharing a styled config used to mean sending a file and a folder of artwork, with instructions to copy it into the right place inside RaceStudio 3. That step is gone.

Use Export Install Bundle to package a config with everything it needs. Whoever receives it opens the bundle in DashEditor and the config plus its artwork are installed together, ready to transmit.

The same machinery powers the in-app Online browser: pick a config, click install, and it lands in your RaceStudio 3 install directly.

Close RaceStudio 3 before installing. It holds its files open while running, and DashEditor will tell you rather than half-writing an install.

17. Elements stack the way the dash stacks them

Where elements overlap — a value sitting inside a gauge face, a label over a bar — DashEditor now follows the same front-to-back order your dash uses. Previously the editor could show a different stacking order than the device, which mattered as soon as you added or reordered elements on a busy page.

18. Changing what a gauge shows

Click a gauge and pick a different channel from the Channel dropdown in the properties panel. The dial updates straight away — including its numbers and its unit, so a dial that read km/h reads rpm, with the rev numbers to match.

This is the quickest way to turn a stock template into your dash. Start from any layout AiM ships, point each gauge at the channel you actually want, and save. There is no need to rebuild the page.

If your config is driven by an ECU and the Channel dropdown used to show (none) for every gauge, that is fixed. Channel names are stored in two slightly different forms inside a config and DashEditor was only recognising one of them, so nothing appeared to be bound. Twin-engine and ECU-stream configs now rebind normally.

19. Swapping a gauge or box for a different look

Right-click any element and choose Swap artwork…. You get the alternatives your dash already ships, drawn with their real artwork, and you pick the one you want.

This matters because some differences you would expect to be settings are not. The rev counter with a divider line and an x1000 rpm legend is a separate piece of AiM artwork from the plain one — same dial, same numbers, different picture. Swapping the artwork is how you get it.

Your channel, position, size and slot are left exactly as they were. Only the picture changes.

Only artwork from the same page set is offered. That is a hardware rule, not a limitation we invented: a page can only use the elements it was built with, and a config that breaks it will not open in RaceStudio 3. DashEditor will not offer you a choice that would.

If the list comes up empty, DashEditor has not indexed your artwork yet. Open Tools → AIM Element Library, press Refresh index, and try again.

20. Seeing the dash without the editor in the way

Press F5, or use Tools → Preview.

Every outline, selection handle and warning marker disappears and you see the dash itself. Press F5 again to carry on editing.

This is the honest view. Dark dials under dashed boxes and click regions can look nothing like the finished article — elements can appear hidden when they are not. Preview uses the same drawing as the thumbnails DashEditor generates, so what you see is what the dash will show.

If you have been saving a config and opening it in RaceStudio 3 just to see how it looks, this replaces that trip.

21. Checking a config for problems

Open Tools → Check config….

DashEditor reads through every page and reports anything whose geometry does not add up — a click region that does not match the box it belongs to, a bar whose fill sweep disagrees with its own width, an element sitting off the edge of the page. These are the faults that make a dash look right in the editor and wrong on the device, so they are easy to ship without noticing.

Double-click any finding and DashEditor jumps straight to that page and selects the element, so you can see what it is complaining about instead of hunting for it.

Copy report puts the whole list on the clipboard as plain text — handy for pasting into an email.

Findings are split into errors and notes. Notes are things that are unusual but not necessarily wrong — borrowed artwork, an element deliberately parked off-page. A config with only notes is generally fine.

22. Repairing what it found

The check dialog has a Repair button. It fixes only the faults it can work out the correct answer for: a cell's click region is snapped to the element it marks, a whole-box region to the box, a bar's fill to the bar's own width.

It then re-runs the check and shows you the result, so anything it could not fix stays on screen rather than quietly disappearing.

Some things are deliberately left alone, because guessing would be worse than leaving them: missing artwork (the file is not on this machine), an element placed off-page (that may be exactly what you meant), and elements borrowing a slot from another page set.

Your original is kept. The first time you save after a repair, DashEditor writes a copy of the config as it was to <name>.pre-repair.zconf2, in the same folder. It is written once and never overwritten, so no amount of later saving can lose the version you started with. It is an ordinary config file — double-click to open it.

If the check reports something you do not understand, use Send to support… on the same dialog. It fills in the report for you and offers to attach the config itself, so the problem can actually be reproduced rather than guessed at. Attaching is optional and the dialog always tells you exactly what is being sent.

23. Mirroring an element to the other side

Right-click an element on the canvas, or in the element list, and choose Mirror to opposite side.

You get a copy at the mirrored position across the page. It mirrors the box, not just its left edge, so a box near the right margin lands the same distance from the left margin — which is what you want for a pair of gauges, twin engine readouts, or left/right trim.

The twin is a copy, so it still shows the same channel as the original. Rebind it, or you will end up with two gauges reporting one engine. DashEditor says so in the status bar after the mirror.

24. Lining up the numbers in a box

With a value selected, use the Value alignment control in the properties panel to set whether the reading sits left, centred or right within its box.

This matters most in a column of readouts: right-aligned numbers line up on the decimal point, so a value that swings between one and three digits stops jumping around as you drive.

The change goes through undo like everything else, so you can try it and back out.

On some elements the control is greyed out. Those are boxes whose width is derived from the text itself rather than set explicitly — there is no spare room to align within, and forcing it would move the value instead of aligning it. DashEditor disables the control rather than let you break the layout.

25. Troubleshooting

Still stuck? Help → Send debug report… packs your settings, the recent log, your device list and (optionally) the open config into a ZIP and sends it to us — or email support@speedfreaks.no with your .zconf2 and a sketch of what you want.

← back to DashEditor