You already have a formula for finding the center of one of the
x = xBigCircle + Math.round(200 * Math.cos(phi));
y = yBigCircle + Math.round(200 * Math.sin(phi));
Since you want the small circles all to be the same size and each one
is the same distance from each of its neighbors, they will be evenly
spaced around the circle. Since one full turn around the circle is
2 * Math.PI, you want one eighth of that, which is
0.25 * Math.PI. Stepping by that angle around the circle eight
times, starting at the first circle, gets you back to the first circle
while finding seven other equally-spaced points.
The centers of the small circles should be at
x = xBigCircle + Math.round(200 * Math.cos(phi + n * 0.25 * Math.PI));
y = yBigCircle + Math.round(200 * Math.sin(phi + n * 0.25 * Math.PI));
n ranges from $0$ through $7$, inclusive
($0 \leq n < 8$).
The value $n=0$ is just the center of the first small circle,
which you already know.
To make a "gap" of size $20$ between each pair of small circles,
just set the radius of the small circles accordingly.
The distance between centers is
200 * 2 * Math.sin(Math.PI/8),
subtract $20$ from that for the desired gap, then divide by $2$
to get the desired radius.