• Alex posted an update 3 weeks, 4 days ago

    Head fully working ! All facial movements on single PCA9685 servo board being controlled by Arduino uno.
    Uno is being controlled by ESp32 so now haw wifi control using telnet from PC. Also simple python GUI with buttons for ech facial control Lookleft,Lookright, jawopn/close etc.
    Just added second pwm board and connected neck servo.
    tweaked neck speed to ramp up, ramp down as it turns so no jolting.
    All going well, loving this project. And good progress for one months work. This is a perfect project for winter.
    Now onto printing the torso and shoulders !

    • BTW not using MRL, just running from arduino/ESp32 sketches so probably very different to what others are doing.
      Heres a full list of commands anf functionality I have so far:

      Command Function
      neckleft Move neck to -50° (1425µs) — ramped
      neckright Move neck to +50° (2125µs) — ramped
      neckcenter Move neck to center (1775µs) — instant
      ns Neck sweep 1775 → 2125µs (6 sec, ramped)
      rand Start random expressions every 3 sec
      randblink Start natural blinking (3–5 sec intervals)
      randeye Start random eye saccades (10% range)
      randeye1 Eyes + blinks (saccade + natural blink)
      read Reading mode — scan 5 lines, eyes move
      sleep Close eyes, go to rest pose
      eyesc Eye center — both eyes to center
      lbc Left brow center
      rbc Right brow center
      lfc Left forehead center
      rfc Right forehead center
      jawc Jaw center
      lipc Lip center
      lcheekc Left cheek center
      rcheekc Right cheek center
      home/rest Full rest pose (face + neck instant center)
      jawopen Open jaw fully
      jawclose Close jaw fully
      jawspeak Jaw moves like speaking (4 pulses)
      lipup Upper lip up
      lipdwn Upper lip down
      lbup Left brow up
      lbdwn Left brow down
      rbup Right brow up
      rbdwn Right brow down
      bup Both brows up
      bdwn Both brows down
      lfup Left forehead up
      lfdwn Left forehead down
      rfup Right forehead up
      rfdwn Right forehead down
      fup Both foreheads up
      fdwn Both foreheads down
      ll Eyes look left
      lr Eyes look right
      lu Eyes look up
      ld Eyes look down
      crosseye Cross eyes
      blink Full blink (both eyes)
      lwink Left eye wink
      rwink Right eye wink
      lcheek Left cheek down
      rcheek Right cheek down
      dimple Both cheeks down (smile dimples)
      puff Both cheeks up (puff)
      happy Full happy expression
      sad Full sad expression
      angry Full angry expression
      surprise Full surprise expression
      fear Full fear expression
      disgust Full disgust expression
      wink Left eye wink
      smirk Right-side smirk
      confused Confused (one brow up, cross eyes)
      love Love (heart eyes + smile)
      sleepy Two slow blinks
      bored Bored (flat + eyes right)
      yawn Full yawn (jaw + eyes)

      sX Y Face servo direct: s0 1500 → channel 0 = 1500µs
      n0 Y Neck direct (ramped): n0 1900 → neck to 1900µs