I have faced same issue with bin files. What I have done is, I have converted bin to text format and it started working.
When it comes to building custom embeddings, i think it depends on few factors like, how much data you have to generate good embeddings? Does available embeddings doesn’t serve the purpose?
Unless you data is very specific, like medical or related to something specific, which already available embeddings doesn’t have then you can train using gensim(which is very simple) to get your own embeddings.
However, I would suggest to play around glove or fasttext embedding using few custom words you have in your dataset and see the outputs before making any decision on using custom or available embeddings.