My feeling on this discussion is that most of our users are not designing products around SimpleFOC, but rather projects. Please correct me if I am wrong.
For someone making a product, your point of view makes a lot of sense, @Anthony_Douglas .
But for someone who is just doing their project, usually for fun or for learning, its a big ask to want them to contribute, and to want them to make a motor themselves that they can get for $60. Even if it’s not available in a year, why would the project-maker care? By that point they’re done and working on their next project…
But above all, I don’t think it’s an either-or situation. I think some of us can buy $60 motors, because that’s right for them, and others can work on a Canadian/US self-produced motor, because that’s what they feel is right for them.
There are some interesting examples of hobby communities collaborating on good stuff which then rained down benefit on others in the community. Bl_heli_s is a case right at hand, even. I just think it’s a good idea.
I can certainly see the tendency not to in action, not denying that tends to happen or the underlying mechanisms, but honestly the mechanisms are largely a cultural thing/what people choose to do and how they do it. Grab easy stuff and burn it up, producing trash in the process… then repeat. Everybody for themselves, get some jollies quick and cheap and move on. It’s not really working out for anyone.
I don’t believe in the idea that doing X for fun in a way Y is unassailable.
I see something even worse in the 3d printing community. A hyper focus on cheap crap on the one hand, on the other they spend actually a lot of money, mostly producing trash “for fun”. I honestly don’t think they are having that much fun anyway, they just don’t even know how to have fun. Even the slightest suggestion of actually undertaking the challenge of trying to transition to compostable plastic for instance, as a hybrid fun and also worthwhile idea, is met with surprising rage and even hate, even if it doesn’t cost a dime long term.
IMO even hobby undertakings are enhanced by community, collaboration, and actually accomplishing something over time…
I’m not advising against grabbing some cool motors while you can, but spending a lot of time reverse engineering them baffles me, because the same skill set can be applied in an even more fun and rewarding way… In a way it’s all good, but actually that’s the thing, not really because there is a lot to do and not everybody is on cloud nine. If we already lived in some kind of post scarcity world then ok, but this polarity with trying to do things on the cheap on Monday because we can’t afford to have fun, then wasting tons of time and money on Tuesday does not strike me as the road to happiness.
Not that I’m trying to impose anything on anyone, just saying.
Not everyone has the same skill sets. For a mostly software guy like me with no 3D printer or mechanical fabrication tools, reverse engineering somebody else’s electronics and porting something like SimpleFOC is enormously more appealing than an open ended project where I cannot contribute much, and where I can’t build what I need today.
If I wanted to build, say, a robotic arm, today I’d buy a Xiaomi motor and see how hard it would be to port SimpleFOC to it. Look at the efforts to port SimpleFOC to the hoverboard controllers (Candas&others). It’s purely software and benefits the community, even if there are a lot of different incompatible hoverboard controllers.
BLHeli started as a project to replace crappy ESC firmware with better ones. If anything ,BLHeli disproves your point The BLHeli people didn’t start by designing and building better ESCs, but as way of hacking the early, cheap Chinese ESCs. Over time, they influenced the electronic designers to build better hardware optimized for BLHeli. BLHeli is the equivalent of hacking the Xiaomi motor.
I agree with your aspirations that it would be better in an ideal world, but people skills and timelines make a difference in how they approach a problem.
@Karl_Makes_Music
I am willing to order one, and see if it could be reverse engineered for SimpleFOC, and even build a PCB driver to replace the original if it cannot be re-flashed with SimpleFOC, usually this takes a weekend for me.
Give me a link, I’ll order one.
A PCB driver for something like that would fit around $10, probably based on the QVADRAN so seems like a good compromise.
A PDF with some documentation about the motor and the CAN protocol
A debugger application. This works with a very specific Serial to CAN adapter which uses an AT command set that doesn’t seem to be documented online. I ordered one of the adapters, but it will probably take some time to arrive
Firmware images for the MCU in the motor
I attempted to talk to the motor, but accidentally sent what I think is a encoder calibration command, which seems to have wiped some configuration from the MCU. It seems fixable, but I believe I would have to use the debugger application. Will need to wait for the Serial to CAN adapter to arrive.
Here are some photos from inside the motor, it seems very nice. There is a plastic cover on the back that is removable with 4 screws, contains the PCB which is also removable with 4 screws. The magnetic encoder is mounted on the bottom of the PCB.
The SimpleFOC driver I created was for GD32F130.
In the past I used same firmware (not based on SimpleFOC) on GD32F103 and STM32F103 because it’s mostly compatible.
If GD32F303 is mostly compatible with STM32F303, a STM32F3 current sense driver (doesn’t exist yet in SimpleFOC) could work on the GDF303.
I happen to have a nucleo board with STM32F303 so I could look at it later.
This seems an STM 303 clone as you noted, be interesting to check if it can be programmed.
The SWD is already exposed next to the MCU, you need pogo pins, that’s really promising. This is a great find and could run simplefoc, based on the pics. We just need to see which pins are hooked to what.
I ordered one but will arrive in weeks. Once I get it I can x-ray the board to see the pin connections.