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 bar → Color 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, sizes, and what the dash really draws

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

Changed in 0.5.6.0 — your dashes may look different when you open them. The font size on a value is a ceiling, not the size you get. The dash fits the number of characters the box is set to hold into the width of the box, so two boxes with the same font size and different widths come out at different sizes on the device. DashEditor used to ignore that and drew both at the size you typed — which is why a layout could look right here and wrong on the dash. It now measures and fits the same way the device does. Nothing in your file has changed. If a value now looks small or crowded, that is how the dash has been drawing it all along; give the box more width, or set it to hold fewer characters.

A newly placed value also starts at a sensible size for its kind of channel — a gear comes out large and one character wide, an RPM at five characters, a temperature at four — instead of every value starting the same. These come from measurements across a few hundred real RaceStudio 3 configs. For a channel we have no measurement for, nothing is guessed and the default is left alone.

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+I → Numeric 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+I → Horizontal 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+I → Multi-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.

New in 0.5.6.1 — clicking agrees with it too. Until this release the editor drew elements in the dash's order but selected them in the order they happen to sit in the file. On a page where those two differ, clicking a box picked one hidden underneath — and the box you were looking at could not be selected at all, by clicking or right-clicking. Both now use the order the dash uses.

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. Putting your own image behind a page

Edit → Set Page Background from Image… puts any picture you have — a photo, a rendering, a logo, a whole dash design done in another program — behind the current page. Pick the file and it is scaled to the page and written into the config.

This writes the background the device paints, not just a preview in the editor. What you see on the canvas is what appears on the dash.

Pair it with Invisible Chrome for a design of your own. Run Tools → Generate Invisible Chrome from current theme… first and the stock boxes, frames and dividers stop being drawn — leaving your artwork as the page, with live values sitting on top of it exactly where you place them. That is the whole trick behind the custom dashes in the gallery.
Sending it to someone? Export the bundle from 0.5.6.1 or later. A page background is three files: one DashEditor shows you, one RaceStudio 3 shows, and one the device paints. Before 0.5.6.1, Export Install Bundle collected the first two and left out the third — so the bundle installed cleanly, looked right on the recipient's PC, and their dash painted the stock flat colour behind your artwork. If you have already sent someone a bundle with a page background in it, export it again from this version and send that.

Use a picture at the device's own resolution where you can. A much larger image is scaled down and costs nothing but space; a much smaller one is scaled up and will look soft on the dash.

26. Colouring the text and the caption pill

In the box designer, the text colour and the caption-pill colour each have their own swatch. Set them per box — a warning value in amber, a caption pill matched to a team colour.

The caption pill picks a readable ink for itself automatically based on the colour behind it, so a dark pill gets light lettering without you doing anything. Choose a colour explicitly and your choice wins.

The colour you pick is now the colour you get. Earlier versions quietly repainted dark text white when they judged it hard to read. That has been removed — it overrode deliberate choices. If text is now hard to read against its background, change one of the two colours.

The caption pill is a fixed height and no longer grows when you enlarge the box, and dividers no longer draw through it.

27. The ± reference-time bar

A bar that shows how far ahead of or behind a reference lap you are, filling from the centre out — left for down, right for up. Add it from Insert, like any other element.

If you looked for this before 0.5.6.0 and could not find it, that was a bug, not your device. It searched for a bar template by name, and that name only ships on MXT, MXT Strada and PDM dash1 — so on MXG 1.2, MXS 1.2, MXP, SW4 and PDM dash2 the feature simply was not there. It now finds the right bar on any page set that carries one. Try again on your device.

28. Keeping box artwork in sync

Tools → Refresh box artwork regenerates the images behind your styled boxes. Reach for it if a box looks stale after you have changed a style, or if artwork has gone missing on a config that used to render.

The Box panel also warns you when a multi-cell grid no longer matches the number of values it holds — for example after you delete a value out of a 3-cell box and leave the grid set to three. The warning tells you the grid and the contents disagree, before the dash shows you a gap.

29. Opening a config by double-clicking it

From 0.5.7.0, double-clicking a .zconf2 file opens it in DashEditor, and so does right-click → Open with → DashEditor. Earlier versions started up empty and ignored the file, so the only way in was File → Open from inside the app.

If Windows does not offer DashEditor in the Open with list, choose Choose another app, browse to DashEditor.exe, and tick Always use this app.

30. The window remembers where it was

DashEditor now reopens at the size, position and screen where you last closed it, the way other Windows programs do.

If that screen is gone — you undocked a laptop, unplugged a projector — the window comes back on your main screen instead of opening somewhere you cannot reach the title bar to drag it back.

A related annoyance is fixed too: clicking certain elements used to make the main window slightly wider every time, so over a long session the window walked itself off the edge of the screen. The properties panel now scrolls instead of pushing the window wider.

31. Why a bar used to look wrong in the editor

Before 0.5.7.0, DashEditor drew every value bar as though its channel ran from 0 to 100, whatever scale you had actually set. A water-temperature bar set to 60–120 °C sat pinned near the top. An oil-pressure bar set to 0–10 bar barely left the left-hand edge.

