diff --git a/docs/assets/tigerscale-assembly-front-quarter.png b/docs/assets/tigerscale-assembly-front-quarter.png new file mode 100644 index 0000000..4575878 Binary files /dev/null and b/docs/assets/tigerscale-assembly-front-quarter.png differ diff --git a/docs/assets/tigerscale-assembly-rear-quarter-close.png b/docs/assets/tigerscale-assembly-rear-quarter-close.png new file mode 100644 index 0000000..c419169 Binary files /dev/null and b/docs/assets/tigerscale-assembly-rear-quarter-close.png differ diff --git a/docs/assets/tigerscale-assembly-rear-quarter.png b/docs/assets/tigerscale-assembly-rear-quarter.png new file mode 100644 index 0000000..97c6fec Binary files /dev/null and b/docs/assets/tigerscale-assembly-rear-quarter.png differ diff --git a/docs/assets/tigerscale-assembly-side-elevation.png b/docs/assets/tigerscale-assembly-side-elevation.png new file mode 100644 index 0000000..c50a352 Binary files /dev/null and b/docs/assets/tigerscale-assembly-side-elevation.png differ diff --git a/docs/assets/tigerscale-board-esp32-s3-touch-lcd.jpg b/docs/assets/tigerscale-board-esp32-s3-touch-lcd.jpg new file mode 100644 index 0000000..4c6ae4f Binary files /dev/null and b/docs/assets/tigerscale-board-esp32-s3-touch-lcd.jpg differ diff --git a/docs/assets/tigerscale-dymo-tigerpod.jpg b/docs/assets/tigerscale-dymo-tigerpod.jpg new file mode 100644 index 0000000..3e91e2a Binary files /dev/null and b/docs/assets/tigerscale-dymo-tigerpod.jpg differ diff --git a/docs/assets/tigerscale-load-cell-hx711.jpg b/docs/assets/tigerscale-load-cell-hx711.jpg new file mode 100644 index 0000000..7f49096 Binary files /dev/null and b/docs/assets/tigerscale-load-cell-hx711.jpg differ diff --git a/docs/assets/tigerscale-pn532-mounting.jpg b/docs/assets/tigerscale-pn532-mounting.jpg new file mode 100644 index 0000000..e0a2802 Binary files /dev/null and b/docs/assets/tigerscale-pn532-mounting.jpg differ diff --git a/docs/assets/tigerscale-rear-orientation.jpg b/docs/assets/tigerscale-rear-orientation.jpg new file mode 100644 index 0000000..60a0fa3 Binary files /dev/null and b/docs/assets/tigerscale-rear-orientation.jpg differ diff --git a/docs/assets/tigerscale-wiring-hsu.jpg b/docs/assets/tigerscale-wiring-hsu.jpg new file mode 100644 index 0000000..568dd8d Binary files /dev/null and b/docs/assets/tigerscale-wiring-hsu.jpg differ diff --git a/docs/products/tigerscale.md b/docs/products/tigerscale.md index 9afece9..614dd54 100644 --- a/docs/products/tigerscale.md +++ b/docs/products/tigerscale.md @@ -46,13 +46,16 @@ This is the one to build. ## Building one -The scale is a DIY build, and the two steps people expect to be hard are not: +The scale is a DIY build, and the steps people expect to be hard are not: 1. **Print the enclosure.** One `.3mf` Bambu Studio project with the plates already laid out — [on MakerWorld](https://makerworld.com/en/models/3161869-tigerscale-v3-best-smart-filament-scale-with-nfc#profileId-3573543). Open it in Bambu Studio or Orca and press Slice: nothing to orient, no supports to place. -2. **Flash from your browser.** The +2. **Wire the components.** Connect the load cell, HX711, speaker and both + PN532 readers to the board following the [wiring diagram](#wiring-diagram) + below — the same pinout for either board variant. +3. **Flash from your browser.** The [web installer](https://tigertag-project.github.io/Tiger-Scale-V3/) always serves the current release; after that the scale updates itself over the air. @@ -62,13 +65,24 @@ The parts are commodity: |---|---|---| | 1 | Waveshare **ESP32-S3-Touch-LCD-3.5B** — 480×320 IPS touch (the **-3.5** without the B works too) | [-3.5B](https://link.amazon/B0gaANfF5) · [-3.5](https://link.amazon/B0dpgOlOQ) | | 2 | **PN532 V3** NFC module — pin header **and** mode switch required | [Amazon](https://link.amazon/B0iTXrhjd) | -| 1 | 5 kg load cell + HX711 — must have 2× M4 and 2× M5 tapped holes | [Amazon](https://link.amazon/B09LOUuI1) | +| 1 | 5 kg load cell + HX711 | [Amazon](https://link.amazon/B09LOUuI1) | | 1 | USB-C 4-pin cable + connector | [cable](https://link.amazon/B0aoW8qQx) · [connector](https://link.amazon/B0aiEyjLx) | | 1 | Li-ion battery — **optional**, the scale runs on USB | [Amazon](https://link.amazon/B0etKlE1i) | | — | Dupont wires, M3 self-tapping screws | [wires](https://link.amazon/B0bl6jvMs) · [screws](https://link.amazon/B0ekzxx1E) | | — | 2× M4×30 and 2× M5×30 (load cell), 4× M2×6 (display) | any hardware shop | | 1 | A small speaker | ships with the ESP32-S3 board | +
+
+
+
+
+
+
+
+
+
+*[Interactive schematic in Cirkit Designer](https://app.cirkitdesigner.com/project/c6aa6c0a-9462-498f-8923-9ad4454e0e69)*
+
+### Troubleshooting
+
+**No COM port detected for the ESP32-S3 in the [web installer](https://tigertag-project.github.io/Tiger-Scale-V3/)?**
+
+A driver might be missing for your system. [Follow the driver install guide](../tutorials/tigerscale-serial-port-driver.md).
## Yours to make and to sell
@@ -157,6 +209,20 @@ right after a tare reports unit `0x00`.
| Firebase (account database) | Writes live weight to the user's account |
| Tiger Studio / Connect | Display live weight; health monitoring |
+## Recommended setup
+
+
+
+1. **Plug your DYMO scale into your computer over USB.**
+2. **Set the TigerPOD Mini or the original on top of the scale.**
+3. **Tare the DYMO scale.**
+4. **Open Tiger Studio Manager.**
+5. **Put a spool on the TigerPOD.**
+6. **The TigerPOD reads the spool's NTAG chips and opens its card in Tiger
+ Studio Manager.**
+7. **The DYMO scale weighs the spool — Tiger Studio Manager updates its
+ weight automatically.**
+
## Links
- **V3 (current)**: [Tiger-Scale-V3](https://github.com/TigerTag-Project/Tiger-Scale-V3) (MIT)
diff --git a/docs/tutorials/tigerscale-serial-port-driver.md b/docs/tutorials/tigerscale-serial-port-driver.md
new file mode 100644
index 0000000..ed90b2e
--- /dev/null
+++ b/docs/tutorials/tigerscale-serial-port-driver.md
@@ -0,0 +1,75 @@
+# Getting the COM port to show up to flash the TigerScale V3
+
+The TigerScale V3 uses an **ESP32-S3** chip. To flash the firmware, your computer needs to see the board as a **COM port / serial port**.
+
+On most recent computers this port shows up **on its own** when you plug the board in.
+If no port appears in the flasher, a small driver is missing: follow the section for your system below.
+
+> **Before you start**
+> - Use a real **USB data cable** (some cables only charge and carry no data).
+
+## macOS — nothing to install
+
+No driver needed.
+Plug in the board, open the flasher, and the board shows up directly in the list. Select it and start the flash.
+
+If it doesn't appear: swap the USB cable and try again.
+
+## Windows — install the driver (if no COM port appears)
+
+If the flasher shows no port, the Espressif USB driver is missing. Here is how
+to install it, step by step:
+
+1. **Download the tool** — click this link, it downloads `idf-env.exe` straight
+ from Espressif's own server (by default it lands in your **Downloads**
+ folder):
+ **[https://dl.espressif.com/dl/idf-env/idf-env.exe](https://dl.espressif.com/dl/idf-env/idf-env.exe)**
+2. **Open PowerShell as administrator** — click the **Start** menu, type
+ `powershell`, right-click **Windows PowerShell** and choose **Run as
+ administrator**.
+3. **Copy this single line, paste it into PowerShell, then press Enter:**
+
+ ```powershell
+ cd $env:USERPROFILE\Downloads; .\idf-env.exe driver install --espressif
+ ```
+
+ > Saved the file somewhere other than Downloads? Replace only
+ > `$env:USERPROFILE\Downloads` with that folder — for example
+ > `C:\Users\yourname\Desktop`. The rest of the line stays the same.
+
+4. Wait for it to finish (a few seconds).
+5. **Unplug and plug the board back in.**
+6. Reopen the flasher: the port (e.g. `USB JTAG/serial debug unit (COM3)`) should now appear.
+
+> Downloading the tool yourself, rather than pasting a one-line command that
+> fetches and runs an executable with administrator rights, means you can see
+> what you are about to run and where it came from. It is one extra click.
+
+✓ Select this port and start the flash.
+
+## Linux — grant access to the serial port
+
+The port usually shows up on its own (`/dev/ttyACM0`), but your user needs permission to access it.
+
+1. Open a **terminal**.
+2. Add yourself to the group that manages serial ports:
+
+ ```bash
+ sudo usermod -aG dialout $USER
+ ```
+
+3. **Log out and log back in** (or reboot) for it to take effect.
+4. Plug the board back in and reopen the flasher.
+
+> Tip: if you use the flasher **in a browser** (Web Serial), use **Google Chrome** or **Microsoft Edge**; Firefox does not support this feature.
+
+## Still not working
+
+- **Swap the USB cable** (problem #1: a "charge-only" cable).
+- Try **another USB port** on the computer (preferably a direct port, not a hub).
+- On Windows, open **Device Manager**: if you see a device with a yellow exclamation mark, the driver is missing → redo the Windows section above.
+- To force flash mode: hold the **BOOT** button, press **RESET** once, then release **BOOT**, and try again.
+
+---
+
+**◀ Previous:** [TigerScale](../products/tigerscale.md) · **▲ [Documentation index](../../README.md)**
diff --git a/i18n/fr/products/tigerscale.md b/i18n/fr/products/tigerscale.md
index ebf42ca..78c6a73 100644
--- a/i18n/fr/products/tigerscale.md
+++ b/i18n/fr/products/tigerscale.md
@@ -1,5 +1,5 @@
---
-sourceHash: 56e746850cbc5eafc858668b8c24f2c2a86a848d6d4a2749353b58bba34e333e
+sourceHash: 99a114b3f076c157979f1a5f1649be27dc86a00c42d648bfbc825b98c34b55b1
sourcePath: docs/products/tigerscale.md
---
@@ -56,14 +56,18 @@ C'est celle qu'il faut construire.
## En construire une
-La balance est un montage DIY, et les deux étapes qu'on redoute ne sont pas
+La balance est un montage DIY, et les étapes qu'on redoute ne sont pas
difficiles :
1. **Imprimez le boîtier.** Un seul projet Bambu Studio `.3mf` avec les
plateaux déjà disposés — [sur MakerWorld](https://makerworld.com/en/models/3161869-tigerscale-v3-best-smart-filament-scale-with-nfc#profileId-3573543).
Ouvrez-le dans Bambu Studio ou Orca et lancez le découpage : rien à orienter,
aucun support à placer.
-2. **Flashez depuis votre navigateur.** L'
+2. **Câblez les composants.** Reliez la cellule de charge, le HX711, le
+ haut-parleur et les deux lecteurs PN532 à la carte en suivant le
+ [schéma de câblage](#schéma-de-câblage) ci-dessous — le même câblage pour
+ les deux variantes de carte.
+3. **Flashez depuis votre navigateur.** L'
[installateur web](https://tigertag-project.github.io/Tiger-Scale-V3/) sert
toujours la version courante ; ensuite la balance se met à jour toute seule,
par OTA.
@@ -74,13 +78,24 @@ Les pièces sont courantes :
|---|---|---|
| 1 | Carte Waveshare **ESP32-S3-Touch-LCD-3.5B** — tactile IPS 480×320 (la **-3.5** sans le B convient aussi) | [-3.5B](https://link.amazon/B0gaANfF5) · [-3.5](https://link.amazon/B0dpgOlOQ) |
| 2 | Module NFC **PN532 V3** — rangée de broches **et** interrupteur de mode indispensables | [Amazon](https://link.amazon/B0iTXrhjd) |
-| 1 | Cellule de charge 5 kg + HX711 — doit avoir 2 trous taraudés M4 et 2 M5 | [Amazon](https://link.amazon/B09LOUuI1) |
+| 1 | Cellule de charge 5 kg + HX711 | [Amazon](https://link.amazon/B09LOUuI1) |
| 1 | Câble USB-C 4 broches + connecteur | [câble](https://link.amazon/B0aoW8qQx) · [connecteur](https://link.amazon/B0aiEyjLx) |
| 1 | Batterie Li-ion — **facultative**, la balance fonctionne sur USB | [Amazon](https://link.amazon/B0etKlE1i) |
| — | Fils Dupont, vis autotaraudeuses M3 | [fils](https://link.amazon/B0bl6jvMs) · [vis](https://link.amazon/B0ekzxx1E) |
| — | 2× M4×30 et 2× M5×30 (cellule de charge), 4× M2×6 (écran) | n'importe quelle quincaillerie |
| 1 | Un petit haut-parleur | fourni avec la carte ESP32-S3 |
+
+
+
+
+
+
+
+
+
+
+*[Schéma interactif sur Cirkit Designer](https://app.cirkitdesigner.com/project/c6aa6c0a-9462-498f-8923-9ad4454e0e69)*
+
+### Dépannage
+
+**Aucun port COM détecté pour l'ESP32-S3 dans l'[installateur web](https://tigertag-project.github.io/Tiger-Scale-V3/) ?**
+
+Il manque peut-être un pilote pour votre système. [Suivez le guide d'installation du pilote](../tutorials/tigerscale-serial-port-driver.md).
## À vous de la fabriquer, et de la vendre
@@ -175,6 +228,20 @@ l'unité `0x00`.
| Firebase (base de données du compte) | Écrit le poids en direct dans le compte de l'utilisateur |
| Tiger Studio / Connect | Affichent le poids en direct ; supervision de l'état |
+## Exemple d'utilisation recommandé
+
+
+
+1. **Branchez votre balance DYMO à votre ordinateur en USB.**
+2. **Posez le TigerPOD Mini ou l'original sur la balance.**
+3. **Effectuez une tare de la balance DYMO.**
+4. **Ouvrez Tiger Studio Manager.**
+5. **Posez une bobine sur le TigerPOD.**
+6. **Le TigerPOD lit les puces NTAG de la bobine et ouvre sa fiche dans Tiger
+ Studio Manager.**
+7. **La balance DYMO pèse la bobine — Tiger Studio Manager met à jour son
+ poids automatiquement.**
+
## Liens
- **V3 (actuelle)** : [Tiger-Scale-V3](https://github.com/TigerTag-Project/Tiger-Scale-V3) (MIT)
diff --git a/i18n/fr/tutorials/tigerscale-serial-port-driver.md b/i18n/fr/tutorials/tigerscale-serial-port-driver.md
new file mode 100644
index 0000000..9b40b23
--- /dev/null
+++ b/i18n/fr/tutorials/tigerscale-serial-port-driver.md
@@ -0,0 +1,80 @@
+---
+sourceHash: 21c590819f1537d9f13509bdfd8d3a6fff07ec1a0ae3d42396f7ac8b624b45d0
+sourcePath: docs/tutorials/tigerscale-serial-port-driver.md
+---
+
+# Faire apparaître le port COM pour flasher la TigerScale V3
+
+La TigerScale V3 utilise une puce **ESP32-S3**. Pour flasher le firmware, votre ordinateur doit voir la carte comme un **port COM / port série**.
+
+Sur la plupart des ordinateurs récents, ce port apparaît **tout seul** dès que vous branchez la carte.
+Si aucun port n'apparaît dans l'outil de flashage, il manque un petit pilote : suivez la section correspondant à votre système ci-dessous.
+
+> **Avant de commencer**
+> - Utilisez un vrai **câble USB de données** (certains câbles ne font que recharger, sans transmettre de données).
+
+## macOS — rien à installer
+
+Aucun pilote nécessaire.
+Branchez la carte, ouvrez l'outil de flashage, et la carte apparaît directement dans la liste. Sélectionnez-la et lancez le flashage.
+
+Si elle n'apparaît pas : changez de câble USB et réessayez.
+
+## Windows — installer le pilote (si aucun port COM n'apparaît)
+
+Si l'outil de flashage n'affiche aucun port, c'est que le pilote USB Espressif manque. Voici comment
+l'installer, étape par étape :
+
+1. **Téléchargez l'outil** — cliquez sur ce lien, il télécharge `idf-env.exe` directement
+ depuis le serveur d'Espressif (par défaut, il atterrit dans votre dossier
+ **Téléchargements**) :
+ **[https://dl.espressif.com/dl/idf-env/idf-env.exe](https://dl.espressif.com/dl/idf-env/idf-env.exe)**
+2. **Ouvrez PowerShell en administrateur** — cliquez sur le menu **Démarrer**, tapez
+ `powershell`, faites un clic droit sur **Windows PowerShell** et choisissez **Exécuter en
+ tant qu'administrateur**.
+3. **Copiez cette ligne unique, collez-la dans PowerShell, puis appuyez sur Entrée :**
+
+ ```powershell
+ cd $env:USERPROFILE\Downloads; .\idf-env.exe driver install --espressif
+ ```
+
+ > Vous avez enregistré le fichier ailleurs que dans Téléchargements ? Remplacez uniquement
+ > `$env:USERPROFILE\Downloads` par ce dossier — par exemple
+ > `C:\Users\votrenom\Desktop`. Le reste de la ligne ne change pas.
+
+4. Attendez que ça se termine (quelques secondes).
+5. **Débranchez puis rebranchez la carte.**
+6. Rouvrez l'outil de flashage : le port (ex. `USB JTAG/serial debug unit (COM3)`) devrait maintenant apparaître.
+
+> Télécharger l'outil vous-même, plutôt que de coller une commande en une ligne qui
+> récupère et exécute un exécutable avec des droits d'administrateur, permet de voir
+> ce que vous allez exécuter et d'où ça vient. C'est un clic de plus.
+
+✓ Sélectionnez ce port et lancez le flashage.
+
+## Linux — donner l'accès au port série
+
+Le port apparaît généralement tout seul (`/dev/ttyACM0`), mais votre utilisateur a besoin de la permission d'y accéder.
+
+1. Ouvrez un **terminal**.
+2. Ajoutez-vous au groupe qui gère les ports série :
+
+ ```bash
+ sudo usermod -aG dialout $USER
+ ```
+
+3. **Déconnectez-vous puis reconnectez-vous** (ou redémarrez) pour que ce soit pris en compte.
+4. Rebranchez la carte et rouvrez l'outil de flashage.
+
+> Astuce : si vous utilisez l'outil de flashage **dans un navigateur** (Web Serial), utilisez **Google Chrome** ou **Microsoft Edge** ; Firefox ne prend pas en charge cette fonctionnalité.
+
+## Toujours pas de solution
+
+- **Changez de câble USB** (problème n°1 : un câble « recharge uniquement »).
+- Essayez **un autre port USB** de l'ordinateur (de préférence un port direct, pas un hub).
+- Sur Windows, ouvrez le **Gestionnaire de périphériques** : si vous voyez un appareil avec un point d'exclamation jaune, le pilote manque → refaites la section Windows ci-dessus.
+- Pour forcer le mode flashage : maintenez le bouton **BOOT**, appuyez une fois sur **RESET**, puis relâchez **BOOT**, et réessayez.
+
+---
+
+**◀ Précédent :** [TigerScale](../products/tigerscale.md) · **▲ [Index de la documentation](../../README.md)**
diff --git a/scripts/check-i18n.mjs b/scripts/check-i18n.mjs
index 07214e9..a6837f9 100644
--- a/scripts/check-i18n.mjs
+++ b/scripts/check-i18n.mjs
@@ -117,7 +117,13 @@ function fragments(lines) {
return found;
}
-/** GitHub's heading slug, closely enough for the anchors this documentation uses. */
+/**
+ * GitHub's heading slug, closely enough for the anchors this documentation uses.
+ * Keeps letters as Unicode \u2014 a French heading like "Sch\u00e9ma de c\u00e2blage" slugs to
+ * "sch\u00e9ma-de-c\u00e2blage", accents intact, matching what Starlight's own slugger
+ * actually produces at build time (verified in the rendered page). Stripping to
+ * ASCII here would make this checker approve a link that 404s on a real accent.
+ */
function slug(heading) {
return heading
.replace(/`([^`]*)`/g, '$1')
@@ -125,9 +131,7 @@ function slug(heading) {
.replace(/[*_]/g, '')
.trim()
.toLowerCase()
- .normalize('NFKD')
- .replace(/[\u0300-\u036f]/g, '')
- .replace(/[^a-z0-9\s-]/g, '')
+ .replace(/[^\p{L}\p{N}\s-]/gu, '')
.trim()
.replace(/\s+/g, '-');
}
diff --git a/src/sidebar.mjs b/src/sidebar.mjs
index 308dfc3..563cf54 100644
--- a/src/sidebar.mjs
+++ b/src/sidebar.mjs
@@ -77,6 +77,7 @@ export const sidebar = [
{ slug: 'tutorials/bambu-lab-x1-h2-p2-series', label: 'Bambu Lab X1/X1E/H2/P2: LAN mode', translations: { fr: 'Bambu Lab X1/X1E/H2/P2 : mode LAN' } },
{ slug: 'tutorials/elegoo-cc2-lan-mode', label: 'Elegoo CC2: LAN mode', translations: { fr: 'Elegoo CC2 : mode LAN' } },
{ slug: 'tutorials/flashforge-connection-tutorial', label: 'FlashForge: connection tutorial', translations: { fr: 'FlashForge : tutoriel de connexion' } },
+ { slug: 'tutorials/tigerscale-serial-port-driver', label: 'TigerScale: fixing a missing COM port', translations: { fr: 'TigerScale : faire apparaître le port COM' } },
{ slug: 'guides' },
{ slug: 'guides/twin-tag-pair' },
]),
diff --git a/src/styles/tigersystem.css b/src/styles/tigersystem.css
index 89fd7fc..8aa22c0 100644
--- a/src/styles/tigersystem.css
+++ b/src/styles/tigersystem.css
@@ -299,6 +299,37 @@
font-size: var(--sl-text-sm);
}
+.ts-photo-pair {
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ gap: 1.5rem;
+ margin: 1.5rem 0;
+}
+
+@media (max-width: 40rem) {
+ .ts-photo-pair {
+ grid-template-columns: 1fr;
+ }
+}
+
+.ts-photo-pair figure {
+ margin: 0;
+ text-align: center;
+}
+
+.ts-photo-pair img {
+ width: 100%;
+ border-radius: 0.5rem;
+ border: 1px solid var(--ts-card-border);
+}
+
+.ts-photo-pair figcaption {
+ margin-top: 0.5rem;
+ font-size: var(--sl-text-sm);
+ font-style: italic;
+ color: var(--sl-color-gray-2);
+}
+
.ts-tuto-step {
display: flex;
gap: 1.5rem;