When making physical devices, it’s often useful to make prototypes of the object first. For high-fidelity, but perhaps not feature-complete prototypes, the Arduino platform is a rich resource.
Arduino refers to a microcontroller ecosystem that includes a set of standardized, open source hardware boards, and an IDE for developing simple software to drive the hardware. The hardware is built out of extremely cheap and commonly found integrated circuits and electronic components attached to printed circuit boards designed to be easily attached to external components via a breadboard.
Once the prototype is working, the engineer can then create a circuit board design using the exact same components. This design can be sent to a custom PCB manufacturer that can manufacture small or large runs of circuit boards.
I’m currently working with Arduino boards for an HCC independent study. The assignment is to build a working prototype of a data glove combined with inertial measurement units to recognize hand gestures. The parts are easy to snap together on a breadboard, and each component has example code that can be adapted to the project. So far, I’ve had to write very little code to get usable data either a USB serial connection or Bluetooth serial connection. For the shoulder and elbow-mounted IMUs, I’ve only had to change a half dozen lines of code just to get the desired output formatting.