Faits :
A.
Par jugement du 7 décembre 2015, le Tribunal correctionnel de la Broye et du Nord vaudois a condamné X._ pour brigandage (art. 140 ch. 1 CP), dommages à la propriété (art. 144 al. 1 CP), violation de domicile (art. 186 CP), infraction et contravention à la loi fédérale sur les stupéfiants (art. 19 al. 1 let. b, c, d et 19a ch. 1 LStup) et conduite d'un véhicule malgré le refus, le retrait ou l'interdiction de l'usage du permis (art. 95 al. 1 let. b LCR) à une peine privative de liberté de 28 mois, avec un sursis partiel de trois ans portant sur 16 mois, ainsi qu'à une amende de 500 fr., la peine privative de liberté de substitution étant de cinq jours. Il a par ailleurs révoqué le sursis accordé le 28 mai 2014 à X._ par le Ministère public du canton de Fribourg.
B.
Statuant sur l'appel de X._, la Cour d'appel pénale du Tribunal cantonal vaudois l'a rejeté par jugement du 28 juin 2016.
B.a. Ce jugement repose en substance sur les faits suivants. Le 12 mars 2014, entre 9h et 9h30, A._, X._, surnommé " B._ ", et au moins deux autres comparses non identifiés, les dénommés C._ et D._, se sont rendus au domicile de E._, à F._, dans l'intention de voler du cannabis ou de l'argent. Pour ce faire, ils se sont munis d'un pistolet, d'une masse, de cagoules, de foulards et d'un couteau. Ils ont attendu que E._ et son épouse quittent l'appartement puis, vers 11 heures, A._ a forcé la porte de l'appartement au moyen d'une masse. Aux alentours de 11h05, G._, qui logeait à cette époque chez E._, est revenu à l'appartement après être allé faire des courses. Voyant des hommes avec des cagoules à l'intérieur, il est allé s'enfermer dans la cuisine. A._ et un autre comparse l'ont suivi, cassant la porte avec la masse. A._ a tenu G._ en respect avec un couteau, tandis que l'autre homme, qui ne portait pas de cagoule, l'a menacé avec un pistolet, à 5 centimètres environ de sa tempe gauche. A._ et son comparse ont forcé G._ à se mettre à genou et ont tenté de lui enfiler un sac sur la tête, sans succès. Ils lui ont dit plusieurs fois " money, money " et lui ont fait le signe de l'argent avec les doigts. Pendant que G._ était maintenu dans cette position, les autres comparses ont fouillé l'appartement, endommageant au passage de nombreux meubles. Vers 11h20, ils ont quitté l'appartement en emportant divers appareils électroniques.
B.b. Le casier judiciaire de X._ mentionne qu'il a été condamné le 28 mai 2014, par le Ministère public du canton de Fribourg, à 120 heures de travail d'intérêt général avec sursis pendant deux ans et à 1000 fr. d'amende pour conduite en incapacité de conduire et contravention à la loi fédérale sur les stupéfiants.
C.
X._ forme un recours au Tribunal fédéral contre ce jugement. Il conclut, avec suite de frais et dépens, à sa libération des accusations de brigandage, dommages à la propriété et violation de domicile, à la fixation d'une peine de 270 jours-amende, le jour-amende étant fixé à 20 fr., et à 500 fr. d'amende, sous déduction de 99 jours de détention avant jugement, la peine pécuniaire étant suspendue au bénéfice du sursis, dont le délai d'épreuve est fixé à deux ans, à ce qu'il soit renoncé à révoquer le sursis accordé le 28 mai 2014 par le Ministère public du canton de Fribourg, et à ce que l'Etat de Vaud lui doive immédiat paiement de la somme de 48'000 fr. avec intérêts à 5% l'an à compter du 1er février 2015 à titre d'indemnité au sens de l'art. 429 CPP. Subsidiairement, il conclut à sa condamnation à une peine privative de liberté de 20 mois et à 500 fr. d'amende, sous déduction de 99 jours de détention avant jugement, à ce que la peine privative de liberté de 20 mois soit suspendue avec un délai d'épreuve de deux ans, et à ce qu'il soit renoncé à révoquer le sursis accordé le 28 mai 2014 par le Ministère public du canton de Fribourg. Plus subsidiairement encore, il sollicite l'annulation du jugement entrepris et le renvoi de la cause à la cour cantonale pour nouvelle décision dans le sens des considérants. Il sollicite par ailleurs le bénéfice de l'assistance judiciaire.
Considérant en droit :
1.
Le recourant conteste avoir participé au brigandage au domicile de E._. Dans un premier moyen, il invoque une violation de son droit d'être entendu au motif d'un défaut de motivation du jugement cantonal.
1.1. L'obligation de motiver, telle qu'elle découle du droit d'être entendu (art. 29 al. 2 Cst.; cf. aussi art. 3 al. 2 let. c et 107 CPP), est respectée lorsque le juge mentionne, au moins brièvement, les motifs qui l'ont guidé et sur lesquels il a fondé sa décision, de manière à ce que l'intéressé puisse se rendre compte de la portée de celle-ci et l'attaquer en connaissance de cause (ATF 141 III 28 consid. 3.2.4 p. 41; 139 IV 179 consid. 2.2 p. 183). L'autorité n'a pas l'obligation d'exposer et de discuter tous les faits, moyens de preuve et griefs invoqués par les parties, mais elle peut au contraire se limiter à ceux qui lui paraissent pertinents (ATF 139 IV 179 consid. 2.2 p. 183; 138 I 232 consid. 5.1 p. 237).
Le Tribunal fédéral n'entre en matière sur les moyens fondés sur la violation de droits fondamentaux que s'ils ont été invoqués et motivés de manière précise (art. 106 al. 2 LTF; ATF 142 III 364 consid. 2.4 p. 368). Les critiques de nature appellatoire sont irrecevables (ATF 142 III 364 consid. 2.4 p. 368; 141 IV 249 consid. 1.3.1 p. 253).
1.2. Le recourant estime que l'état de fait du jugement entrepris doit être complété par de nombreux éléments, qu'il développe sur plusieurs pages, notamment en reproduisant intégralement la transcription de l'audition de G._ devant le tribunal de première instance. Ce faisant, le recourant livre sa version des faits et son interprétation des moyens de preuve, au lieu d'exposer en quoi le jugement attaqué souffrirait d'un défaut de motivation qui l'empêcherait de comprendre comment l'autorité précédente est parvenue à la décision rendue. Il est dès lors douteux que son grief réponde aux exigences de motivation décrites ci-dessus. Sa critique relative à l'établissement des faits sera pour le surplus discutée ci-dessous (consid. 2 infra).
Quoi qu'il en soit, l'autorité précédente a suffisamment exposé les raisons fondant sa conviction que le recourant et le dénommé " B._ ", qui avait participé au brigandage selon A._, n'étaient qu'une seule et même personne. Elle a mis en exergue la concordance du numéro de téléphone du recourant avec celui du dénommé " B._ " dans le portable de A._, les déclarations des témoins H._ et I._ concernant le surnom du recourant, sa description physique et la voiture qu'il conduisait et, surtout, les dénégations fantaisistes du recourant et de son acolyte. Elle a expliqué que ces éléments étaient suffisants pour retenir que le recourant avait participé au brigandage, peu importait que le plaignant n'ait pas pu l'identifier, que I._ se soit finalement rétractée et que les déclarations de J._ ne permettaient pas de mettre en cause le recourant.
1.3. Il s'ensuit que le recourant ne démontre pas que son droit d'être entendu a été violé. Son grief est rejeté dans la mesure de sa recevabilité.
2.
Le recourant se prévaut de la présomption d'innocence. Il constate qu'aucun moyen de preuve technique ou scientifique (contrôle rétrospectif des téléphones, trace ADN) n'a permis de le confondre. Selon l'extrait de son compte bancaire, il se trouvait en Allemagne au moment des faits. G._ n'avait pas pu l'identifier alors qu'il avait croisé les auteurs du brigandage en bas de son immeuble et qu'ils avaient travaillé ensemble pendant un mois en août 2015. G._ avait de surcroît décrit un homme grand, alors qu'il ne l'était pas. J._, mis en cause dans le brigandage, ne le connaissait pas. De même, E._ ne l'avait pas identifié alors que selon A._, " B._ " avait un différend avec lui. Enfin, A._ n'avait eu de cesse de répéter que la personne qu'il désignait comme " B._ " n'était pas le recourant.
2.1. Le Tribunal fédéral est lié par les constatations de fait de la décision entreprise (art. 105 al. 1 LTF), à moins qu'elles n'aient été établies en violation du droit ou de manière manifestement inexacte au sens des art. 97 al. 1 et 105 al. 2 LTF, soit pour l'essentiel de façon arbitraire au sens de l'art. 9 Cst. (sur la notion d'arbitraire, cf. ATF 141 IV 369 consid. 6.3 p. 375). Il n'entre pas en matière sur les critiques de nature appellatoire (ATF 142 III 364 consid. 2.4 p. 368; 141 IV 249 consid. 1.3.1 p. 253). Lorsque, comme en l'espèce, l'appréciation des preuves et la constatation des faits sont critiquées en référence à la présomption d'innocence (art. 10 CPP et 32 al. 1 Cst.), celle-ci n'a pas de portée plus large que l'interdiction de l'arbitraire (ATF 138 V 74 consid. 7 p. 82).
Lorsque l'autorité cantonale a forgé sa conviction quant aux faits sur la base d'un ensemble d'éléments ou d'indices convergents, il ne suffit pas que l'un ou l'autre de ceux-ci, ou même chacun d'eux pris isolément, soit à lui seul insuffisant. L'appréciation des preuves doit être examinée dans son ensemble. Il n'y a ainsi pas d'arbitraire si l'état de fait retenu pouvait être déduit de manière soutenable du rapprochement de divers éléments ou indices. De même, il n'y a pas d'arbitraire du seul fait qu'un ou plusieurs arguments corroboratifs sont fragiles, si la solution retenue peut être justifiée de façon soutenable par un ou plusieurs arguments de nature à emporter la conviction (arrêts 6B_445/2016 du 5 juillet 2017 consid. 5.1; 6B_275/2015 du 22 juin 2016 consid. 2.1).
2.2. La cour cantonale a considéré que le relevé du compte bancaire du recourant montrant trois prélèvements Maestro effectués le 12 mars 2014 sous la mention " K._ " n'était pas probant car la carte Maestro pouvait très bien avoir été utilisée par un tiers. En outre, si le recourant s'était réellement trouvé en Allemagne le jour du cambriolage, il s'en serait prévalu pendant l'enquête et aurait produit toute pièce censée l'établir, comme une réservation d'hôtel ou un billet de transport, par exemple. Tel n'avait pas été le cas. Il avait indiqué, le 2 décembre 2014, qu'il travaillait ce jour-là chez L._. Le 3 février 2015, il disait se trouver chez M._ le jour des faits. Par ailleurs, dans la mesure où J._ avait nié toute participation à ce brigandage et avait déclaré ne rien pouvoir dire à ce sujet, ces déclarations n'étaient pas pertinentes pour le sort de la présente cause. En revanche, il fallait considérer que A._ avait mis en cause un certain " B._ ", dont le numéro de téléphone correspondait, dans le répertoire de A._, à celui du recourant. Mais surtout, la cour cantonale s'est dite convaincue de la participation du recourant aux faits délictueux en raison des dénégations ultérieures de A._ et du recourant.
2.2.1. Le recourant avait ainsi nié porter le surnom de " B._ ", avant de reconnaître que son entourage pouvait l'appeler ainsi, comme cela ressortait de son profil Facebook et des déclarations de H._ et I._. Il a prétendu avoir prêté son portable avec son numéro de téléphone à un autre cap-verdien au début de l'année 2014. Quant à A._, il a expliqué que sa mise en cause initiale concernerait un autre " B._ ". Ainsi, il aurait rencontré cet autre " B._ " dans une discothèque en février 2014. Il ne s'agirait pas du recourant, mais d'un inconnu, qui lui aurait donné son numéro. Il l'aurait inscrit dans le répertoire de son téléphone portable sous le nom de " B._ ". Il se serait agi du numéro du recourant. A._ aurait correspondu avec cet autre " B._ " jusqu'en mai 2014. Par la suite, il aurait tenté de le joindre par WhatsApp et par téléphone, mais sans succès. En juin ou juillet 2014, le recourant lui aurait répondu en lui disant qu'il n'était pas " B._ " mais X._.
2.2.2. Tant le tribunal de première instance que la cour cantonale ont considéré qu'il paraissait invraisemblable qu'il y ait eu deux " B._ ", que ces personnes aient habité toutes deux à N._, qu'elles aient roulé toutes deux en mini Cooper, et que A._ ne se soit pas rendu compte qu'il conversait avec deux personnes différentes. Il était tout aussi invraisemblable que le recourant, qui travaillait dans la téléphonie, ait prêté son portable avec son numéro à un tiers portant le même surnom que lui pendant près de cinq mois, ne pouvant être atteint que sur sa ligne fixe pendant ce long laps de temps. Au demeurant, l'enquête n'avait pas permis de trouver ce deuxième " B._ ", qui s'appelait O._ d'après le recourant, et qui aurait été le " B._ " impliqué dans le cambriolage.
2.3. Le recourant ne critique pas la motivation cantonale. En particulier, il ne dit pas en quoi la cour cantonale aurait gravement erré en considérant ses dénégations et celles de A._ comme dépourvues de crédibilité. Il se limite à répéter que les prélèvements sur son compte bancaire effectués en Allemagne et les déclarations de D._ permettent de le disculper, sans discuter les motifs qui ont conduit la cour cantonale à considérer ces éléments comme non probants. Faute d'établir en quoi l'appréciation des preuves effectuée par la cour cantonale serait insoutenable, l'argumentation du recourant est largement appellatoire, partant irrecevable (consid. 2.1).
2.4. Quoi qu'il en soit, l'appréciation cantonale n'est point arbitraire. G._ a déclaré qu'il ne pouvait pas identifier les trois hommes qui portaient une cagoule et qu'il ne pouvait pas non plus dire si le recourant faisait partie ou non du groupe des personnes qui étaient dans l'appartement de E._, car seul l'homme sans cagoule lui avait adressé la parole (jugement de première instance du 7 décembre 2015, p. 7). Il n'a donc pas pu identifier le recourant, mais n'a pas non plus été en mesure de le mettre hors de cause. Par ailleurs, il importe peu que E._ n'ait pas reconnu le recourant, car il a simplement nié connaître un dénommé " B._ " (procès-verbal d'audition du 6 janvier 2015, p. 5). Enfin, il ne ressort pas du dossier qu'un contrôle rétrospectif du téléphone du recourant aurait été réalisé, de sorte qu'il n'y a rien à en déduire.
Compte tenu de ce qui précède, en particulier la concordance entre le numéro de téléphone de " B._ " et celui du recourant ainsi que les dénégations fantaisistes des intéressés, la cour cantonale pouvait se déclarer convaincue de la participation du recourant au brigandage sans violer le principe de présomption d'innocence. Le grief du recourant est dès lors infondé, à supposer qu'il soit recevable.
3.
Le recourant conteste la peine prononcée.
3.1. Le recourant reproche à l'autorité précédente de n'avoir pas motivé la fixation de la peine d'ensemble, compte tenu du concours rétrospectif partiel avec sa précédente condamnation du 28 mai 2014 à 120 heures de travail d'intérêt général et à 1000 fr. d'amende pour conduite en incapacité de conduire et contravention à la loi fédérale sur les stupéfiants, cette condamnation étant survenue postérieurement aux faits constitutifs de brigandage, violation de domicile et dommages à la propriété du 12 mars 2014 (mais antérieurement aux faits constitutifs d'infraction et contravention à la loi fédérale sur les stupéfiants et conduite d'un véhicule malgré le refus, le retrait ou l'interdiction de l'usage du permis).
3.1.1. Si le juge doit prononcer une condamnation pour une infraction que l'auteur a commise avant d'avoir été condamné pour une autre infraction, il fixe la peine complémentaire de sorte que l'auteur ne soit pas puni plus sévèrement que si les diverses infractions avaient fait l'objet d'un seul jugement (art. 49 al. 2 CP). Le prononcé d'une peine complémentaire suppose que les conditions d'une peine d'ensemble au sens de l'art. 49 al. 1 CP sont réunies. Une peine additionnelle ne peut ainsi être infligée que lorsque la nouvelle peine et celle qui a déjà été prononcée sont du même genre. Des peines d'un genre différent doivent en revanche être infligées cumulativement car le principe d'absorption n'est alors pas applicable (ATF 142 IV 265 consid. 2.3.1-2.3.2 p. 267 s; 137 IV 57 consid. 4.3.1).
Lorsque le juge est en présence de deux infractions dont l'une a été commise avant une précédente condamnation et l'autre après celle-ci, il y a, d'une part, un concours rétrospectif et, d'autre part, une infraction nouvelle qui font l'objet du même jugement. La doctrine et la jurisprudence parlent de concours rétrospectif partiel (arrêt 6B_28/2008 du 10 avril 2008 consid. 3.3.2 et les références citées).
3.1.2. Dans la mesure où la cour cantonale prononçait une peine privative de liberté pour le complexe de faits le plus grave, soit les actes constitutifs de brigandage, violation de domicile et dommages à la propriété, c'est à juste titre qu'elle n'a pas déclaré celle-ci complémentaire à la peine de travail d'intérêt général et l'amende infligées le 28 mars 2014; faute de peines du même genre, il convenait d'infliger une peine indépendante. Le grief du recourant concernant la motivation du concours rétrospectif tombe à faux.
3.2. Le recourant soutient que la cour cantonale a excessivement pris en compte ses antécédents, notamment en lui reprochant sa participation à une affaire de bagarre alors qu'il était mineur.
Même à écarter cet élément, la sanction infligée, par 28 mois de peine privative de liberté, n'apparaît pas inéquitable compte tenu du rôle du recourant dans la planification et l'exécution d'un brigandage - infraction dont la peine-menace va de 180 jours-amende jusqu'à une peine privative de liberté de 10 ans -, l'absence de prise de conscience et de toute autre circonstance atténuante sous la réserve de ses obligations familiales, ainsi que le concours avec les infractions de violation de domicile, dommages à la propriété, infraction à la LCR et infraction à la LStup.
En définitive, le recourant ne cite aucun élément important, propre à modifier la peine, qui aurait été omis ou pris en considération à tort dans la détermination de la quotité de la peine (sur les principes régissant la fixation de la peine, cf. ATF 141 IV 61 consid. 6.1.1 et 136 IV 55 consid. 5.6 p. 61).
3.3. Dans la mesure où la peine ne doit pas être diminuée, la question de l'octroi d'un sursis complet (art. 42 CP) ne se pose pas.
3.4. Le recourant discute la révocation du sursis octroyé par le Ministère public de Fribourg le 28 mai 2014. Il soutient qu'il ignorait la date à laquelle il devait déposer son permis et avait ainsi conduit sans se rendre compte qu'il commettait l'infraction de l'art. 95 al. 1 let. b LCR.
Cette motivation s'écarte des faits constatés en première instance, que le recourant n'a pas remis en cause dans le cadre de son appel, de sorte qu'elle est irrecevable.
4.
La demande d'une indemnité pour la détention avant jugement au sens de l'art. 429 CPP est rejetée dès lors que la peine privative de liberté infligée est confirmée.
5.
Dans la mesure de sa recevabilité, le recours doit être rejeté. Comme ses conclusions étaient vouées à l'échec, l'assistance judiciaire ne peut être accordée (art. 64 al. 1 LTF). Le recourant devra donc supporter les frais (art. 66 al. 1 LTF), dont le montant sera toutefois fixé en tenant compte de sa situation financière.
Vu l'issue du recours, la demande d'effet suspensif est sans objet.
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
La requête d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1200 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 24 août 2017
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Musy