Hey,
You can take a look at the original implementation (beware, it’s in LUA): https://github.com/kuz/DeepMind-Atari-Deep-Q-Learner 199
There are several tricks they use:

They play using the static network, the dynamic one it trained, every 10K steps (hyper-parameter called target_q) the static is replaced by the dynamic.
Reward clipping - reward is clipped to +- 1
They clip the delta (loss) to +- 1 also.
Probably some more tricks I forgot / missed.

Besides that, once the basic DQN is working, I would suggest to add in Double Q Learning. It is pretty straight-forward to implement and gives steady convergence and better results.