Blender isn't too great for stitches in my experience since it lacks proper texturing tools like a world space based brush size. But I found 2 decent ways:
Make the stitches in 3D by modelling one simple stitch, adding an array and curve modifier combo, extract edge loops from your model, convert them to curves, and assign those curves as target for your array and curve modifiers. This will create believable stitches.
Paint the stitches in Texture Paint mode to affect diffuse and height map, you can use this images I made as a texture for your brush, mapping : 'view plane' and stroke method : 'line' with big spacing. But be careful as your brush size won't change on your screen when you zoom in and out so you have to manually adjust, unlike in Substance Painter.