Pan Tilt Module with Raspberry Pi not working

I am trying to connect a Pan Til Module I bought from Amazon that has a Pan Tilt Hat with my raspberry pi
Raspberry pi boots up, i2c is enabled and i2cdetect -y 1, indicates that 0x39, 0x40 and 0x70 are available/enabled.

None of the examples at work. After debugging I finally got one stepper to move. (I had to change the example to use
import pantilthat as p
pantilthat = p.PanTilt(address=0x40)
from just importing pantilthat and using it rather than using the default address of 0x15.
Now one stepper moves when i pan(90) but pan (-90) also moves the stepper in the same direction instead of in the opposite direction. The other stepper does not respond at all with the tilt command.

Is the different address typical? Or is the module faulty. This is the module at amazon

That " MakerFocus Raspberry Pi 4B Servo Motor Controller PWM Kit, 2-DOF Pan-Tilt HAT" is not a Pimoroni Pan tilt Hat. It’s not this.

Its not going to work with the Pimoroni driver or with the Pimoroni python examples.
Plus, you mention “steppers” I’m thinking you mean servo? There is a big difference between a stepper motor and a servo. Two totally different animals.

EDIT: Nave a look see here.
and here

Ah Thank you. I did not know HATs was a generic term and assumed it only meant pimoroni items. I am going to buy . I hope that is a pimoroni pan tilt hat (it says brand is pimoroni)

Yes that is the real deal. ;) I have two and I am very happy with them.
I use mine with motion Eye OS. Pi 3A+ and Pi foundation Version 2 cameras.
My only complaint would be that the Adufruit “built and assembled” pan tilt top bit wasn’t centered correctly. That’s not Pimoroni’s fault though, they get them pre built from Adafruit. Just watch for that when you get it setup.
This python code will center the two servos and give you a short preview of what the camera see’s.

from picamera import PiCamera
from time import sleep
import pantilthat


camera = PiCamera()
camera.rotation = 180
camera.resolution = (1280, 720)


You can change the camera.resolution line to match your monitor if you want.

I have several Pimoroni pantilthats but bought two Waveshare pantilthats from Amazon. The waveshare pantilthat python driver was not sufficient for what I wanted. I wanted to be compatible with the existing Pimoroni hats. I solved the problem by writing my own driver. Can now interchange software with no problems. Include examples that can use either hat. Install is very easy via curl script. Just driver or Demo’s and driver Only. See

I added dual hat functionality to my PiTimoLo project for automatically creating panoramic images from a series of overlapping pan tilt images. See