Embedded Systems
Image of Circuit

Embedded development doesn't have to be painful. Let us help you leverage modern practices, techniques, and tooling to get your devices shipping sooner.

Whether you are working with a bare metal and resource constrained microcontroller, or a high performance and always connected embedded Linux system, we can get your project off the ground or back on track.

We also specialize in the testing and verification of embedded systems through software, simulation, and hardware in the loop driven testing. Need more confidence that your product will work the way you wanted it to the first time, or every time? We can help you achieve that.

Training
Image of Teacher

Ferrous Systems has the most experienced Rust trainers worldwide. Our customers include Fortune 500 companies, government organizations, and Mozilla.

Our workshops are productive, hands-on, and tailored for the needs of your developers. Exercises and examples are taken from your field of work and worked through interactively.

Our workshops can be provided at any length. Most of our clients are able to complete topics covering important aspects of the language within three days of instruction.

Open Source
Symbol Open Source

We have years of experience in free and open source environments and can not only provide you with code, but also with experience and strategy. We can help you set up a community and consult you on dealing with contributors fairly and without friction.

Ferrous Systems can also produce or support open source software on your behalf, allowing you to fill gaps in your software stack while sharing the effort with others.

Safety Critical Software
Image Computer and Key

For applications where system reliability, correctness, and functional safety are mission critical, we can help you deliver on those guarantees.

Take advantage of our experience developing software, tools, and testing for safety critical industries including Avionics and Gas Detection.

Delivering a safety critical project takes more than just writing quality code. If you're developing software under standards such as DO-178C, IEC 61508, ISO26262, or other similar standards, we can help you with the planning, development, testing, and certification of your software.

Rust Long Term Support
Image of Wrench in a Gear

The Rust programming language releases a new version every 6 weeks. But sometimes, you’d like to keep on using a fixed toolchain version. Ferrous Systems provides long term support contracts for any extended period of time. Long term service encompasses security fixes, but we can also provide logical fixes to older language versions if needed.

Ferrous Systems consists of long-term Rust contributors who track the development of the language closely, and can provide swift turn-around time for necessary fixes relevant to your dependencies.

Networked Components
Image Computer System

Concurrent and Asynchronous solutions are extremely important in today's network applications. Ferrous Systems provides fast and efficient development of connected, secure services.

Rust provides strong reliability and security guarantees, while providing high performance and easy deployability.

With years of experience in media streaming and API development, Ferrous Systems can get you moving quickly.

Rapid Prototyping
Image of a light bulb

You want to validate and explore an idea? We can help you with that. Rapid Prototyping projects are fast attempts to explore the unknown components of a problem statement.

Ferrous System will explore the challenging aspects for you, using as many off the shelf solutions as possible, allowing you to quickly focus and iterate on the innovative components of your design.

The outcome will be a complete hardware and/or software artifact, along with a written assessment of problems and challenges encountered. This allows you to better plan your full product with improved confidence and accuracy.

WebAssembly
Image of a monitor

WebAssembly is a new technology that allows deploying native code along with a JavaScript application. This allows for sharing of code between all components of your system, be it the browser, a smartphone application, or your backend services.

Native code is often less resource-intensive, making your application less memory and battery hungry. Sharing this code between your components allows you to save maintenance cost and avoid the cost of keeping multiple implementations in sync.