Using .NET 10.0 And Avalonia
OneWare Studio is the next generation IDE for electronics development. It supports a broad range of development languages including VHDL, Verilog, C++, and more. It is designed to streamline electronics development with features like a high-speed simulation viewer and advanced debugging tools. OneWare Studio also offers extensive customization with an extensible architecture for custom tools and strong support for digital twin technology, making it ideal for firmware and hardware development across diverse applications.
These are a few of the current features:
- Comprehensive support for VHDL and Verilog for streamlined digital design
- Vendor-independent support for FPGA development
- Support for simulation tools like GHDL or IVerilog with a integrated high-speed, multithreaded VCD Viewer
- Extensible architecture to unlock additional functionality and hardware support with custom extensions
- All the features you would expect from a modern IDE, with built-in GIT support
Download and get started here!
With ONE AI, anyone can create custom AI models in minutes without AI expertise. Train powerful models on our cloud servers, then deploy lightweight, optimized models that run efficiently on any device - even resource-limited microcontrollers.
quick-start.webm
More information about One AI here
- Install .NET SDK 10.0
- Clone this repo
git clone --recursive https://github.com/one-ware/OneWare.git cd OneWare/studio/OneWare.Studio.Desktopdotnet run
A configuration profile (*.onewareconfig) captures IDE settings (including custom package sources) and installed
packages.
Export one from a configured installation via Extras → Export Configuration..., then have every deployed machine
apply it automatically by setting ONEWARE_CONFIGURATION_PROFILE — either in OneWareStudio.defaults.json above, as a
real environment variable, or via the --configuration-profile argument:
OneWareStudio --configuration-profile /workspace/team.onewareconfig
OneWareStudio --configuration-profile https://config.example.com/team.onewareconfigThe value is a local file path or an http(s) URL, so a profile can be served centrally and updated without touching
each machine.
By default a profile is applied only when its content differs from the last profile applied on that machine, so it will
not overwrite settings the user changed afterwards. Set ONEWARE_CONFIGURATION_PROFILE_MODE to always to re-apply on
every launch instead:
{
"ONEWARE_CONFIGURATION_PROFILE": "https://config.example.com/team.onewareconfig",
"ONEWARE_CONFIGURATION_PROFILE_MODE": "always"
}Packages that are already installed are left untouched, and a profile that cannot be downloaded or parsed is logged and
skipped rather than blocking startup. A package entry without a version installs the latest stable version. Settings
that are only read while the application starts take effect on the next launch.
Python source and stub files (.py / .pyi) use Pyrefly. With automatic binary downloads enabled
under Settings > Experimental > Environment, opening a Python file installs the pinned native language server.
Alternatively, install Pyrefly from Package Manager or set Settings > Languages > Python > Pyrefly Path.
Native packages are provided for Windows, Linux, and macOS on x64 and ARM64; pip and Node are not needed to host the server.
The former pylsp integration and its executable-path setting are no longer used.
Use Code > Python > Select Interpreter... or the Python: Select Interpreter command to choose an existing interpreter for the active Python file's workspace (or the active project). The picker lists detected environments and supports browsing, refreshing, and returning to Automatic. Selections are saved in this machine's IDE settings, not written into the project.
Automatic resolution uses the workspace's .venv, then venv, then Settings > Languages > Python > Default Python
interpreter, then Python on PATH. An explicit workspace selection overrides that chain. Missing explicit selections
are reported and pause Python language analysis rather than silently selecting a different interpreter. With no Python
installation and no explicit selection, available Pyrefly analysis remains usable, but third-party imports cannot be
resolved reliably. OneWare does not install Python runtimes or create virtual environments.
Interpreter changes update the workspace's analysis without reopening files. Pyrefly project configuration can take
precedence over the IDE's interpreter fallback, including an explicit project interpreter or skip-interpreter-query.
Type-checking strictness follows Pyrefly's project configuration and upstream defaults.
The interpreter selection configures language analysis, not terminal activation or a Python run/debug configuration.
Basic newline indentation and # commenting work independently of the server. Pyrefly does not supply document
formatting; Ruff/formatter integration is not included.
| Package | Download |
|---|---|
| OneWare.Essentials | |
| OneWare.Settings | |
| OneWare.UniversalFpgaProjectSystem | |
| OneWare.OssCadSuiteIntegration | |
| OneWare.Vcd.Parser | |
| OneWare.Vcd.Viewer | |
| OneWare.WaveFormViewer | |
| OneWare.Templates |
Documentation Coming soon!
OneWare is licensed under the Apache License 2.0
Join our growing community!



