Java (OpenJDK 9), 178 bytes
n->{int s=(int)Math.pow(3,n),i=s*s,H[][]=new int[s][s];for(;i-->0;)H[i/s][i%s]=h(s,i/s,i%s);return H;} int h(int s,int x,int y){return s>3?h(s/=3,x/3,y/3)&h(s,x%s,y%s):++y%2|x%2;} Returns an int[][] with 1 for H and 0 for space.