In my years as a practising electronics engineer, one of the most significant inefficiencies I have noticed has always been communication between teams, freelancers, contractors, and clients. This has always been the most noticeable when working with firmware developers. And it doesn’t matter if I am working with the firmware developer internally on a permanent team or if I am working with an external contractor who will develop the firmware for my hardware.
In a recent project, I was extremely pressed for time. I had to complete the hardware design and order boards in just a few days. By the time t completed the electrical design, I had not had a chance to have a firmware developer review the hardware connections to the MCU. Usually, this is not an issue. However, in this case, I hired the freelance developer after submitting the boards due to the time crunch. That was a mistake. Had I taken the time to find the freelancer and have them review the design at the beginning of the project, it could have saved me some headaches.
Involving the whole team that will bring a product to completion early on in the development cycle is vital to efficient development. Design reviews with all the relevant parties are critical at each step of the design process, starting with high-level component selection, and then through the schematic capture and PCB layout stages. The microcontroller you select for the project might seem perfect on the surface; maybe it has all the IO, peripherals, and connectivity you require, and maybe the price is right. Still, it might not be the best choice for the firmware developer. Changing the microcontroller early might save the development team a substantial amount of time when implementing the code to run your device.
Improving Developer Collaboration
In the past, I’m sure many of you have sent dozens of versions of schematic prints to a development team for review, with lots of back-and-forth emails. Email can quickly become confusing with long email chains that contain issues, suggested and/or potential resolutions, and perhaps people referring to different versions of the schematics adding to the chaos. Then there’s inevitably the person who hits reply instead of reply-all, creating a side-channel conversation that the rest of the team isn’t privy to.
This process can become so frustrating that you might be tempted only to share the schematics when the project is all but finalized or when you have hardware in hand. Sure, it cuts down on a lot of back and forth, but it could also easily result in requiring a re-spin of your hardware or a product that can never be as good as was hoped.
What is the Better Collaboration Solution?
The good news is that communication is easily improved with the tools you already have. The Altium 365 Platform is perfect for sharing your work in progress with developers and ensuring they can share their insights early on without creating confusion. You can continue working in Altium just like you always have, and the development team can keep up to date with your work without needing to install anything on their computer.
By sharing your design with team members, Altium 365 allows anyone with a web browser to interactively view and comment on your schematics, PCB, and bill of materials.
Have you tried Altium 365? If not, see how efficient your review workflow can be by signing up for a free trial.
Commenting in Altium 365
The best way to communicate about your electronics project is to place comments directly in the design documentation through Altium Designer or the Altium 365 platform web interface. This keeps all your communication in one place with snapshots of the original state of the schematic or PCB at the time of comment.
Altium 365 allows you to comment directly on any schematic or PCB object. You can comment on parts, nets, lines, or any general area of the document. This is very important for communication as it does not allow for ambiguity or rely on trying to send screenshots to show where in the document your comment refers to. It’s a relatively simple function, but it makes communication much more efficient between teams.
You can notify a specific person in comments by mentioning them with the at sign (@) prefix. That notification alerts particular people about the message and directs their attention where you want it in the design documentation. You can also convert the comment into a task and assign it to a specific person. Again, it seems like simple functionality, but it immediately makes it clear who the Task belongs to and allows more efficient communication.
When a discussion or issue is complete, you can resolve the issue so you only have currently relevant discussions and tasks visible.
List of Best Practices
Engage your entire team in the early stages of the project. Once you know your design requirements and make a high-level block diagram, it’s time to reach out to the firmware developers and have them sign off on the microcontroller choice for the project.
Create a high-level block diagram and share it with the team. In Altium Designer, this is page one of a hierarchical design that shows the general connectivity between all circuit elements. At this point, a firmware engineer can identify issues with USART pin selections and suggest pin-swapping.
Once the parts are placed on the PCB, you can occasionally get lucky and reduce the routing complexity by swapping pins. This is great from a routing standpoint, but again, you have to talk to your firmware designer to ensure that the GPIO pins you’ve swapped for are compatible with the internal data busses of the microcontroller.
Hold a cumulative design review before you order your boards. This is a final, detailed look at all aspects of the design before turning the files over to fabrication and assembly.
Finally
I try to share my mistakes with the community and the lessons I’ve learned from them to help you be more efficient and successful. The road to success is paved with failure, which we, as engineers, must embrace to learn and improve, doing better on each subsequent project.
The Altium 365 platform has been releasing new features in leaps and bounds, with many new features based on user feedback. Other users are telling Altium how they want to use the platform to be more efficient and effective in their work - so you can be too. If you’re already an Altium user, it might be time to take another look at your Workspace with all the new and improved features. If you’re not already an Altium user, sign up for a trial to see how much time Altium can save you.