GoPiGo-3's that DON'T use a Raspberry Pi?

@cleoqc
@mitch.kremm

Greetings!

At risk of being burned at the stake as a heretic, I have a thought. . . .

Right now the biggest problem with the GoPiGo-3 robot is the lack of Raspberry Pi boards for them.

I have not actually begun research on this, but I am thinking that, if we can find a replacement board that is pin/connector compatible, and is near enough to being software compatible, than that might be an effective substitute.

Why I think this might work:

  1. Many of the alternative configurations for the Pi make use of Ubuntu, which has been ported to many other boards, including the Nvidia boards.
  2. Assuming the prerequisites can be met, (!!), it should be possible to download the GoPiGo drivers and libraries.
  3. I’m not holding my breath, but it would be nice to try and re-build the current GoPiGo O/S for a different target board.

Significant issues:

  1. Moving things from one platform to another is never as easy as it seems to be at first blush.
  2. A significant assumption is that prerequisites can be made available. This may not be a valid assumption, or it might be a non-trivial exercise.
  3. This also assumes that alternate boards are available in sufficient quantity to be a reasonable substitute - something that may not be true as I have not researched this.

I am interested in your thoughts and ideas, if any.

What say ye?

3 Likes

This idea is indeed on the table.
More to come in April.

4 Likes

Oooh!

Great minds think alike!

If I can get longer spacers, I might try the Nvidia Jetson Nano with the 'bot - that would be killer - especially for the battery! :wink:

3 Likes

I have been having similar thoughts. In order to do this, I would need to have a wiring diagram for the GoPiGo3 motors - there are 6 wires and I need to know what they do in order to match things up to a different, not Raspi, SBC. @jimrh , @cleoqc, others (@cyclicalobsessive, @KeithW ?): Where might I find such a wiring diagram?

3 Likes

Huh??? You want to get rid of the GoPiGo3 controller board and talk direct to the motors and encoder hardware - that is totally crazy folks. The motors and encoders are not the strength of the GoPiGo3 - that red board that has all the level changing interfaces AND a micro-controller firmware that does all the work for you.

The SBC/Raspberry Pi sends commands and receives data over the SPI pins:

 SPI_MESSAGE_TYPE = Enumeration("""
        NONE,

        GET_MANUFACTURER,
        GET_NAME,
        GET_HARDWARE_VERSION,
        GET_FIRMWARE_VERSION,
        GET_ID,

        SET_LED,

        GET_VOLTAGE_5V,
        GET_VOLTAGE_VCC,

        SET_SERVO,

        SET_MOTOR_PWM,

        SET_MOTOR_POSITION,
        SET_MOTOR_POSITION_KP,
        SET_MOTOR_POSITION_KD,

        SET_MOTOR_DPS,

        SET_MOTOR_LIMITS,

        OFFSET_MOTOR_ENCODER,

        GET_MOTOR_ENCODER_LEFT,
        GET_MOTOR_ENCODER_RIGHT,

        GET_MOTOR_STATUS_LEFT,
        GET_MOTOR_STATUS_RIGHT,

        SET_GROVE_TYPE,
        SET_GROVE_MODE,
        SET_GROVE_STATE,
        SET_GROVE_PWM_DUTY,
        SET_GROVE_PWM_FREQUENCY,

        GET_GROVE_VALUE_1,
        GET_GROVE_VALUE_2,
        GET_GROVE_STATE_1_1,
        GET_GROVE_STATE_1_2,
        GET_GROVE_STATE_2_1,
        GET_GROVE_STATE_2_2,
        GET_GROVE_VOLTAGE_1_1,
        GET_GROVE_VOLTAGE_1_2,
        GET_GROVE_VOLTAGE_2_1,
        GET_GROVE_VOLTAGE_2_2,
        GET_GROVE_ANALOG_1_1,
        GET_GROVE_ANALOG_1_2,
        GET_GROVE_ANALOG_2_1,
        GET_GROVE_ANALOG_2_2,

        START_GROVE_I2C_1,
        START_GROVE_I2C_2,
    """)

