The MCU industry had been growing swiftly and violently when I first got into electronics. The development kits(based on MCS51, PIC, AVR, MSP430 etc) could be seen everywhere, which looked obviously different even the internal resources are almost the same.
After a few years, the popular Arduino controllers based on AVR MCUs appeared, which made a specification on the pinout and function of the controller boards combining the resources of MCU. Gradually, more and more Arduino compatible circuit boards had been mushrooming up. Later on, I was shocked when I saw Renesas(GR-SAKURA), TI(Arduino TRE), Intel(Galieo) etc, and realized that a proper specification is more important than an outstanding product(here, I want to pay my high tribute to Arduino team because of their excellent platform).
I like DIY and often immersed in the joys and pains of making. One day, I found that the robotic devices also require a proper specification, and the demand had been increasing gradually. However, so far there is no general specification for the robotic devices(indeed, the robot industry is diverse with various application requirements). In my opinion, it is better to choose a proper standard-connector to integrate several communication interfaces. So I would like to write this article to share my thoughts with you, and if you have any other ideas, please share with me. Let us make the robotic devices more standard.
In my humble opinion, the robotic devices can be divided into short-distance devices and far-distance devices, and the short-distance devices also can be subdivided into regular devices and desktop devices. There are many kinds of common-used communication interfaces, UART, SPI, I2C, RS232, RS422, RS485, CAN, USB etc, each have strengths and weaknesses. If I have to choose some among them, I prefer I2C, RS485 and USB above all others. Next, I need to choose a proper connector for I2C and RS485(there are many kinds of standard USB connectors, do not discuss here). In the robotic applications, both the continuous current-carrying capacity and the size of board also have to be taken into account, and I was troubled once again. I spent a lot of time comparing many standard connectors in many aspects(popularity, integration, size, current-carrying capacity, costs etc). Finally, I decided to chose DB9-Male(Gicren-H: the continuous current-carrying capacity of single pin can be up to 5A/7A, and note that there are many types of DB9 connectors) and JST-PH2.0-9PIN-Male(Gicren-L: the continuous current-carrying capacity of single pin can be up to 2A). Of course, this specification is just for the bus devices. You may quickly notice that there is no configurable pin in the Gicren specification because it is difficult to achieve high versatility. For example, a three-axis accelerometer(analog output) requires three analog ports. It is obviously unreasonable if there are three analog ports within a nine-pin connector or several nine-pin connectors are embedded into one circuit board. I think it is better to separate the basic devices(I/O, ADC etc) from the bus devices. For the basic devices, Gicren follows the specification(1-Signal, 2-VCC, 3-GND) which is the most common-used and followed by many devices(such as PWM-Syle actuator). In addition, the JST-PH2.0-3P-Male is recommended because of the smaller size and the suitable mechanical strength.