Faits: A. Le 26 février 2007, A._ - alors détenu aux Etablissements de la Plaine de l'Orbe - a déposé une plainte pénale en raison de mauvais traitements de la part du personnel de l'établissement. L'instruction de cette plainte a été confiée au Juge d'instruction de l'arrondissement du Nord vaudois. Le 5 janvier 2009, ce dernier a rendu un avis de prochaine clôture et imparti au plaignant un délai au 21 janvier 2009 pour consulter le dossier et formuler toute réquisition ou produire toutes pièces utiles. Le 26 janvier 2009, A._ a requis la récusation du Juge d'instruction. Cette requête a été transmise au Tribunal d'accusation du Tribunal cantonal du canton de Vaud. Par arrêt du 9 février 2009, le Tribunal d'accusation a rejeté la demande de récusation. Même si le magistrat instructeur avait vu, à deux reprises, ses décisions cassées par l'autorité de recours, cela ne permettait pas de douter de son impartialité. Par arrêt du 3 avril 2009, le Tribunal fédéral a admis un recours formé par A._ et renvoyé la cause à la cour cantonale. Les déterminations du juge d'instruction sur la demande de récusation n'avaient pas été communiquées à l'intéressé, de sorte que son droit d'être entendu avait été violé. B. Statuant à nouveau par arrêt du 29 avril 2009, après avoir remis à A._ une copie des déterminations du juge d'instruction, le Tribunal d'accusation a derechef rejeté la demande de récusation en se référant aux motifs de son précédent arrêt. Par acte du 11 mai 2009, A._ forme recours contre cette dernière décision. Il se réfère largement à sa demande de récusation et à son précédent recours devant le Tribunal fédéral. Il requiert l'assistance judiciaire et la nomination d'un avocat d'office étranger. Il n'a pas été demandé de réponse.