ODrive 3.2 BLDC Motor Controller

ODrive_3.2.fzpz (580.3 KB)

Open Source Brushless DC Motor Controller for robotic applications.

Welcome to the forum. I ran your part through FritzingPartsCheck, and imported it into Fritzing. It looks useble, but has a few problems.

Are the headers on the board at 0.1 inch spacing? That is what the pcb looks like, although the layout is different than the breadboard view. On the breadboard view, the J3 header pins are not using 0.1 inch spacing. 18 connections are taking about about 1550mils (1.5 in), not the expected 1700mils. The 12 pins on the J4 header look to be using the expected 0.1 inch spacing. Visually the board also shows a J2 header, but nothing there is setup as an actual connection. Same for M0, M1, AUX pads beside J4. Are they intended to be connection points on the actual board?

That generic IC graphic is not a very good icon for a board like this. Some (possibly simplified) representation of the breadboard view would be better.

The new convention is to use black graphics for pcb silkscreen, instead of white. Fritzing automatically converts (and so does the FritzingPartsCheck tool), but for future reference, black is preferred in the pcb svg files.

The connector terminals in the schematic have been created as 0 width rectangles. That works in Fritzing, but if the svg file is later edited with Inkscape, the terminal graphics will not be selectable. Using a small width, centered over where you want the snap point, is better. Most common is a square centred on the 0.1 inch grid used for the connection points.

It is also common to use lines instead of rectangles for the connection pins, with a stroke width matching the height of the rectangles you used.

There are (a lot) of graphics elements in the breadboard svg that are not inside of the “breadboard” group (layer). It appears that the breadboard group, with only the connector pins, was appended to an existing graphics file. Adding the connector pins to the end is fine, but the “breadboard” id should be added to the first/outer wrapper group element. So that all of the graphics and connector pins are part of the “breadboard” layer.

The part definition shows terminalId attributes for connectors in the breadboard view, which do not actually exist in breadboard svg. If the terminalId is defined it should exist. Normally, a terminalId is not needed for the breadboard view. Especially when the connections are just header pins. An edge connector might need one.