Want to know how IoT development works?

READ THE GUIDE
0.0209_remote-hardware-development

Best Tools for Remote IoT Hardware Development

Share:

Facebook Twitter Link

Very has been fully remote from the very beginning, and we’ve learned a lot about how to optimize the opportunities and overcome the challenges presented by distributed teams.

Especially when it comes to building a physical device, it’s crucial to have everyone’s hands on the same thing, even if that means spending more money to provide our hardware engineers and firmware developers their own sets of tools.

While an agile process of rapid prototyping is one of the keys to our success, we’re going to take a moment to focus on the tools that our hardware developers use during this process. Our process may be the most important part of IoT hardware development, yet that process is enabled by the tools we use and share.

We can further separate our tools down into two basic categories: hardware and software. We use the hardware tools for electrical and mechanical engineering, to physically build and test our devices, and we use software tools for product design, collaboration, and, of course, writing code.

Best Hardware Tools for IoT Developersremote-hardware-tools

1. PCB Printers 

One of our favorite tools is the Voltera PCB printer. This unique machine is specifically tailored to create printed circuit boards (PCBs), which sit at the heart of any IoT device. By using Volteras, electrical engineers like me can continually iterate on our designs and, as soon as we have a minimal viable product (MVP) ready, we can ship the print job instructions over to the firmware engineers. They can then print their own PCB, and this frees them up to start writing code that interfaces with the hardware much earlier than if they had to wait for a finished design or even a prototype in the mail.

2. Digital Microscopes

Speaking of PCBs, our engineering teams also use AmScope digital microscopes to troubleshoot their boards. The key here is that if mistakes are made on a prototype PCBA, we can modify them to test our fixes before making new hardware.

3. Dev Kits 

Another key piece of the hardware puzzle is development kits (aka dev kits), especially the BeagleBone Black. These single-board computers (SBC) let us hit the ground running by providing a launchpad for software development. All we have to do is load up Nerves, our preferred open-source IoT development platform, and we’re good to go. Even though our finished products end up running on custom PCBs, a dev kit unblocks our software dev team to let them begin programming while the hardware engineers finalize their product.

4. Custom Tooling 

In addition to utilizing tools from reliable vendors, we’ve also created our own custom device that we use on client projects. This tool allows us to test custom manufactured PCBs against their parameters and then provision them with a serial number, certificate, and firmware — helping our engineers debug boards remotely.

Sign up for our newsletter

Join 10,000+ subscribers to get the latest IoT development news delivered to your inbox.

Best Software Tools for IoT Developerscad-software

Now let’s change gears to “pure thought-stuff” and talk about the software tools that we use on a daily basis — and we’re not just talking about programming languages like Python. Of course, we use all the regular software tools that are common to the tech industry, but we want to focus on some of the more unique options that our hardware developers prefer.

1. CAD Tools

By far one of our favorites is Onshape, a computer-aided design (CAD) tool that gives us a centralized platform for designing, managing, and visualizing the physical product that we’re working on. What sets Onshape apart from other CAD tools is that it runs in a browser and is completely cloud-based. This means that, instead of devoting our computer’s entire CPU to running the software and locking us out of other work, we can offload the workload to a remote server instead. Not only does this let us continue to multitask, but it also reduces the compute power requirements on our developer machines.

While we use OnShape for mechanical engineering, our ECAD (electronics CAD) tool is KiCAD. We use this because it's free, so our clients can easily open any of our files in their native format. It's also incredibly extensible so that we can create custom scripts that automate tasks to improve quality in document generation.

2. UX Design Tools 

One tool that our product designers and developers use to stay on the same page is Whimsical, a visual workspace that lets us share tech diagrams, schematics, and user workflow mappings. For instance, we’ll make mind maps at the early stages when we’re brainstorming features and requirements, and we’ll use flowcharts later on to show the step-by-step process of our application logic or user journeys.

We also use Whimsical for creating block diagrams of the hardware we build. This allows us to create a very rough version of the design that is a much higher level and understandable version compared to the schematic. This allows us to get feedback from clients to ensure we're on the right track.

The Sketch + InVision combo is another software toolset that enables rapid design and prototyping. This one hones in on the UX side of the equation by giving us a tool for creating wireframes, connecting pages within an application, and making sure that our IoT users have a seamless and simple way to interact with their new devices.

3. Collaboration Tools

Our teams use a knowledge base software called Guru as our primary source of truth for work policies and best practices. We make concerted company-wide efforts to ensure that the information in Guru is always reliable and up-to-date as processes evolve. 

Finally, our remote teams also rely on familiar collaboration tools that have become even more familiar in a COVID-affected world. These include Slack for text chat (check out how our developers solve problems in Slack here), Zoom for video chat (where we have an “always-on” video camera policy, absent extenuating circumstances), and Google Workspace (formerly G Suite) for just about everything else. We shouldn’t need to say too much else about these programs other than that they’re what enables our day-to-day communication, and they keep our operations in sync.

Conclusion 

When most people think about mechanical and electrical engineering, they think of workshops—not home offices. However, we’re living proof that remote hardware engineering is very possible. In fact, we’d go so far as to say that our remote work culture is largely responsible for our close-knit teams and our ability to move quickly in this growing industry.

Want to learn more about how Very takes big ideas and turns them into real-life IoT products? Check out our IoT hardware engineering services now.

New call-to-action