Table des matières

Résidence Textile 2026

Broder des patchs

Premier essai

Pour broder un patch de 45mm sur tissus sergé avec la brodeuse Brother VR, on utilise le petit cadre carré de 50mm. Pas nécessaire d'utiliser du tissus renfort, le sergé convient très bien.
Pour ce premier essai, j'essaie la méthode «one shot» (décrite ici), c'est à dire une broderie directement sur un carré de sergé puis une découpe le long du bord avec des ciseaux.
Le motif a été préparé avec inkscape / inkstitch.

Fournitures :

Fichiers

Découpe du tissus

Préparation du motif avec inkscape
Un calque par couleur et point : il faut séparer les différentes parties. Ici, on a 3 parties : un cadre circulaire, une broderie en noir, une broderie en vert, à chacune de ces 3 parties des réglages de points de broderie différents sont appliqués.

Choix des points à appliquer
J'ai gardé les réglages par défaut, repris en détail ci-dessous

afficher les réglages complets

Pour le contour

points droits le long des chemins oui
méthode point zigzag
répétitions 1
compensation d'étirement 0
espacement zig-zag 0.4 mm
longueur minimum du point /
longueur minimum de saut /
autoriser les points d'arrêts  au début et à la fin
forcer des points d'arrêts non
point d'arrêt initial simple
échelle du point d'arrêt initial 100%
 point d'arrêt demi point
couper après non
arrêter après non

Remplissage noir

Remplissage vert fantôme (point de remplissage)

auto-remplissage avec des points de broderie oui
méthode de remplissage remplissage automatique
 élargir  0 mm 
angle des lignes de points 0 deg.
boucher des espaces entre sections 0 rows
longueur maximale du point de remplissage  3 mm
espacement entre les rangées 0.25 mm
espacement final entre les rangées /
 décaler les rangées autant de fois avant de répéter 4
compensation d'étirement 0 mm
pourcentage de compensation d'étirement 0 %
sauter le dernier point dans chaque rangée non
chemin de dessous oui
longueur de point droit 2.5 mm
tolérance du point droit 0.1 mm
rendre aléatoire la longueur du point droit non
mouvement aléatoire de la longueur du point (inactif)
graine aléatoire (vide)
longueur minimum du point /
longueur minimum de saut /
autoriser les points d'arrêts  au début et à la fin
forcer des points d'arrêts non
point d'arrêt initial noeud papillon
échelle du point d'arrêt initial 100%
 point d'arrêt demi point
couper après non
arrêter après non

Remplissage vert fantôme (sous-couche de remplissage)

Sous-couche oui
angle de remplissage /
décalage 0
longueur de point maximale /
espacement entre rangée de points  /
sauter le dernier point dans chaque rangée non
chemin de dessous oui

Remplissage noir (point de remplissage)

auto-remplissage avec des points de broderie oui
méthode de remplissage remplissage circulaire
 élargir  0 mm 
espacement entre les rangées 0.25 mm
espacement final entre les rangées /
chemin de dessous oui
longueur de point droit 2.5 mm
tolérance du point droit 0.1 mm
rendre aléatoire la longueur du point droit non
mouvement aléatoire de la longueur du point (inactif)
répétitions 1
Nombre de répétitions pour le point multiple (bean stitch)
graine aléatoire (vide)
longueur minimum du point /
longueur minimum de saut /
autoriser les points d'arrêts  au début et à la fin
forcer des points d'arrêts non
point d'arrêt initial demi point
point d'arrêt demi point
couper après non
arrêter après non

Remplissage noir (sous-couche de remplissage)

Sous-couche oui
angle de remplissage /
décalage 0
longueur de point maximale /
espacement entre rangée de points  /
sauter le dernier point dans chaque rangée non
chemin de dessous oui

Conclusions :

Deuxième essai

