Skip to content

Commit b92d122

Browse files
atiravsethnevalsar
andauthored
Add Hardware Design Tips Guide to System Design Wiki (#257)
Add hardware design tips article. --------- Co-authored-by: Nevin Valsaraj <nevin.valsaraj32@gmail.com>
1 parent 6c52983 commit b92d122

3 files changed

Lines changed: 124 additions & 0 deletions

File tree

‎_data/navigation.yml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ wiki:
2525
url: /wiki/system-design-development/subsystem-interface-modeling/
2626
- title: In Loop Testing
2727
url: /wiki/system-design-development/in-loop-testing/
28+
- title: Hardware Design Tips
29+
url: /wiki/system-design-development/hardware-design-tips/
2830
- title: How to design a robotic state machine
2931
url: /wiki/system-design-development/how-to-design-a-robotic-state-machine/
3032
- title: Project Management
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
---
2+
# Jekyll 'Front Matter' goes here. Most are set by default, and should NOT be
3+
# overwritten except in special circumstances.
4+
# You should set the date the article was last updated like this:
5+
date: 2026-05-01 # YYYY-MM-DD
6+
# This will be displayed at the bottom of the article
7+
# You should set the article's title:
8+
title: Hardware Design Tips
9+
# The 'title' is automatically displayed at the top of the page
10+
# and used in other parts of the site.
11+
---
12+
13+
This article covers practical hardware design tips for robotics engineers across
14+
mechanical and electronics/mechatronics design. These are drawn from hands-on
15+
experience building robotics systems and are meant to complement formal coursework.
16+
Topics include CAD workflows, FEA simulation tool selection, PCB design for
17+
debuggability, power circuit simulation, and wiring best practices including
18+
emergency-stop wiring, color coding, and cable management.
19+
20+
## Mechanical Design
21+
22+
### 1. Learn CAD with the ModelMania Problems
23+
24+
After completing introductory tutorials, work through **SOLIDWORKS ModelMania** problems. The archive has 26 years of free problems at different difficulty levels: [SOLIDWORKS ModelMania Archive](https://blogs.solidworks.com/products/solidworks/26-years-of-model-mania/)
25+
26+
A few personal tips:
27+
- Try not to exit a sketch until it is fully constrained. Better yet, use parametric variables so the model's most important dimensions remain editable and independent.
28+
- Try rebuilding the same part in a different way after you finish it; this broadens your design perspective.
29+
- Open-source tools such as [FreeCAD](https://www.freecad.org/) can be a good option when avoiding CAD software license dependencies. It also has a free API and CAD kernel for exploring generative CAD design using MCP servers and LLMs.
30+
31+
---
32+
33+
### 2. FEA Simulation
34+
35+
Finite element analysis (FEA) simulates how a design responds to forces, heat, and other physical effects before it is built. It helps newcomers identify potential structural, thermal, or fluid-related issues early in the design process.
36+
37+
Get the free ANSYS student license through CMU: [CMU Software Access](https://www.cmu.edu/computing/software/access.html)
38+
39+
ANSYS is widely used in industry. It covers structural, thermal, and fluid simulations.
40+
41+
COMSOL is useful for research work that couples multiple physics, such as heat, structure, and electrical effects. It is more flexible and common in academic papers.
42+
43+
Examples of usage:
44+
- Checking if a robot link will break under load: ANSYS
45+
- Thermal analysis on a motor or PCB: ANSYS
46+
- Piezoelectric actuator or anything multi-physics for a paper: COMSOL
47+
- Airflow around a drone → ANSYS Fluent
48+
---
49+
50+
## Electronics & Mechatronics Design
51+
52+
### 1. Drop Eagle. Learn KiCad.
53+
54+
Autodesk Eagle is being phased out and the free version has a tiny board size limit. KiCad is free, open source, has no restrictions, and is what you'll want if you ever start a company and don't want to pay software licensing fees forever.
55+
56+
KiCad has everything: hierarchical schematics, 3D board preview, SPICE simulation, custom symbol/footprint editors. It's also what a lot of startups and open hardware projects use now.
57+
58+
To get started:
59+
- Do the [DigiKey KiCad 9.0 Tutorials Playlist](https://www.youtube.com/watch?v=0Q6gU7-QqUg&list=PLEBQazB0HUyQ5YJSdCBb79orXaR3Uk5vm&index=2) (<1h play time) to get a really quick jumpstart as it covers the full schematic to layout to gerber to BOM workflow.
60+
- Practice making your own symbols and footprints. You will always have some weird component that's not in any library.
61+
- Always check community footprints against the actual datasheet before trusting them.
62+
- Check your Gerbers in [Tracespace](https://tracespace.io/view/) before submitting to a fab.
63+
64+
For prototyping boards: JLCPCB and PCBWay both work great with KiCad exports, cheap and fast.
65+
66+
---
67+
68+
### 2. PCB layout tips
69+
70+
A board that works in simulation or on paper but has zero test points or indicators is a nightmare to debug in real life. Here are some general PCB design tips:
71+
72+
- **Separate power and signal-processing electronics on the board** — This helps prevent high-EMI/EMC devices, such as inductors and switching regulators, from introducing noise into low-power signal and GPIO traces.
73+
- **Copper thickness** — Specify copper trace thickness (usually in oz) when placing a PCB order. If the traces are too thin, the circuit may not carry its designed current load.
74+
- **Test points** on every power rail and important signal. Just a pad. Saves hours.
75+
- **Status LEDs** on your power rails (3.3V, 5V, 12V etc.) with a current limiting resistor. You want to immediately know if a rail isn't coming up.
76+
- **Current sense resistors** on high-current paths — small value (0.01–0.1Ω), measure voltage across it with your ADC or multimeter.
77+
- **Label your connectors** on the silkscreen. Pin 1 marker, net name, polarity. You will forget this in the lab at 2am one day.
78+
79+
---
80+
81+
### 3. Simulate Your Power Circuit Before You Spin the Board
82+
83+
Most board failures are catchable before you even order the PCB.
84+
85+
Use **LTspice** (Analog Devices) as it has models for most common components. Use it to:
86+
- Check your gate drive waveforms
87+
- Catch oscillation in feedback loops (buck converters especially)
88+
- Test your design at edge cases (min/max input voltage, max current)
89+
90+
---
91+
92+
### 4. Wiring and wire management
93+
94+
- **Use PG cable glands and conduits** — Use [PG glands](https://www.mcmaster.com/products/pg-glands/cord-grips-2~/) and [cable conduits/hose carriers](https://www.mcmaster.com/products/cable-conduit/) to provide strain relief for cables entering and leaving enclosures, while improving water and dirt resistance for the electronics inside.
95+
- **Use [DIN rails and DIN-Rail Mount Terminal Blocks](https://www.mcmaster.com/products/din-rails/)** - They are the industrial alternative to breadboards and WAGO connectors. They provide a standardized wire connection interface.
96+
- **Use color-coded signal wires** — This simple practice is often overlooked, but it can prevent burnt ICs and shorted Jetson Nanos. General color schemes are given below:
97+
- VCC|GND: RED|BLACK
98+
- SDA|SCL: YELLOW|WHITE
99+
- CAN-H|CAN-L: WHITE|BLUE/BLACK
100+
- UART TX|RX: GREEN|WHITE
101+
- PWM: ORANGE
102+
- **Twist differential-pair wires** — For CAN and RS-485, physically twist wire pairs together to reject common-mode noise. If a CAN bus drops frames or reports errors, untwisted wires are a likely culprit before software issues.
103+
104+
Never twist I2C wires together. I2C is not a differential signal, and twisting can introduce interference that prevents the bus from working.
105+
106+
- **Emergency-stop wiring** — Do not wire an emergency stop directly into a high-current power wire, because a decelerating motor's back EMF can cause sparking at the switch contacts. Use a relay or DC contactor, a flyback diode across the control-circuit terminals, and an RC snubber across the relay contacts to limit voltage spikes when disconnecting the load.
107+
108+
## Summary
109+
These are just starting tips, design only comes from experience!
110+
111+
## See Also
112+
- [Printed Circuit Board Design](/wiki/system-design-development/pcb-design/)
113+
- [Mechanical Design](/wiki/system-design-development/mechanical-design/)
114+
- [Cable Management](/wiki/system-design-development/cable-management/)
115+
116+
## Further Reading
117+
- [KiCad Getting Started — DigiKey YouTube Playlist](https://www.youtube.com/watch?v=0Q6gU7-QqUg)
118+
- [SOLIDWORKS ModelMania Archive](https://blogs.solidworks.com/products/solidworks/26-years-of-model-mania/)
119+
- [LTspice Simulator — Analog Devices](https://www.analog.com/en/resources/design-tools-and-calculators/ltspice-simulator.html)

‎wiki/system-design-development/index.md‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ The **System Design and Development** section provides comprehensive resources a
1616
- **[Finite State Machine Implementation Guide for Robotics](/wiki/system-design-development/finite-state-machine/)**
1717
Provides a structured approach to managing complex robot behaviors through states, transitions, and actions. Covers theoretical foundations and implementation in ROS and embedded systems.
1818

19+
- **[Hardware Design Tips](/wiki/system-design-development/hardware-design-tips/)**
20+
Offers practical guidance on CAD, FEA, PCB layout, circuit simulation, wiring, and cable management for robotics projects.
21+
1922
- **[Hardware-in-Loop and Software-in-Loop Testing](/wiki/system-design-development/in-loop-testing/)**
2023
Discusses HIL and SIL methodologies for testing real-time embedded controllers, with specific use cases like ADAS and autonomous vehicles.
2124

0 commit comments

Comments
 (0)