What's new in Pictorus - Q1 2025
New DSPs, SPI + PWM Support, Added Hardware Targets, Team Collaboration and More
Greetings and happy new year from all of us at Pictorus! Last quarter saw a ton of new features released to production - from a pair of new digital signal generators, to new I/O protocols and embedded board support. We also made it easier for you to manage your teams, and are gearing up for a major release later this year.
New DSPs: Sawtooth and Triangle Wave Generators Now Available
We've rolled out a few new digital signal generators: The Sawtooth generator and the Triangle Wave generator. A sawtooth generator produces a waveform that ramps up (or down) linearly and then sharply resets, like the teeth of a saw. It's great for things like simulating mechanical motion or generating harmonics-rich audio signals. In contrast, a triangle wave generator creates a steady back-and-forth ramp, making it ideal for smoother, more symmetrical oscillations—perfect for applications like modulation or when you need a more balanced signal. For both, you can tune the frequency, amplitude, bias or phase shift to your liking.
Serial Peripheral Interface (SPI) Protocol Support
SPI support is here! Unlike UART's simple one-to-one communication and I2C's shared bus for multiple devices, SPI shines with high-speed, full-duplex data transfer and dedicated lines for each device. It’s perfect for applications requiring rapid, reliable communication with sensors, displays, or memory chips in real-time systems.
As described more fully in our block documentation, we expose a host of configurable parameters to users, simplify receiving and transmitting SPI data, dependent on whether the hardware target is bare-metal embedded or backed by a LinuxOS:
Pulse-Width Modulation (PWM) Support for Embedded Targets
In addition to SPI, we've further enhanced our protocol support by extending PWM support from LinuxOS-backed hardware targets only, to now any of our supported STM32 embedded processors.
Cloud-Native Collaboration with Teams
All Pictorus users create a new "Team" when they sign up. Now, it's very easy to manage your team through our portal - adding and removing members, managing admin settings, etc. Users can be a member of any number of teams, so you can easily switch between different projects. Within our flexible pricing tiers, teams can manage their memberships easily on their own – no need to wrangle desktop-specific license keys, contact support, or any of that nonsense!
All team members share full access to any apps owned by the team, allowing users to easily collaborate on apps. We have locking mechanisms in place that allow engineers to effectively reserve Components they are working on, preventing other teammates from accidentally stepping on their toes. Later this year we will release support for more advanced multi-user collaboration on apps.
Check out our Teams documentation to learn more!
Additional STM32 Hardware Target Support
We're pleased to announce a duet of new STM32 hardware targets supported by our platform - the STM32U083RC and STM32F439ZI product lines are now fully supported targets for software deployment. As always, please reach out if your preferred hardware target is not currently supported - we're constantly adding new board support and love to hear what you're using!
ArgMin Block
Last quarter we added the ArgMin block, a core algorithm in numerical computing that emits the index of the min (or max) element in a vector of elements, making downstream querying of min/max values much easier. A good example might be when you need to know which row of a matrix to select, based on the occurrence of a minimum value in another corresponding vector. Chaining together ArgMin with VectorSlice achieves this. For 2D matrices, the ArgMin blocks returns the linear index of the min/max value of the entire matrix.
Looking Forward in 2025...
Besides continuing to stack on new hardware targets, communication protocols, block algorithms and collaboration tools like those described above, we're also working on some much larger technical goals in 2025 worth calling attention to as we kick off the new year.
Most notably, we plan to open source our entire Pictorus Core in 2025. At our core, we believe open source software is the future. It's the only way to truly achieve the level of transparency that modern software trust is built upon, and ultimately, to increase our project's velocity by expanding the pool of contributors and testers. By showing how all our software works under the hood, we're giving users several powerful tools they may not be used to in legacy products like Simulink or Ansys.
First, the ability to inspect and verify all source code implementations for yourself. You don't need to trust us, and there's no NDA required to see what's happening under the hood. We lean heavily on first class Rust crates such as NAlgebra, Embedded HAL, and Serde, and want all our implementations to be well understood by our users.
By doing this, we also will be publishing our bug tracker, allowing users to raise issues they encounter with algorithms or protocols, request additional functionality, and contribute to the project themselves. This will give users additional insight into time horizons involved in getting their desired features across the finish line, as well as the status of known issues.
Lastly, by open sourcing the Pictorus Core, we position the product for a future where users can fork and modify functionality to their heart's content. Rather than waiting for our team or the community to fix a critical issue, Pictorus users will be able to quickly create a custom fork of their own, where they can fix any issues and introduce any additional (i.e. proprietary) functionality they wish.
For the time being, there will still be a good bit of Pictorus that isn't completely open source - we provide a lot of code generation, compilation, and IoT infrastructure which will remain in-house for now. But by taking this first step in opening up our most foundational code, we're excited to push further and further into open source as the Rust embedded ecosystem continues to evolve.
Stay tuned for more!