Skip to content
Thomas Euler edited this page Dec 31, 2024 · 15 revisions

PCB for "walk engine" (server)

Drawing

Features

  • Socket for TinyPICO ESP32 module running MicroPython - now this socket is used as interface to the second PCB, which is stacked on top.
  • 8-channel servo current sensing (for estimating the servo load)
  • Connector for 18-channel Maestro Mini servo controller
  • Socket for 5V step-up voltage regulator module
  • Connector for measuring servo battery voltage
  • Connectors for piezo buzzer, 1-cell LiPo battery, potentiometer (e.g. mode selection), and I2C (Stemma QT)
  • Option to auto-power-up board when servo voltage is detected

Versions

  • 0.3 - Prototype
    • Socket for serial HC05 BlueTooth module
    • Issue: Load detection does not work by servo channel but only total current, because current sense amplifiers are connected the wrong way (polarity wrong).
  • 0.4 - Updated and fixed version
    • Load detection fixed
    • Socket for serial HC05 Bluetooth module removed (as the TinyPICO supports BLE)
    • Stemma QT I2C connector added
    • Optional relay added to enable auto-powerup upon detection of servo voltage

Connectors, sockets, jumpers, and LEDs

The LED 1 (yellow, GP2) and a NeoPixel (GP3) are controlled by the "walk engine" (GP2) and, hence, activated in a program state/activity-dependent manner.

LED 2 (red) is directly connected to the error pin of the Maestro Mini servo controller and indicates servo issues. LED 3 (green) is on whenever the board is powered by the battery.

Connector Description Server Pico Client Pico.
bat Connector to measure servo battery voltage. In addition, this input is used to auto-power-up board via a relay (see also J3) GP28/ADC2
SC Connector for 18-channel Maestro Mini servo controller via serial port GP4/RX, GP5/TX
COM2
buzz Connector for passive piezo buzzer GP6
pot Connector for potentiometer GP28/ADC2
J1 Jumper; needs to stay open to enable I2C connector
J2 Socket for 5V step-up voltage regulator module, which supports all 5V devices of the board. Note that enable pin is not supported.
J3 Jumper; set to shortcut relay. Then, only the power switch determines if the board is powered or not.
Cli Connector to robotling client board to receive commands via serial connection GP0/TX, GP1/RX
COM1
I2C Stemma QT connector to I2C bus, with ground and 3V GP19/SCL, GP18/SDA

PCB for "behaviour engine" (client)

Other than in the previous design, the "client" PCB carries both Pico microcontrollers and connects to the "server" PCB via the socket that was meant to take the TinyPICO.

Drawing

Features

  • Sockets for two Raspberry Pi Pico microcontrollers
  • Connector for (round) TFT display (J5)
  • Extension connector (J3) for additional sensors etc.
  • 2x NeoPixels for indicating status of server and client
  • Protection of battery when Picos are powered via USB
  • Server and client are connected via serial interface plus two handshake lines

Versions

  • 0.3 - Prototype
  • 0.4 - Updated version
    • Small changes to adapt to FeatherS2 pinout.
    • Added the option to power the FeatherS2 from the LiPo connected to the "walk engine" board (including protection diode).
  • 2.0 - New design for two Pico microcontrollers

Circuit diagrams

Circuit diagram for new (v2.0) client PCB (also as PDF): Drawing