WaveShare PicoGo goes Odo

With the new ‘RPi Pico robot platform‘, it’s time to upgrade this platform: PicoGo (V1) from WaveShare.

The PicoGo is a small differential drive robot, including some nice sensors and display. It’s also having both IR & Bluetooth for connectivity.

But it doesn’t have motors with encoders. This is fine for line following & obstacle advoidence, but the PicoGo has no idea where it’s, nor is it able to drive straight.

So let’s add some N20 motors with encoders, which enabels odometry & speed control.

Mechanical

The encoders & magnet on the motors are colliding with the display connector (about 1 or 2 mm’s.). So this connector is removed and the wires are soldered (& glued) directly on the PCB.

Electrical

The original motor driver uses 6 pins, but need in total 8 pins for driving the motor & read the sensors. By replacing the driver with a DRV8835, only 4 pins are needed for the driver. The complete IC is removed from the board.

This frees 2 pins already, which is enough for lower resolution encoder. For making a quadruple encoder, 2 more pins are necessary.

So basically used 2 extra pins on the Pico for the encoder. The corspondending pins on the PicoGo pcb are re-routed. With 2 jumpers, these sensors could still be used:

  • Either the distance sensor (needs 2 pins) or,
  • IR remote + buzzer.

So all other sensors are still accesable directly via the RPi Pico and so all provided sample code is also still working.

Considerations: The bluetooth module could not be freeed, since pins from USB are also connected. Another canidate (freeing 1 pin) would have been the colored LED’s on the back. Since there is already a working dispay, these extra LED’s are not adding a lot of value.

Result

The final result is still a working PicoGo, now including odometry (& LAN).

Not sure, how to continue yet, since there are also some other projects on the move…

Maybe:

  • Create line follower and plot on PC screen…
  • Obstacle advoidane and plot on screen..

To be continued.