Here is another short construction which is much simpler and just takes a few lines.
Let $M$ be a closed $n$-manifold. Consider the diagonal $M \to M \times M$. It is an embedding. Take its Pontryagin-Thom construction to get a map $$ M_+ \wedge M_+ \to M^\tau $$ (we have identified a tubular neighborhood of the diagonal with the total space of the tangent bundle).
If $M$ is (stably) framed, then $M^\tau \simeq M_+ \wedge S^n$ (stably). Then we have the map $M_+ \wedge S^n \to S^n$ induced by smashing $M_+ \to \text{pt}_+$ with $S^n$.
The composition $$ M_+ \wedge M_+ \to M^\tau \simeq M_+ \wedge S^n \to S^n $$ is what you want: it's a duality map.
This can be seen on the level of homology (but it is enough to check a map is a duality map on the level of homology).
- If $M$ is compact with non-empty boundary $\partial M$, then there is a map of pairs $$ (M\times M, M\times \partial M) \to (M\times M,M\times M - U) $$ where $U$ is a tubular neighborhood of the diagonal. To get this map, one might choose a collar neighborhood $C$ of $\partial M$ and thereafter identify $M$ with $M-C$. Then $M-C $ and $\partial M$ are disjoint.
The map of pairs determines a map of quotients $$ M_+ \wedge M/\partial M \to M^\tau \, , $$ and one may then proceed as in the empty boundary case, assuming that $M$ is framed, to obtain a map $$ M_+ \wedge M/\partial M \to S^n $$ which will be an $S$-duality.