JMT Studio v1.7.1 - Free Cross-Platform App for ProffieOS Workflow (Edit, Compile, Flash, Manage)

I’ve been building a desktop application to improve my workflow for some time now and it’s been a great addition to my toolset. I wanted to overcome some of the challenges I’ve had keeping track of all my sabers (yes, I have a problem and I suspect I’m not alone :smirking_face:) running different configs and different ProffieOS versions. When OS8 came out, I found myself feeling more pain than I thought was necessary updating my sabers and ensuring my customizations would work on all of them. After a lot of development and testing, I finally reached a point where I felt it was ready for public release. It’s completely free. It’s helped me quite a bit, and I wanted to share with the community. I’d love it if you gave it a try and I’m open to questions, feedback, comments here in this thread. Enjoy!

Download for Windows, Mac, or Linux:

What is JMT Studio?

The following list is probably not exhaustive, and I’m continuing to develop new capabilities for future releases. The primary design philosophy I’ve followed in my development is to make it easier to understand without obscuring or removing the things that make ProffieOS so powerful. You work with your current configs in a text editor with some enhancements to help along the way.

Edit and navigate configs

  • IDE-style editor for .h config files with syntax highlighting, file compare, and direct in-app browsing of the entire ProffieOS source tree
  • Bracket diagnostics for unmatched < > in style expressions with hints toward the missing piece
  • Atomic undo: single Ctrl+Z reverses whole operations, not partial edits

Presets and styles

  • Visual preset editor with drag-and-drop reorder, multi-bank Preset[] organization, and automatic CONFIGARRAY() routing
  • Visual color editing for RgbArg<> defaults. Full StylePtr<> syntax preserved, not simplified
  • Inline IntArg editing without leaving the style editor
  • Wrapper-vs-inner color mismatch warnings on wrapped styles

Compile, flash, recover

  • Built-in serial monitor with command history, line filtering, smart auto-scroll, and automatic port release/reconnect during flashing
  • Compile and flash in one place. No separate Arduino IDE juggling, no duplicated ProffieOS folders
  • Real board-state awareness (serial / DFU / mismatch) with guided recovery
  • Platform-aware DFU setup enabling optional guided install of Hubbe’s Proffie DFU tool on Windows, one-click Copy Commands on Linux, automatic dfu-suffix patches for Linux and Apple Silicon

Your saber collection

  • One .h config file per saber. No folder management, no moving configs in and out of ProffieOS for each compile.
  • Built-in starting template for new configs, or replace it with your own if you have a preferred base
  • Favorites and recent files for quick navigation

ProffieOS version management

  • Run multiple ProffieOS versions side-by-side. Select a version for each saber, change it anytime, or duplicate a version to keep a safe rollback point before an update. One install per OS version, available for as many sabers as you need.
  • JMT Add-ons: one-click install of optional extras (my custom Fett263 prop wrapper, helper styles, charging-style features) into any installed ProffieOS version. Try them or skip them; the rest of the app works the same either way.

Cross-platform, signed and verified

  • Windows installer signed via Microsoft Trusted Signing: no “Unknown Publisher” warning
  • macOS Apple Silicon and Intel DMGs, both signed and Apple-notarized
  • Linux .deb with desktop integration plus universal AppImage
  • In-app updater picks the right architecture for your Mac

You stay in control

  • Standard ProffieOS configs you already have or generate in whatever tool you like. No proprietary format, no lock-in, fully editable as ProffieOS code

  • Full source code on GitHub for transparency: no hidden firmware manipulation

  • Import the ProffieOS install you already have, or pull official releases from GitHub directly inside the app. JMT Studio doesn’t bundle, fork, or replace ProffieOS itself.

  • Over 1,400 cross-platform verification cases personally executed before release

7 Likes

This sounds pretty incredible! I am going to try it on fedora

1 Like

Thanks! The AppImage should be your desired download for Fedora. Let me know how it goes. I haven’t personally tested on Fedora yet (running Ubuntu) so I’d love any feedback if you hit anything specific.

So I have had a tab open forever to JMT Prop Addons | JMT Foundry and really only took a good look just now.
I downloaded the macOS version but haven’t cracked it open yet.
I will give it a run-through and give you feedback when I do. But I’m posting first as something really stands out to me, particularly in your “interview” blog entry.

Why oh why did you have a workflow where you had entire ProffieOS directories copied over and over again for each saber? You said it drove you nuts and became the catalyst for making JMT Studio?
One ProffieOS folder, one config folder containing all the configs for all the sabers. That’s all you need. If you want a different OS version, just copy the whole config folder into it and you’re done.
I guess it just hits me as strange because you obviously understand how it works, but you just didn’t arrange things that way? Like, why so… convoluted?

Anyway, I suppose that’s in the past now if you use your tool for things, I’m just curious about your file management beforehand.

I’d likely be more inclined to play with it if the prop were selectable (I’d like to use mine, saber_BC_buttons). I mean I see where I can swap it out manually in the code of course, but I didn’t go digging deep to see if there’s any prop dependencies more than “include the whole prop here first, then…”

Thank you for taking a look at it, and for your willingness to play with it and give feedback. It really does mean a lot to me.

My original file management started closer to how you described, and I do understand that’s the easier way to go. I could have kept them all in the config folder and changed the ProffieOS.ino reference to the one I was working on. There are likely other ways of handling it too, I just hadn’t found anything about how to manage a dozen sabers and did what seemed ok at the time. As I expanded to many of my own sabers, and eventually sabers for others, I needed to keep a copy of exactly what was used to compile a particular saber. Early on I was forking the OS and the Fett prop to get features I wanted and had given to others, and my forked version would change. Storage on my PC was cheaper than accidentally flashing the wrong one (did exactly this a few times and didn’t want to do it again). It ended up less a file management system and more a build record.

When OS8 was officially released, I needed to verify it against my customizations, and my own system became completely unmanageable. That was a big part of why JMT Studio exists. It was an attempt to manage many sabers with functionality beyond stock ProffieOS while combining what I liked about the tools I was using into one application. Since those early days, my add-ons have decoupled and no longer require forking an OS, so they would fit the saner arrangement of just keeping config files. But managing it through the app lets me use my configs across different OS versions more easily, or even my own custom versions I’m experimenting with, without keeping separate copies or commenting and uncommenting lines of code.


On the prop dependency, the tool (JMT Studio) doesn’t ship with ProffieOS or props, and has no prop dependencies. It’s your config and your choice. My JMT add-ons are a separate piece and they were built on Fett263’s prop, which is why their instructions start with including it. They’re currently only tested with Fett263, but I intend to decouple those too so they’re more universally applicable. I had realized it would be nice to quickly link any prop in JMT Studio without having to type it, and that’s in version 1.8 which I have under development. You’ll be able to select a prop from the Config Manager tab or right click and add from the OS Version tab.




What you’ve got in 1.7 edits configs with real syntax awareness, manages your ProffieOS versions, handles the style library and preset editing, detects the board, compiles, flashes over serial or DFU, reuses a validated build instead of recompiling, and diffs configs against each other in the Monaco editor. Rather than wait until I had everything where I envisioned it, I needed to get something out there, so I launched with that.

I’ve gotten so much from this community, from prop files and your voicepacks to the OS itself. As I found something that was working well for me, I wanted to participate and give back. I hope it becomes a meaningful contribution as I keep working on it. It’s already been genuinely helpful in my own case, with the number of sabers I manage and the builds I’ve got coming for myself and others.

1 Like