• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Register
  • Login
GUI-O Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Register
  • Login

GUI-O does not work with RPI Pico over USB serial

Scheduled Pinned Locked Moved
General Discussion
2
15
586
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D
    devmonkey
    last edited by devmonkey 15 Jan 2025, 14:01

    Pico works fine with "Serial USB Terminal", I can send @init and get the correct response.

    GUI-O tested on esp32 over usb serial and it works fine.

    GUI-O error on plugging in Pico: "Usb serial device not found or not supported, retrying in 5 seconds"

    Baud 115200 in all cases, also tried 9600, same error.

    Please help.

    D 1 Reply Last reply 15 Jan 2025, 14:21 Reply Quote 0
    • D
      devmonkey @devmonkey
      last edited by 15 Jan 2025, 14:21

      Serial USB Terminal reports the Pico as:

      Serial device: CDC
      Vendor: 2E8A Name: Arduino
      Product: 00C0 Name: RaspberryPi Pico

      K 1 Reply Last reply 15 Jan 2025, 20:18 Reply Quote 0
      • K
        kl3m3n @devmonkey
        last edited by kl3m3n 15 Jan 2025, 20:18

        @devmonkey Hi.

        It seems I don't have the same RPi Pico board as you (Vendor: 2E8A Product: 0005), but it works ok with GUI-O. Which version / revision of RPi do you have?

        GUI-O is using the same usb serial library as the "Serial USB Terminal" app, so there is no reason your board shouldn't be compatible.

        I can try manually adding the vendor and device id to GUI-O and manually loading the CDC drivers. Also, I will check if i need to update the usb serial library... GUI-O uses version 3.4.6, while the latest version is 3.8.1 (https://github.com/mik3y/usb-serial-for-android/releases).

        Best regards,
        Kl3m3n

        D 1 Reply Last reply 16 Jan 2025, 18:06 Reply Quote 0
        • D
          devmonkey @kl3m3n
          last edited by 16 Jan 2025, 18:06

          @kl3m3n I have the official RPI pico, not a clone.

          K 2 Replies Last reply 20 Jan 2025, 20:34 Reply Quote 0
          • K
            kl3m3n @devmonkey
            last edited by 20 Jan 2025, 20:34

            @devmonkey I have updated the usb library and added the device to the list of known devices (this should start GUI-O automatically when you plug in the device).

            I will try to release a new version this week.

            Best regards,
            Kl3m3n

            1 Reply Last reply Reply Quote 0
            • K
              kl3m3n @devmonkey
              last edited by 23 Jan 2025, 18:54

              @devmonkey Hi,

              version 1.0.92 is out. Can you try and see if it works?

              Best regards,
              Kl3m3n

              D 1 Reply Last reply 24 Jan 2025, 21:21 Reply Quote 0
              • D
                devmonkey @kl3m3n
                last edited by 24 Jan 2025, 21:21

                @kl3m3n Hi thanks for doing this, the pico now connects ok however gui-o raises a "device write error" ?

                Again this code works perfectly on nano's, esp32, etc.

                K 1 Reply Last reply 25 Jan 2025, 15:52 Reply Quote 0
                • K
                  kl3m3n @devmonkey
                  last edited by kl3m3n 25 Jan 2025, 15:52

                  @devmonkey Hi.

                  If you exit the GUI-O app and then plug in the Pico, what happens? There should be a pop-up window where you can select an app that can use the Pico device - is GUI-O shown on the list?

                  Can you try sending the data from Pico to GUI-O without GUI-O sending the @init string first? What happens then?

                  I also have an original RPi Pico and the Serial USB Terminal reports it as:
                  Serial device - CDC
                  Vendor ID:2E8A Name: Raspberry Pi
                  Product ID:000A Name: Pico

                  Can you tell me, where you got the Pico? Do you have a link of the store where you've ordered it from?

                  But I think the quickest way to get some additional information via adb (android debug bridge). I don't know how familiar you are with this, but I will describe the procedure (I will write for Linux, but the procedure for Windows is the same once you install adb):

                  1. Connect the device to your PC using USB cable
                  2. Navigate to Settings -> About phone -> and tab Build number / About phone 7 times
                  3. Go back to Settings and search for Developer options
                  4. Scroll down to debugging and enable USB debugging and then Wireless debugging
                  5. You should confirm authorization / pairing
                  6. Note the <ip_address> and <port>
                  7. On your PC, run the commands in the terminal (you need to be connected on the same WiFi network on your Android and your PC):
                  adb disconnect
                  adb tcpip <port>
                  adb connect <ip_address>:<port>
                  

                  After connecting, remove the USB cable and use:

                  adb devices
                  

                  You should see the Android device is connected.

                  Now run:

                  adb logcat > log_1.txt
                  

                  This will start logging system messages to a file (named log_1.txt).

                  Now connect Pico to the Android device and start GUI-O. Try reproducing the issue with Pico and GUI-O. After you've finished this, press Ctrl+C in the terminal to stop the logging. Please send the file to: info.guio.app@gmail.com

                  Thank you.
                  Best regards,
                  Kl3m3n

                  D 1 Reply Last reply 26 Jan 2025, 13:33 Reply Quote 0
                  • D
                    devmonkey @kl3m3n
                    last edited by 26 Jan 2025, 13:33

                    I've done some further investigation, the vid/pid is set in the core you build against (i'm was testing using arduino).

                    The official arduino-mbed core hardcodes pid 0x00C0. The unofficial (old) arduino-pico core defaults the pid to 0x000A.

                    What core did you test with or did you just compile some code with the pico sdk (i.e. not arduino) ?

                    Anyway I patched arduino-mbed to use 0x000A and I get the same problem, so maybe the problem is the way arduino-mbed configures the tinysub stack is somehow incompatible with your gui-o code?

                    I'm fairly sure you could replicate this by building a hello world app on platformio using the default arduino platform which is mbed.

                    FYI the board came from the RPI official shop.

                    K 1 Reply Last reply 26 Jan 2025, 14:00 Reply Quote 0
                    • K
                      kl3m3n @devmonkey
                      last edited by 26 Jan 2025, 14:00

                      @devmonkey Ok I will try this and get back to you.

                      D 1 Reply Last reply 26 Jan 2025, 14:14 Reply Quote 0
                      • D
                        devmonkey @kl3m3n
                        last edited by devmonkey 26 Jan 2025, 14:14

                        @kl3m3n The other thing to check is you assert the virtual DTR line when using the CDC driver.

                        D 1 Reply Last reply 26 Jan 2025, 14:21 Reply Quote 0
                        • D
                          devmonkey @devmonkey
                          last edited by devmonkey 26 Jan 2025, 14:21

                          So I rebuilt the test with the arduino-pico library under arduino ide, this defaults to pid 0x000A. This now generates the same write error so the problem is GUI-O usage of the CDC driver.

                          I then disabled flow control in the test:
                          Serial.ignoreFlowControl(true)

                          And GUI-O now works. So I think the problem is you are not asserting the DTR line when using the CDC driver.

                          [edit]
                          Since I can see no way to ignore flow control with the mbed core I will await you to change GUI-O to assert DTR. Incase it isn't obvious without DTR (DataTerminalReady) asserted no arduino will send data down a serial connection with flow control enabled, which it is when using the CDC driver.

                          K 3 Replies Last reply 26 Jan 2025, 15:18 Reply Quote 0
                          • K
                            kl3m3n @devmonkey
                            last edited by 26 Jan 2025, 15:18

                            @devmonkey Thank you for pointing this out. I already created a fix. Testing now and will be releasing the version with the fix in the next couple of days (it usually takes Google a couple of days to review the app).

                            I will let you know.
                            Best regards,
                            Kl3m3n

                            1 Reply Last reply Reply Quote 0
                            • K
                              kl3m3n @devmonkey
                              last edited by kl3m3n 26 Jan 2025, 17:14

                              @devmonkey I used Arduino framework on top of mbed OS and i get pid 00C0, like you.

                              I have tested the GUI-O fix with Pico and it works.

                              Waiting for your feedback when new version of GUI-O is released (already in release process).

                              BR,
                              Kl3m3n

                              1 Reply Last reply Reply Quote 0
                              • K
                                kl3m3n @devmonkey
                                last edited by 27 Jan 2025, 17:34

                                @devmonkey Version 1.0.93 is out.

                                Regards,
                                Kl3m3n

                                1 Reply Last reply Reply Quote 0
                                3 out of 15
                                • First post
                                  3/15
                                  Last post