Même motif, avec un dégradé en 2 couleurs pour le remplissage du corps du fantôme (en suivant : https://inkstitch.org/fr/docs/stitches/linear-gradient-fill/).

Procédure :

Fichiers

Découper du tissus avec la cameo

Fournitures :

Couper un disque de 20mm

Normalement, on coupe du tissus avec la «rotary blade» et le porte-outils 2 (qui peut exercer une pression beaucoup plus forte que le 1).
Mais elle nécessite une préparation particulière que fait le logiciel Silhouette Studio, apparemment des petites découpes qui permettent à la lame de se placer dans la bonne position, on peut le voir sur des fichiers préparés (par exemple sur cette page : https://silhouettefranceleblog.fr/?p=34).
inkscape-silhouette ne propose pas cette option, alors j'essaie avec l'autoblade sur le porte-outils 1 et le tapis autocollant classique

Ça fonctionne avec les réglages suivants

Observations :
Le tissus ne colle pas très bien, il peut se faire entraîner par la lame. (nb : il existe des tapis plus collants)
Et je n'ai essayé que sur un cercle…
À priori, rien n'est prévu pour l'utilisation de la rotary blade avec inkscape-silhouette ( https://github.com/fablabnbg/inkscape-silhouette/issues/238 )
Le tissu de sous couche fait des franges, assez faciles à enlever aux ciseaux.

Ressources

Le faclab de Carouge (Suisse) a produit des tonnes de ressources sur la broderie machine avec inkstitch

Textile électronique

Tests de plusieurs solutions pour utiliser des zones textiles comme un bouton. J'ai testé 2 possibilités avec un arduino et une autre avec un circuit playground express.
Je n'ai pas testé arduino + lib CapacitiveSensor qui peut être pas mal aussi!

test boutons (entrée numérique)

Deux zones conductrices montées en bouton avec les pull-up internes de l'arduino (entre 20k et 50k), avec l'idée qu'on fasse contact avec le doigt, ça ne fonctionne pas à moins d'avoir la surface du doigt mouillée! La conductivité n'est pas suffisante. Les zones sont reliées à une entrée numérique (HIGH, LOW), ça pourrait fonctionner avec un gant comportant des zones conductrices au bout des doigts.
Pour info, la conductivité «humaine» peut varier entre 100k Ohms et plusieurs mégaohms.

test_bouton_numérique.ino (cliquer pour afficher le code)

test_boutons.ino
/*
Utilisation des entrées numériques d'un arduino nano pour y relier des zones conductrices textile
Quimper @ Flux, 2 avril 2026, Résidence textile
Debian 12 @ Tenko / Arduino 2.3.6 / pierre@lesporteslogiques.net
 
Nécessite un matériau conducteur au bout du doigt...
Chaque zone est reliée d'un côté à GND, de l'autre à une broche en pull-up
*/
 
#define BOUTON1     2
#define BOUTON2     8
 
void setup() {
  pinMode(BOUTON1, INPUT_PULLUP);
  pinMode(BOUTON2, INPUT_PULLUP);
  Serial.begin(9600);
}
 
void loop() {
  if (digitalRead(BOUTON1) == LOW) {
    Serial.println("Bouton1 appuyé");
    delay(100);
  }
  if (digitalRead(BOUTON2) == LOW) {
    Serial.println("Bouton2 appuyé");
    delay(100);
  }
}

Fichier svg pour les boutons : boutons.svg
Fichier pes pour les boutons : boutons.pes

test boutons (entrée analogique)

(photo de gauche)
On détecte qu'un doigt est posé entre les 2 zones sur une entrée analogique de l'arduino. Ça fonctionne bien avec la résistance de la peau sèche. La captation est faite en utilisant un pont diviseur qui transforme la résistance en tension.
Dans le test que j'ai fait, la valeur captée est env. 1023 à vide, et inférieure à 900 en posant le doigt. On peut déclencher une action en fixant ce seuil

test_bouton_analogique.ino (cliquer pour afficher le code)

test_bouton_analogique.ino
/*
  Utilisation des entrées analogiques d'un arduino nano pour y relier des zones conductrices textile
  Quimper @ Flux, 9 avril 2026, Résidence textile
  Debian 12 @ Tenko / Arduino 2.3.6 / pierre@lesporteslogiques.net
 
  une des zones conductrices est reliée à GND
  l'autre est reliée à A3 et au +5 à travers une résistance de 1MOhms
  la valeur analogique captée permet de définir un seuil et de détecter le «clic»
*/
 
#define BOUTON1     A3
 
void setup() {
  pinMode(BOUTON1, INPUT);
  Serial.begin(9600);
}
 
void loop() {
  int niveau_bouton1 = analogRead(BOUTON1);
  Serial.print("Bouton1 : ");
  Serial.println(niveau_bouton1); //
  delay(100);
}

circuit en broderie

À droite, des petites pièces conductrices en cuivre réalisées à partir de chutes de fil électrique et d'une pince…

Circuit réalisé avec du fil de broderie Madeira HC12 (épais, résistance inférieure à 100 Ohms/m) et HC40 (fin, R < 300 Ohms/m) et une aiguille 100/16. Le circuit est cousu à la main sur les pads conducteurs.

La partie du haut est reliée comme un potentiomètre (broches GND et 3V3, et partie mobile reliée à une broche analogique). Les 6 zigzags sont reliées à des entrées capacitives.

Les données sont transmises à pure data, en série, avec un petit patch sonore de test

Conclusions :

Fichiers :

Code

cpx_test_capacitif.ino (cliquer pour afficher le code)

cpx_test_capacitif.ino
/**
Utilisation des pads capacitifs d'un circuit playground express
  pour un circuit brodé
  les infos des pads sont transmis en série à pure data quand la valeur du pad dépasse un certain seuil
Quimper @ Flux, 2 avril 2026, Résidence textile
Debian 12 @ Tenko / Arduino 2.3.6 / pierre@lesporteslogiques.net
  + adafruit circuit playground library 1.12.0 : https://github.com/adafruit/Adafruit_CircuitPlayground
*/
 
#include <Adafruit_CircuitPlayground.h>
 
int c1, c2, c3, c4, c5, c6;
 
void setup() {
  CircuitPlayground.begin();
  Serial.begin(115200);
  c1 = 0;
  c2 = 0;
  c3 = 0;
  c4 = 0;
  c5 = 0;
  c6 = 0;
}
 
void loop() {
 
  int rc1 = CircuitPlayground.readCap(A4);
  delay(5);
  int rc2 = CircuitPlayground.readCap(A5);
  delay(5);
  int rc3 = CircuitPlayground.readCap(A7);
  delay(5);
  int rc4 = CircuitPlayground.readCap(A1);
  delay(5);
  int rc5 = CircuitPlayground.readCap(A2);
  delay(5);
  int rc6 = CircuitPlayground.readCap(A3);
  delay(5);
 
  //int val = CircuitPlayground.readCap(A4); // pad A1
 
  if ( rc1 > 1000) c1 = 1;
  if ( rc1 < 400) c1 = 0;
 
  if ( rc2 > 1000) c2 = 1;
  if ( rc2 < 400) c2 = 0;
 
  if ( rc3 > 1000) c3 = 1;
  if ( rc3 < 400) c3 = 0;
 
  if ( rc4 > 1000) c4 = 1;
  if ( rc4 < 400) c4 = 0;
 
  if ( rc5 > 1000) c5 = 1;
  if ( rc5 < 400) c5 = 0;
 
  if ( rc6 > 1000) c6 = 1;
  if ( rc6 < 500) c6 = 0;
 
  /*
  if (CircuitPlayground.readCap(A5) > 1000) c2 = 1;
  if (CircuitPlayground.readCap(A7) > 1000) c3 = 1;
  if (CircuitPlayground.readCap(A1) > 1000) c4 = 1;
  if (CircuitPlayground.readCap(A2) > 1000) c5 = 1;
  if (CircuitPlayground.readCap(A3) > 1000) c6 = 1;
 
  if (CircuitPlayground.readCap(A4) > 1000) c1 = 1;
  if (CircuitPlayground.readCap(A5) > 1000) c2 = 1;
  if (CircuitPlayground.readCap(A7) > 1000) c3 = 1;
  if (CircuitPlayground.readCap(A1) > 1000) c4 = 1;
  if (CircuitPlayground.readCap(A2) > 1000) c5 = 1;
  if (CircuitPlayground.readCap(A3) > 1000) c6 = 1;
  */
 
  int pot = analogRead(A6);
/*
  Serial.println(CircuitPlayground.readCap(A3));
  delay(100);
  */
  /*
  Serial.print(c1 * 4000);
  Serial.print(",");
  Serial.print(c2 * 3500);
  Serial.print(",");
  Serial.print(c3 * 3000);
  Serial.print(",");
  Serial.print(c4 * 2500);
  Serial.print(",");
  Serial.print(c5 * 2000);
  Serial.print(",");
  Serial.print(c6 * 1500);
  Serial.print(",");
  Serial.println(pot);
  delay(100);
  */
  /*
  Serial.print(rc1);
  Serial.print(",");
  Serial.print(rc2);
  Serial.print(",");
  Serial.print(rc3);
  Serial.print(",");
  Serial.print(rc4);
  Serial.print(",");
  Serial.print(rc5);
  Serial.print(",");
  Serial.print(rc6);
  Serial.print(",");
  Serial.println(pot);
  */
  Serial.print("bob ");
  Serial.print(c1);
  Serial.print(" ");
  Serial.print(c2);
  Serial.print(" ");
  Serial.print(c3);
  Serial.print(" ");
  Serial.print(c4);
  Serial.print(" ");
  Serial.print(c5);
  Serial.print(" ");
  Serial.print(c6);
  Serial.print(" ");
  Serial.println(pot);
  delay(10);
}

Quelques trucs découverts avec inkscape pour ce motif

Inkscape : centrer au milieu de la page

Inkscape : sinusoïdes et fonctions

Formule de la courbe tracée : tanh(4*sin(x)), très simplifiée (chemin/simplifier)

On fait chemin/objet en chemin pour appliquer l'effet de chemin

Ressources

Fiches techniques Madeira :

Infos techniques sur les fils Madeira : https://www.madeira.com/fr/fournitures-de-broderie/fils-industriels/broderies-techniques/fil-a-broder-conducteur

Achetés chez BGA Diffusion (mars 2026) : https://bgadiffusion.fr/286-high-conductive-madeira