Inverse Kinematics for Hexapod

Programming a basic walking gait using servo.write(angle) and then a delay is very easy.
Then you get something like this: Bajdupod 996R: first steps on Vimeo

I'm not much of a programmer, the challenge for me was to program it using inverse kinematics and using a timer. That's a lot harder for someone that is new to programming.
A couple of months later I ended up with this:

I can now remote control (by using another Arduino as a remote and 2 nRF24L01 modules) it, and make it walk in every direction. With the remote I can let it do preprogrammed "moves". Also has an autonomous obstacle avoiding mode using ultrasonic sensors and with the WiiCamera sensor it can track IR light. I also added 18 leds, 16 of them controlled by 2 shift registers. Mixing all those things in one sketch took me a lot of time to get right. My last sketch is over 1500 lines of code. But I'm sure someone with better programming skills could do it a lot simpler.