BUT all that is just details - If you want a Jetson Nano powered robot buy here.

If you want to learn how to build a robot from basics - to build your own robot microcontroller, why buy the GoPiGo3.

In the end - you end up building everything yourself, alone, with no one to help program it, and a year from now you will not have a tenth the functionality of a GoPiGo3.

It is all about what you want to learn, how to maximize the learning, and minimize the distractions.

3 Likes

Oh wow - now that is exciting.

2 Likes

I believe the biggest problem “for the GoPiGo3” is market demand, not a supply issue. There a lots of robots kits available for hobbyists, but the only widely accepted kits (thousands every year) have corporate sponsored local and world-wide competitions with a standardized box of components.

3 Likes

@cyclicalobsessive you may be right but that also does sound like a challenge!

I think the GoPiGo3 hardware is good and I do especially like the motors precisely because they have encoders. So, I will now clarify my question. I specifically would like to know if anyone can provide an electronics schematic that tells how the GoPiGo3 motors are controlled by the red GoPiGo3 board. I am pretty sure the motor is a “TT Motor with Encoder (6V 160RPM 120:1) FIT0450” or something similar but I need confirmation and the electronics schematic would help pull this idea together.

As for using a Jetson Nano, I am thinking along different lines so I would not use that SBC to replace the Raspi.

3 Likes

I agree that market demand in a crowded field is a challenge. That could be a whole new topic all by itself!

3 Likes

GoPiGo3: Unused GPIO Pins of 26 pin connector (3 GPIO available):

7:GPIO 4
24:GPIO 8 SPI_CE0
11:GPIO 17
13:GPIO 27

Unused pins of 40 pin connector (9 GPIO available):
27: ID_SD (I2C ID use only)
28: ID_SC (I2C ID use only)
29: GPIO5
30: Gnd
31: GPIO6
32: GPIO12
33: GPIO13
34: Gnd
35: GPIO19
36: GPIO16
37: GPIO26
38: GPIO20
39: Gnd
40: GPIO21

GoPiGo3 - Raspberry Pi Interface

1: 3v3: RPI+3v3
2: 5V: 5V supply
3: GPIO2: SDA_3v3
4:5V: 5V supply
5:GPIO3: SCL_3v3
8:GPIO14: RPI_TX
10:GPIO15: RPI_RX
12:GPIO18: RPI_RESET
15:GPIO22: RPI_Shutdown (button)
16:GPIO23: RPI_RUNNING
18:GPIO24: RPI_SWDIO
19:GPIO10: RPI_MOSI
21:GPIO9: RPI_MISO
22:GPIO25: RPI_SWDCLK
23:GPIO11:RPI_SCK
26:GPIO7: RPI_SS

3 Likes

I was never able to get a fix on the actual specs - (and even MR ended up being sent a batch with 16 tick encoders instead of 6-tick by mistake)

In my “Carl Spec” I included:

Motors Quantity 2
6v Gear Reduction (1:120) motors
? 4500 mg-cm at 6v
drive() batt. load: 3W

Motor Driver Dual TB6612FNG Dual 1.2A 15v max

3 Likes

I bought a Rock Pi 4 to determine if I could make it work for the GoPiGo3. It was a BIG NO from GPIO functionality standpoint, and more important to me was the power consumption/heat was way higher than the Raspberry Pi 3B.

And they absolutely pushed back on giving a way to disable ipv6:

3 Likes

Great - thanks! Do you happen to know what motor connector is being used (schematic says WY-1095 but I don’t know if that has any relevance)?

Update: My guess is that they are 6-Pin JST SH-Style connectors but it would be nice to confirm.

3 Likes

Interesting idea about the Rock Pi - too bad it didn’t work out as hoped.

3 Likes

It’s now November.

Did anything come of this that I missed in all the confusion?

2 Likes

No, nothing came out of it. And with Pi back in stock, we’re not going to explore this any further. But it’s definitely doable.

3 Likes