I see I posted code after my unsuccessful attempt to make a recursive function of the whole thing (for way less lines).
Every circle was supposed to be turning around some circle with the expansions and contractions, especially the main 12, here is the fix:
'full circle fix.bas SmallBASIC 0.12.8 [B+= MGA] 2017-01-19
'everything was supposed to be turning around another circle
xc=xmax/2:yc=ymax/2
while 1
cls
r += pi/180
w += pi/72
for i=1 to 12
x=xc+200*cos(w+i*pi/6)*sin(r)
y=yc+200*sin(w+i*pi/6)*sin(r)
circle x,y,40,1,15
ww += pi/80
for j=1 to 12
xx=x+100*cos(ww + j*pi/6)*sin(r)
yy=y+100*sin(ww + j*pi/6)*sin(r)
circle xx,yy,20,1,14
w3 += pi/88
for k=1 to 12
x3=xx+50*cos(w3 + k*pi/6)*sin(r)
y3=yy+50*sin(w3 + k*pi/6)*sin(r)
circle x3,y3,10,1,9
next
next
next
showpage
delay 30
wend
Of course screen shots don't do justice but: