Quadru

8 DOF (sg90 Servos).
PCA9685 + Arduino Uno for control.
Direct power from laptop USB.
Importance of interpolation control for legs syncing learnt.

v2 - Spot MiniMini Clone

Clone of spot mini mini project (https://github.com/OpenQuadruped/spot_mini_mini).
MG995 Servos (weak for this scale quadruped).
Belt transmission for knee. Kept slipping.
Don't do belt transmission without tension idlers ! Lesson learnt.

v? - Tests, trials and prototypes ...

v4 - 4 Bar Mech...

Switched to CAD design from scratch.
Tested custom printed servo horn (not a good idea, at least with PLA, lasted 3-4 runs at max).
Print-in-Place type knee hinge. Works pretty well.  Trial and Error for appropriate design flex for disjointable hinge.
Play due to normal nut-bolt hinge too much. Use lock-nut and washer combo for better accuracy.

v7 - Quadru

Multiple iterations later ...
Knee actuatore direct drive (no transmission).
Snug fit servo horn coupling (Works extremly well, good torque transmission, negligible backlash).
Lower leg can fold completly into upper thigh. Helpful for zero positioning and general convinince while carrying.
2-sided hip axis support to support heavier leg and constraint joint axis from moving around under moment from weight.

Final assembled model.
Very mechanically stable (compared to older version).
Tradition config (front and back knees pointing back) causes COM to shift back.
Leads to back legs bearing most load. Sudden jerk forward at end of standing sequence.

Can deal with COM issue by tilting body or other appropraite controls modelling.
Even then, back servos will take most load, not healthy in the long run.
Also, too many other issues to focus and fix already.
Switching front knee config to balance out COM issue ;).

Electrical issues debugging insanity.
Rerouting and controlling every servo individually bypassing PCA9685 = Wiring hell.

Imp lesson learnt the hard(est) way possible- Power cable's dia matters.
not enough current electronics = random batshit crazy electronics.

Cheap MG995 servos => lot's of caliberation.
Created linear mapping of position ranges for every servo based on real life inaccuracies.

Basic trot gait step-in-place finally acheived : )

Wrote basic forward and inverse kinematics for each 3R leg using DH parameters.
Converted CAD to urdf using Fusion2urdf extension (with modifications).
Loaded CAD in pyBullet, and tuned step hieght and step length for a redimentary rectangular trajectory crawl gait.

As seen above, in the 3rd hardware test of walking, after a few succedul steps, one of the knee servos gave up.
All spare servos were already used up.
Now with no servos, no money, no time, time to call quits and move to the next project ...