The dash itself was always right — only the editor’s preview was wrong, so a layout that looked wrong on screen worked correctly on the device. If you moved or resized a bar to compensate for what you saw in the editor, open that config in 0.5.7.0 and look again: the preview now matches the dash, and your compensation is probably no longer wanted.

Nothing in your config was ever changed by this — it was a display fix in the editor only. Bars with an inverted range, common on temperature and pressure warnings, also filled from the wrong end; that is fixed in the same release.

Check config also used to report some correct wide bars as “too wide”, and Repair would shrink them — making a working dash worse. Repair now leaves a bar alone when its stored width is itself in doubt, and tells you why. The PDM32 10" stretched demo bundle carried the same stale number and has been re-cut; if you installed it, download it again.

32. “I saved a template but RaceStudio 3 cannot see it”

Save as template does two things: it stores the template in DashEditor, and it registers it with RaceStudio 3 so the RS3 template picker can find it. Before 0.5.7.0, when the second half could not be done the save still reported success and the template simply never appeared in RS3.

It now tells you, and tells you which of the two it is:

Fixed in 0.5.7.1 — the missing Homebrew tab. On some PDM08 and PDM32 configurations the tab never appeared in RaceStudio 3, no matter how many templates you saved. Nothing you did caused it and there was no setting to change. DashEditor was writing the template to a valid folder, but not the one your configuration reads — RaceStudio 3 lists the templates that sit beside the pages your config actually uses, and for these configs that is a different folder from the one DashEditor worked out from the device type. The template was complete and correctly marked the whole time; it was simply somewhere your RaceStudio 3 never looked.

DashEditor now writes the template where your configuration points, and keeps writing to the old place as well, so nothing you already have disappears. If your Homebrew tab has been missing: update to 0.5.7.1 and save the template once more — it will appear.

One limit worth knowing: templates installed from the gallery, imported from a bundle, or rebuilt after a RaceStudio 3 reinstall still use the old folder only. If the tab ever disappears again after reinstalling RaceStudio 3, save the template once more from DashEditor and it comes back. A fix for that path is next.

34. “There is an extra outline on my dash that is not in the editor”

Fixed in 0.5.7.2. If your display showed a faint extra box edge, divider or half-box that does not appear in DashEditor or in RaceStudio 3 on the same page — that was a real fault, not something you did.

A box could end up declaring one size while the artwork it uses was a different size. The display draws the artwork; both editors draw from the declared size. So the difference was invisible everywhere except on the dash, where a box 40 pixels too tall drew its bottom edge inside the box below it.

DashEditor now resizes the artwork to match the box whenever the two disagree — when you drag a box, type a new Width or Height, restyle it, duplicate it, or save the page as a template.

If your dash already shows it: open the config and re-save the page as a template, or nudge the affected box’s size. Opening a config does not rewrite it on its own — DashEditor does not change your files behind your back — so the correction happens the moment you touch the box. A one-click check-and-repair is planned.

35. Editing a box or gauge picture in your own image editor

New in 0.5.8.0. You can take the picture behind any box or gauge, change it in Photoshop, GIMP, Paint.NET or anything else, and put it back.

  1. Right-click the element → Export artwork to folder… and pick a folder. You get mask.png and a short README.
  2. Edit mask.png. Keep the same width and height and keep the file name.
  3. Right-click the element → Replace artwork from folder… and pick the same folder.

Before anything is written, DashEditor tells you what the change reaches. If other elements use the same picture, they change too. If it is AiM’s own artwork, it changes in every config on this computer that uses that page set — read that warning.

The old picture is saved first. Undo (Ctrl+Z) puts it back; the saved folder named in the message puts it back later.

Wrong size? DashEditor refuses it and offers to scale it to fit. A picture that does not match the box size is what causes stray outlines on the dash.

“This box’s artwork is drawn by DashEditor”? A box with a DashEditor box style is redrawn from its style whenever it is resized, so your picture would be lost. Set its style to Clean (no box) first, then replace the artwork.

A box with a fill colour shows the colour instead of a picture, on the dash too. Replacing the artwork removes the fill colour so your picture shows. Undo brings the colour back.

36. “The editor looks different from RaceStudio 3”

Fixed in 0.5.8.0 for three common cases. If your dash used to look wrong in DashEditor but right in RS3 and on the device, update:

Nothing in your config changes — this is how the editor draws, not what it saves.

37. The one-line warning when a config opens

New in 0.5.8.0. DashEditor runs Check config as a file opens and, if it finds something, says so in one line. It does not change your file — that only happens when you press Repair.

Two problems it now catches:

38. “Template is in use” when deleting a template

New in 0.5.8.0. DashEditor will not delete a template set that one of your RaceStudio 3 configurations still uses, and lists which ones.

Deleting it would leave those configurations pointing at pictures that are gone, and RaceStudio 3 then shows an “Internal error while loading an image” box for every missing picture, every time the config opens — easily a hundred of them.

Move the configurations to another template, or delete them in RaceStudio 3 first, then delete the template.

33. 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