Faits :
A.
A._ a été intercepté et contrôlé par la police le 31 juillet 2020 au volant du véhicule de son épouse, en raison d'une conduite hésitante et du fait que plus tôt dans la soirée, il avait été constaté qu'une forte odeur de marijuana émanait de son appartement. Il a été contrôlé positif au test de THC et a indiqué qu'il consommait régulièrement du CBD, à raison de trois joints par jour par automédication, afin de se calmer. Il a été dénoncé pour conduite sous l'influence de produits stupéfiants (<ref-law>, 2 al. 1 OCR et 19a LStup) et son permis de conduire a été saisi provisoirement. Le 4 août 2020, l'interdiction provisoire de conduire a été levée et le permis de conduire lui a été restitué provisoirement. Selon le rapport d'analyses biologiques déposé le 2 octobre 2020, le taux de THC dans le sang s'élevait à 2,8 μg/L.
Par décision du 8 octobre 2020, le Service des automobiles et de la navigation du canton de Vaud (SAN) a retiré à titre préventif le permis de conduire de A._, vu les doutes quant à son aptitude à conduire des véhicules automobiles en toute sécurité. L'intéressé était invité à s'adresser à un médecin pour réaliser une expertise afin de déterminer son aptitude à la conduite et d'analyser ses habitudes de consommations de drogues sur les trois derniers mois. Par décision sur réclamation du 19 novembre 2020, le SAN a confirmé cette décision en dépit des objections de l'intéressé concernant sa situation familiale et la traçabilité des prélèvements biologiques. L'effet suspensif d'un éventuel recours était retiré.
B.
Par arrêt du 22 mars 2021, la Cour de droit administratif et public du Tribunal cantonal vaudois a rejeté le recours formé par A._ et confirmé la décision du SAN du 19 novembre 2020. L'expertise toxicologique avait été effectuée le 4 août 2020 sur la base d'échantillons prélevés le 31 juillet précédent. Un tel délai ne compromettait pas le résultat de l'analyse et il n'y avait pas de problème de traçabilité. L'analyse avait révélé un taux de THC dans le sang presque deux fois supérieur à la limite de 1,5 μg/L au-delà de laquelle une personne était réputée incapable de conduire. Le recourant avait admis consommer trois joints de CBD par jour. Il y avait donc un doute sérieux sur sa capacité de conduire.
C.
Agissant par la voie du recours en matière de droit public, A._ demande au Tribunal fédéral de réformer l'arrêt cantonal en ce sens que le retrait préventif est supprimé et que son permis de conduire lui est restitué, le dossier étant renvoyé à l'autorité inférieure pour nouvelle décision sur les dépens. Le recourant demande l'assistance judiciaire.
La cour cantonale se réfère à son arrêt, sans plus d'observations. Le SAN se réfère à sa décision et à l'arrêt attaqué. Invité à se déterminer, l'Office fédéral des routes conclut au rejet du recours.

