Raphael Kit Lesson 1.3.2 for Raspberry Pi (Servo)

  1. Arm Orientation. is there a ‘correct’ orientation to place the white ‘arm’ (I presume you are to use the one-armed attachment for this lesson - the lesson doesn’t mention using it at all).?
  2. Arm Screw: I tried attaching the arm with one of the screws provided but that seemed to make it difficult to turn, so I just didn’t use a screw (acceptable?)
  3. Program warning: When running the program provided, you get this warning below. I tried researching pigpio but that seemed to go deeper than I was following rather quickly. My servo was indeed quite jittery. There may be newer/better library to use for this?

/usr/lib/python3/dist-packages/gpiozero/output_devices.py PWMSoftwareFallback: To reduce servo jitter, use pigpio pin factory.See https://gpiozero.readthedocs.io/en/stab … html#servo for more info

  1. Return to neutral: If you Ctrl-C to end the program, the arm just ends wherever. I tried putting a servo.mid() line in the except statement but that didn’t work (nor did adding a finally: statement with that line in it). I am unsure why exactly these didn’t work (??)

There is no “correct” orientation for the servo arm – you can place it in any direction that suits your project.

You don’t need to tighten the screw during testing. Simply placing the arm on the shaft is stable enough. Only secure it with the screw when you add a load.

The warning means software emulation is not optimal. For smooth servo movement, use pigpio. If precision is not critical, you can ignore it. Also, connecting servos directly to GPIO is less reliable; for serious projects, a dedicated servo driver is recommended – but that’s beyond this kit.

I just confirmed that servo.mid() works inside except. If your modified code still doesn’t work, please send it to me and I’ll take a look.

1 Like