SaharaCloud.io: virtually prototype hardware on the cloud

Use Sahara Cloud to design, code, and test hardware systems in the cloud.

What is Sahara Cloud?

Sahara Cloud is a cloud-based hardware development platform that enables users to design, code, and test their hardware systems virtually without needing any physical components or equipment. We are currently running a private beta, join the waitlist!

Our mission is to make hardware development more accessible – because we believe everyone should be able to build cool physical products without spending a ton of money, like how developers have been able to build software applications with just their computer.

While there are many existing hardware simulation platforms on the market right now, none of them offer the flexibility and breadth of devices that makes virtual prototyping and remote system testing possible. This is why we built Sahara Cloud with the following features in mind:

  • Breadth of devices and applications: Select from our bare-metal, emulated, and simulated devices via the cloud.
  • Cloud-based IDE: Web IDE and VSCode plugin to build, debug, and run code on devices hosted in our data centers immediately without disrupting your workflow.
  • Real Time Testing: Debug, trace, and write unit and integration tests. Our digital oscilloscopes and logic analyzer features ensure your system reflects reality.

Cool, so how do I use Sahara Cloud?

1. Build your circuit

Our platform supports a variety of boards and components that you can easily drag and drop to create a simple circuit. We added integration with GitHub so you can import your own files or share existing projects with others. In our example circuit, the Arduino connection is bare-metal (the board is sitting on a server rack in our garage!) while the rest of the components are simulated.

Drag and drop from Sahara Cloud library of components to build a circuit

2. Write Code

We built our coding window to look similar to VSCode so it would be a familiar IDE for most developers. The architecture.yaml file automatically populates based on the circuit and is updated in real time, making it easy to modify the components programmatically if desired. We also have a logical view that indicates which wires are active when programming. In addition, we are working on a true VSCode plugin that will allow you to do all this locally on your own computer!

Build and run code in real time using the Sahara Cloud IDE.

3. Test in real time

In our example, we are programming the Arduino to write to the LCD screen in real time. Because the Arduino is actually hosted in our data center, you are directly accessing the physical board that is programming the simulated LCD. In the earlier LCD example, data being sent from bare-metal to simulation has a resolution of near of 100ns per pin, and we are making this faster every day!

Testing window shows real time pin signals.

What’s next?

The example circuit shown is just a very simple use case of our platform as part of our private beta (join the waitlist here). We built the Sahara Cloud infrastructure with the vision to become the “AWS for Hardware” – flexible and powerful enough to support a variety of chipsets and applications.

Over the coming months, we plan to scale up our platform to include the following:

  • Adding support for additional parts like STM32, components, FPGAs
  • Adding API endpoints/websockets for integration with other web services, including connecting parts on your desk to the rest of our virtual platform
  • Open source contribution community to address demand for new parts

We are looking for feedback from users on which boards and components to add to our platform as we scale up support. If you want to be part of our community join here!