GoPlus2 Port B with servo with UIFlow



  • I have a GoPlus2 and a M5Go Bottom2 attached to Core2. I am trying to drive more than the four servo motors the GoPlus2 support using one of the PortB ports the GoPlus2 have but unsuccessfully.

    On UIflow I select a Servo Unit and if I choose in this unit the B port, the servo works with the B port on M5Go Bottom2 but I want to use the B ports in GoPlus2 module.

    How can I config the servo unit in UIFlow to work with one of the 3 B ports in this module.



  • Hello @xs

    I think you are out of luck here. A servo requires a PWM (pulse wide modulation) signal, however the three B ports on the GoPlus2 are only good for simple input and output signals but cannot do PWM.

    The GoPlus2 description reads: Three PORT-B interfaces(Analog Input,Digital Output,Digital Input) can be expanded.

    And looking at the GoPlus2 blocks in UIFlow the digital output can only be set to 0 or 1, but nothing like PWM.

    Thanks
    Felix



  • Well, thanks for your answer and sorry for my english. Is not a PWM a fake analog signal in a Digital pin? Does GoPlus2 Port B not support PWM or it is a UIFlow lack of a feature?

    Sorry again for my english.



  • Hello @xs

    that is correct. PWM is similar to an analog signal. Unfortunately the three B ports on the GoPlus2 cannot be set to analog output. I've also checked the Arduino sources for GoPlus2 and it is the same. It's not just an oversight in UIFlow code.

    The three B ports are controlled by an internal microcontroller (STM32F030C8T6) which doesn't seem to allow its GPIOs set to be used as analog output and would need to be reprogrammed to support PWM. The source code for this internal microcontroller is not open source as far as I can tell.

    Thanks
    Felix



  • @felmue said in GoPlus2 Port B with servo with UIFlow:

    Hello @xs

    I think you are out of luck here. A servo requires a PWM (pulse wide modulation) signal, however the three B ports on the GoPlus2 are only good for simple input and output signals but cannot do PWM.

    The GoPlus2 description reads: Three PORT-B interfaces(Analog Input,Digital Output,Digital Input) can be expanded.

    And looking at the GoPlus2 blocks in UIFlow the digital output can only be set to 0 or 1, but nothing like PWM.

    Thanks
    Felix

    Thanks, that's what I want to know. I'll use the B Port in the M5Go base instead. Thank you so much.