First of all quite impressed by Odrive project and would like to use it in a project im working on. Due to size constraints im planning to design a custom pcb based of of v3.4 and possibly for a single motor. Since v3.5+ versions is not available ( reason here), the plan was to incorporate the changes/improvements from the changelog documents. then i thought why just stop there , and change the driver DRV8301 to a fancier version DRV8353. also might design it Kicad as anyone can use it though i like altium. having said this i have a couple of questions:
should i be expecting major changes in the firmware by switching the driver IC or will it be some minor changes. or in other words, is it worth the hassle to change the driver IC.
i would like to make the design opensource. but as described in the link above, the knockoffs of it will affect the Odrive Team and indirectly the project as in general. what should be the best way to support the community?
I don’t have a definitive answer on swapping gate drivers, but I would be inclined to say that, absent a clear need to switch chips, it would be best to keep it the same. Making an open source clone is a big enough job without adding additional complexity (imo).
Regarding an open source version. This is definitely something I want. I design open source robots specifically with the hope that others will clone and fork the design, and it was discouraging to learn that the ODrive hardware designs went closed source. I want cheap clones (even of my own hardware) to exist. To me that is the point of open source.
But that is a deeper philosophical argument. I understand that making money with open source is difficult, and ODrive team is trying to support growth. It’s hard to find the right balance.
But it would be nice if there was an option. Oskar I believe said that he supports someone else making an updated design. I would love for it to be done in kicad! That would be really nice.
Lets see if ODrive team can give us some buy-in on the idea.
its designed in Kicad 5. im planning to finish the layout by this weekend. would love to get feedback. for a quick review schematics pdf is available in outputs folder. the project is opensource and open for collaboration.
To keep things simple, i kept the same gate driver DRV8301 along with most of the circuit hoping that the firmware will work right away with little to no modifications. The plan is to finish the pcb and test it asap. and then in later iterations use DRV8353 to further shrink the design.
Promising! I’ve just glanced at the schematic. I think it would be nice to have the TTL serial broken out to a header (I didn’t see it but maybe I missed it).
Also a typo (I assume) on Page 4:
“MP30 can handle 30A peak and 15A cont. if more current is needed, the connector cant be changed.”
I assume you mean “can be changed”?
Thanks for your work! Do you have experience with surface mount PCB assembly?
@azmatb Hi! I’m currently doing pretty much same thing as you, but in Altium ahah. I almost finished my design, but I was wondering if you knew which firmware release to use to be compatible with the ODrivev3.4 ?
i am designing using v3.5 schematics. havent looked into the FW yet, but i am hoping to use the firmware compatible with v3.5 with little to no modifications.
Differential line receivers With isolator for inputs would be a big plus to the design. They would make the design safer and easier to use for longer cable lengths and in noisier environments.
I designed an add on board for this some time ago. Never got around to making it though.
there is a CAN interface which is differential and good enough for relatively longer cables. also it is used a lot in robotics and industrial environment. its not isolated but if needed the design can be modified.
forgot to mention, the gpio1 and gpio2 already have a uart peripheral. additionally ill try to have an option (either jumpers or header) of using the uart pins for CAN as a uart/serial instead of CAN.
I meant more for the step/dir lines which are used more in cnc applications and are typically differential lines since the environment tends to be rather noisy. Also most industrial and cnc systems are 24V so a miswiring van fry the board. Making the system more resilient is worth it.
@azmatb How did you manage the layers on your board? i checked the CHANGELOG.md about how he changed for a 4 planes design but i dont understand what planes are what. So how did you do it?
just uploaded the finished design. as you can see in the images, there is not enough space to add more components. i was able to make some room near the ldo but it wasnt enough. i will try adding isolation in the next design.