\documentclass{standalone}

\usepackage{tikz}
\usepackage{graphene}

% reflected graphene grid at #1 of width #2 and height #3
\def\graphenereflected#1#2#3{
  \foreach \i in {0,...,#2}{
    \foreach \j in {0,...,#3}{
      \cellreflected{#1++(\i*3,-2*\j*\sqrtThOT)}
      \cellreflected{#1++(\i*3+1.5,\sqrtThOT-2*\j*\sqrtThOT)}
    }
  }
}
\def\cellreflected#1{
  \draw[dotted]#1--++(0:-1);
  \draw[dotted]#1--++(120:-1);
  \draw[dotted]#1--++(240:-1);
  \asite{#1}
  \draw[dotted]#1++(-1,0)--++(0:1);
  \draw[dotted]#1++(-1,0)--++(120:1);
  \draw[dotted]#1++(-1,0)--++(240:1);
  \bsite{#1++(-1,0)}
}
\def\square#1#2{\draw#1++(-#2,-#2)--++(#2,0)--++(#2,0)--++(0,#2)--++(0,#2)--++(-#2,0)--++(-#2,0)--++(0,-#2)--++(0,-#2);}


\begin{document}
\begin{tikzpicture}
  % first layer
  \graphene{(0,0)}{3}{3}

  % redefine sites for second layer
  \def\bsite#1{\draw#1circle(.1);}
  \def\asite#1{\square{#1}{.17}}

  % second layer
  \graphenereflected{(0,0)}{3}{3}
\end{tikzpicture}
\end{document}