Considérant en droit :
1.
La voie du recours en matière de droit public au sens des <ref-law> est en principe ouverte contre une décision prise en dernière instance cantonale (art. 86 al. 1 let. d LTF) au sujet d'une mesure administrative de retrait du permis de conduire (<ref-law>), dans la mesure où aucun motif d'exclusion au sens de l'<ref-law> n'entre en considération.
1.1. La contestation porte sur le retrait à titre préventif du permis de conduire du recourant. Cette mesure provisoire a été rendue dans une procédure administrative destinée à déterminer l'aptitude à conduire de l'intéressé et la nécessité éventuelle de prononcer un retrait de sécurité. La décision attaquée ne met pas fin à cette procédure et constitue une décision incidente qui peut être déférée immédiatement auprès du Tribunal fédéral dans la mesure où elle cause un préjudice irréparable à son destinataire au sens de l'<ref-law>, ce qui est le cas en l'espèce (<ref-ruling> consid. 1b; arrêts 1C_514/2016 du 16 janvier 2017 consid. 1.1; 1C_618/2015 du 7 mars 2016 consid. 1).
1.2. Le recourant a pris part à la procédure de recours devant l'autorité cantonale. Il a un intérêt digne de protection (<ref-law>) à ce que l'arrêt attaqué soit annulé en tant qu'il confirme une décision qui le prive provisoirement de son permis de conduire jusqu'à ce que son aptitude à conduire soit démontrée. Sa qualité pour agir est à l'évidence donnée. Le recours a au surplus été formé en temps utile (<ref-law>) contre une décision rendue en dernière instance cantonale. Il y a donc lieu d'entrer en matière.
1.3. Dans le cas d'un recours dirigé, comme en l'espèce, contre une décision portant sur une mesure provisionnelle au sens de l'<ref-law>, seule peut être invoquée la violation des droits constitutionnels (<ref-ruling> consid. 1.2). Conformément à l'<ref-law>, les griefs soulevés doivent être suffisamment motivés, sous peine d'être déclarés irrecevables. Pour satisfaire à ces exigences, le recourant doit discuter les motifs de la décision entreprise et indiquer précisément en quoi il estime que l'autorité a méconnu le droit constitutionnel (<ref-ruling> consid. 1.2.2; <ref-ruling> consid. 2.1). Le recourant ne peut donc se contenter d'invoquer les dispositions applicables du droit fédéral; il doit démontrer que celles-ci ont été appliquées d'une manière contraire à la Constitution, soit notamment de manière arbitraire au sens de l'art. 9 Cst. (<ref-ruling> consid. 1.2 in fine).
2.
Le recourant se plaint d'une violation de l'art. 30 de l'ordonnance réglant l'admission des personnes et des véhicules à la circulation routière (Ordonnance réglant l'admission à la circulation routière - OAC, RS 741.51). Il estime ne pas présenter de risque sérieux pour la circulation; il n'aurait pas commis de violation grave des règles de la circulation, mais seulement conduit de manière hésitante. La détermination de son aptitude à la conduite pourrait avoir lieu sans retrait préventif.
2.1. En tant qu'il concerne une violation "simple" de l'<ref-law>, le recours est irrecevable. Le recourant ne prétend en effet nullement que cette disposition de droit fédéral aurait été appliquée de manière arbitraire.
2.2. Incidemment, le recourant paraît aussi invoquer le principe constitutionnel de proportionnalité. Il relève à ce sujet que le retrait préventif est intervenu plus de deux mois après les faits et que son comportement routier dans l'intervalle aurait été irréprochable.
Le principe de la proportionnalité (art. 5 al. 2 et 36 al. 3 Cst.) ne constitue pas un droit constitutionnel proprement dit, mais uniquement un principe constitutionnel. Il peut certes être invoqué de manière indépendante dans un recours en matière de droit public, mais lorsqu'il n'est pas invoqué en relation avec un droit constitutionnel spécifique (comme par exemple la liberté personnelle, art. 10 Cst.), le Tribunal fédéral n'en examine le respect que sous l'angle de l'arbitraire (<ref-ruling> consid. 5.3.2; <ref-ruling> consid. 4.1; arrêt 1C_319/2020 du 18 février 2021 consid. 3.7 et les références citées). En l'occurrence, le recourant ne soulève comme on l'a vu aucun grief d'arbitraire, y compris en ce qui concerne le principe de proportionnalité. Le grief est dès lors irrecevable. Au demeurant, au vu du taux de THC constaté (soit près du double de la limite fixée à l'art. 34 let. a de l'ordonnance de l'OFROU concernant l'ordonnance sur le contrôle de la circulation routière - OOCCR-OFROU, RS 741.013.1), la mesure litigieuse apparaît manifestement propre à atteindre le but recherché par l'<ref-law>, soit la protection du trafic durant la période limitée d'investigation sur la capacité de conduire (arrêt 1C_154/2018 du 4 juillet 2018 consid. 4.2). Le fait que le recourant a pu bénéficier de son permis de conduire durant deux mois supplémentaires - dans l'attente de l'expertise toxicologique - ne permet pas de parvenir à une conclusion différente.
2.3. Le recourant estime enfin qu'il "semble que des règles de procédure aient été violées dans le cas d'espèce": il évoque le délai entre la date de prélèvement et l'analyse, quatre jours plus tard; le rapport de police concernant la prise de sang et d'urine ne mentionnerait pas l'identité de ses auteurs; on ne saurait pas par qui et comment les analyses ont été transmises au laboratoire. Le recourant estime avoir droit à ces renseignements, mais il ne précise nullement en vertu de quelle règle ou de quel principe constitutionnel. Le grief est dès lors lui aussi insuffisamment motivé au regard des exigences rappelées ci-dessus.
3.
Sur le vu de ce qui précède, le recours est irrecevable. Cette issue, d'emblée prévisible, conduit au rejet de la demande d'assistance judiciaire. Cela étant, il y a lieu - compte tenu de l'impécuniosité du recourant qui a conduit la cour cantonale à renoncer à une avance de frais - de renoncer à la perception de frais judiciaires (art. 66 al. 1 in fine LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est irrecevable.
2.
La demande d'assistance judiciaire est rejetée.
3.
Il n'est pas perçu de frais judiciaires.
4.
Le présent arrêt est communiqué au mandataire du recourant, au Service des automobiles et de la navigation, au Tribunal cantonal du canton de Vaud, Cour de droit administratif et public, ainsi qu'à l'Office fédéral des routes.
Lausanne, le 16 juin 2021
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président : Kneubühler
Le Greffier : Kurz