Drive 4 DC motors without encoder - NO LEGO



  • M5Stack family has only a module that can drive 2 DC motors without encoder. (GoPlus2)
    I need to drive 4 motors. I cannot use the 4 Channels DC Encoder Motor driver module.
    I would need a special cable from the 6pole 1mm connector with about 50cm length - open end.
    But I cannot find one - even M5Stack support cannot give me an answer/solution.

    First I want to use the 4 Channels DC Encoder Motor driver module, but then I was not able to find a DC motor in the internet with tis small 6pol 1mm connector. All have 6pol 2mm connector.

    Now my ides is to stack 2 GoPlus2 modules to get the 4 motors driven.
    Is this possible ?
    I think the internal interface is by I2C - so I would have to change the I2C adress of one module ????

    Or does anybody has a better idea for driving 4 DC motors ?

    K.D.



  • Hello @ramaker

    according to the M5GoPlus2 schematics an STM32F030C8T6 microcontroller is used as I2C slave, which runs its own firmware. So in order to change the I2C address I guess you'd need to modify the controller firmware. A quick search in the M5Stack github repositories only revealed controller firmware for the older M5GoPlus but not for the newer M5GoPlus2.

    Thanks
    Felix



  • Hi Felix,
    thank you for the answer.
    It is very hard to "play" with M5Stack ! Documentation is worst - everything you have to look in GitHub and try to understand the ideas of the developers. Most things are not commented.
    An email to the tech support is answered only to 10%

    I think I've to look for another system for our school project .
    Children shall play and learn as a hobby not as a "full-time" job.

    M5Stack try to bring ithe system near to LEGO - children shall use it - but children and their teachers need a 100% documentation. No teacher want's to spent hours and housr to find any simple information. We are doing that in our leisure.

    As you can read I'm disapointed and frustrated.

    regards
    Klaus



  • @ramaker
    What about BugC ? Disconnect the 4 small DC motors and connect your own .



  • @AgreeDK
    Thank you for your answer.
    It is interesting - indeed !
    I think the 4 motors are soldered to the board ? This is not good for children to handle - no connectors.

    And it is not compatible with the M5Stack and has no connections for servos.
    So I would need a M5Stack additionally for the 2 servos and the M5Stack has to communicate with the M5Stick.
    The complete 3D design of my vehicle has to be changed. (Uhhhh......)

    I don't think it is possible to do all these things during our "children-training-and-play-project".

    And - there is no documentation or tutorial how to do the communication - no spec for the motors.
    It would be more an "endless-github-search-and-try-to-understand-project".

    But thank you for the tip.
    regards
    K.D.



  • Have you considered using the 4 servo ports with continuous rotation servo's
    https://m5stack.com/collections/m5-accessory/products/servo-kit-360?ref=pfpqkvphmgr

    There are compatible with lego technic so I would have thought would be the better option for children.



  • @ajb2k3 :
    Thank you for the answer.
    I know these products - but I'll not use it.
    A part of my training/teach project is "3D-design / 3D-printing" - I don't want to use LEGO. (Maybe children is not the correct word - the age is normally 15 up - and some adult too - the oldest was about 65 years)

    For these servos I would have to change the complete design - I cannot use the motors we still have. (4x50 pcs)
    I cannot adapt the weels we have - I need a mounting part for every weel.
    Everything is adapted to motors with 3mm / 5mm axel.

    I cannot understand, why M5stack gives me no solution.
    In one advertisement picture they show that a standard motor can be used - but I cannot find the type in the internet ????

    And I cannot believe, that I'm the only user, that want to use 4 motors ?

    M5Stack shows with it's RoverC, that a vehicle with 4 weels can make lot's of fun. So, why don't they offer a solution for everybody ??

    The GoPlus2 modul can drive only 2 motors.
    The modul for encoder motors can drive 4 motors, but I cannot find any motor in the internet with the 6pin 1mm connector or an adapter cable from the M5 1mm connector to the standard 2mm connector.
    I asked the technical support - no answer........

    But I will not give up :-)

    Thank you for your help.
    regards
    K.D.



  • I need the same thing. I have created a post in the feature wishlist category.

    https://forum.m5stack.com/topic/2989/a-module-to-drive-four-dc-motors



  • Uhhhhh - Iike your post !!

    I'm absolutly glad about it - I start to think, that I'm the only one with this "wish".

    The best would be a module with adjustable I2C adresses - because I'm thinking to make a Mars rover "copy" - and there I need 6 motors. ( I don't want to be overbearing - It would work with 4 independent motor too :-) )

    Thank you and best regards
    K.D.



  • @ramaker Sorry, wasn't aware you already had the hardware, I just presumed you were planning.

    These are the pre-terminated leads https://m5stack.com/collections/m5-accessory/products/m5stack-lego-motor-adapter-cable

    Please give me a day or 2 to find the connectors but they are crimp connectors and available on ebay and other suppliers.
    Edit - They are JST 6 pin connections
    @ramaker have you been looking at JPL's Open mars rover project?
    I would be interested in a collaberation as I too was looking into it.



  • @ajb2k3
    Thanks for the answer.
    I have looked for lots of things and I found that the problem is, that M5Stack people are using the 1mm JST connectors and "all over the world" they are using 2mm connectors for motors.
    (I have more then 100 pcs with this connectors.....)
    And it seems that nobody can - or will - supply adapter cables.

    I made a curiosity rover about one year ago - based on the original information of the NASA site. It was not "so good" - the design had some big disadvantages and I had not quite good machine to print the part for weels and the rocker bogie suspension. In that time I did not 100% understand this suspension. It was a "flop".

    Now I found some more and better information to do it very simple and my new machine ( a Snapmaker A350) gives me more posibilities - now I can print , Laser ans CNC.

    I will start again with the rover project, because the first version shows that this vehicle is an abolut brilliant way for an outdoor play.
    If you are intrested in, then I'll put all the files from my first design on my website and you can download it. I'm using Fusion360. But I need about 2 weeks to prepare everything.

    It would be perfect to have another "cracy guy" for talk and learn.
    You are welcome !
    regards
    Klaus



  • @ajb2k3:
    I looked to the JPL website and the rover project.
    It is well documented. But the parts are a littlex complex. Specially the motor mounting and assembly.
    I would do it easier with parts from the 3D-printer and by use of ready-to-use assembled motors with gear and encoder.

    For example: (with JST 6pin connector 2mm space)
    https://eckstein-shop.de/V-TEC-6V-Micro-10x12mm-DC-Motor-Gleichstrom-Getriebe-Motor-mit-Encoder-56-RPM

    These are the motors we're using as straight or rectangular version - good and powerfull.

    The M5Stack components would fit perfectly - very easy to assemble and integrate in the chassis.
    But ---- how connect the motors ??
    In my first own design I found, that the rocker bogie suspension works perfect, if you control 4 motors indevidually. (on every side I "paired" 2 motors and controlled them together.)

    https://www.r-a-maker.de/tiger1.htm
    Here you can see, how I made an integration - here I can use the M54Stack because I only need 2 DC motors

    But as far as I see, I 'll use again RaspBerry or Arduino. There I have no problems to find all information.
    (specially if I use Adafruit component┬┤ts.)

    I asked the tech-support from M5stack to give me a source were I can get the cables or motors from, they are showing in advertisement. Answer was : " .... sorry we do not support 4 dc motors .... " nothing more.
    Because of that advertisement I bought a module and then I found, I cannot use it, it is only for LEGO.
    But the text and the picture lets me believe I can use it.
    This is "unfair" advertisement or whatever......
    It would be easy to add on line of text or a spec of the used connector, so everybody can see --- no -- that's nothing for me.

    Or - more customer-frindly - simple ad a adapter cable to the catalouge. (they are doing with LEGO cable, why not with othter cables)
    Or - just use standard connectors.......

    regards
    Klaus



  • @ramaker I brought the official m5stack lego cables and chopped them up for the terminated ends.

    Sorry, brain fried at moment and will need to clear brain and think on it.



  • @ajb2k3:
    I have the original LGO cables too - cutting and crimping would be an option. But I found that the crimping tool is expensive and crimping that lot of cables is "not an exciting job" - and I have to buy all the LEGO cable and throw away one connector.
    Woud be ok for 1 or 4 cables but not for 200pcs up.
    (I have to take care, that the costs for our clients should be very low - we are private people without sponsoring.)

    I looked at the JPL mars rover and think it should be easy to make.
    I will redesign the main mechanical parts, so that I can use 3D-printed parts, for the weel-drive-motors I'll design my standart motors. (wthout decoder) and for steering I'll design medium servos. This combination works perfect for vehicles in that size. In this design 2 DC motor drivers and 4 servos will work. So I can use the GoPlus2 module.
    The plastic parts have a simple design, so I can use them for my training.

    As far as I guess a M5Stack in the "face display" would be easy to include and the display would look good.
    So the complete control unit will be the M5Stack Core2 and the GoPlus2 - very compact.

    I'll make one side of the rocker bogie suspension and will simulate it.

    regards
    K.D.



  • @ramaker said in Drive 4 DC motors without encoder - NO LEGO:

    @ajb2k3:
    I have the original LGO cables too - cutting and crimping would be an option. But I found that the crimping tool is expensive and crimping that lot of cables is "not an exciting job" - and I have to buy all the LEGO cable and throw away one connector.
    Woud be ok for 1 or 4 cables but not for 200pcs up.
    (I have to take care, that the costs for our clients should be very low - we are private people without sponsoring.)

    I looked at the JPL mars rover and think it should be easy to make.
    I will redesign the main mechanical parts, so that I can use 3D-printed parts, for the weel-drive-motors I'll design my standart motors. (wthout decoder) and for steering I'll design medium servos. This combination works perfect for vehicles in that size. In this design 2 DC motor drivers and 4 servos will work. So I can use the GoPlus2 module.
    The plastic parts have a simple design, so I can use them for my training.

    As far as I guess a M5Stack in the "face display" would be easy to include and the display would look good.
    So the complete control unit will be the M5Stack Core2 and the GoPlus2 - very compact.

    I'll make one side of the rocker bogie suspension and will simulate it.

    regards
    K.D.

    200+?
    For that quantity you should invest in the tool!
    I used to use a pair of needle nose pliers to crimp 2.54mm pins and i broke loads (still break them even with the tool)
    The connectors are on ebay and LCSC

    I've tried asking for the firmware for the go unit but they say it not reprogrammable.



  • Hello @ajb2k3

    thank you for checking regarding firmware. There is a connector (J1 - STM32_SWD) which I guess could be used to (re-)program the STM32 MCU. So I guess they locked the firmware in - that's a pity. At least they should have thought about allowing for the I2C address to be changed then. There are plenty of unused IOs on the STM32 MCU which could have been used for that. Oh well, maybe in the next revision.

    Thanks
    Felix



  • Hi, thanks for reply.
    @ajb2k3 :
    Every thing you wrote is ok ! And I would suggest to do it - in an open-source project.
    But here we have an comercial project. I payed for something which they show not correct in the advertisement.
    I cannot use it and I get so support !!

    I cannot use this system ! I'll go back to Arduino.

    BTW: M5Stack cannot be used to control the rover. The rover-system works only correct if I can control all the 6 motor individualy. So -- no change with M5Stack

    regards
    K.D.