Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
186 changes: 186 additions & 0 deletions .cspell/steami.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
# STeaMi project-specific terms
# MCUs and chips
STM32WB55
STM32WB55RG
STM32F103
STM32F103CBT6
STM32
NUCLEO
DAPLink
BQ24075
BQ24075RGT
BQ27441
BQ27441DRZR
ISM330DLC
ISM330DLCTR
LIS2MDL
LIS2MDLTR
VL53L1X
APDS9960
APDS-9960
IMP34DT05
MCP23009
SSD1327
W25Q64
WEO128128BWPP3N00001
TPS63000
TPS63000DRCT
LMR62421
LMR62421XMF
DIO7003LEST5
WSEN-PADS
WSEN-HIDS

# Packages / references
LGA
WLCSP
UFQFPN48
LQFP48
SOT-23
DFN
UDFN
VFLGA
QFN

# Protocols and buses
SPI
QSPI
I2C
UART
GPIO
SWD
JTAG
PDM
BLE
USB
WebUSB
OpenThread
ZigBee
FPC
FFC
Qwiic
STEMMA
Jacdac

# Technical terms
MCU
IoT
SRAM
MEMS
OLED
PWM
ADC
DAC
DMA
FIFO
LDO
LiPo
ESD
PCB
SMT
BOM
NTC
PTC
TVS
EMI
EMC
MOSFET
RGB
LED
LEDs
DC/DC
OTA
FUS

# Software terms
MicroPython
mpremote
micropython
Docusaurus
Thonny
Vittascience
MakeCode
CODAL
Arduino
Altium
KiCad
Inkscape
ruff
cspell
commitlint
markdownlint
lint-staged
husky
Prettier
ESLint
lychee

# STeaMi specific
STeaMi
STEAM32
steami
steamicc
pinout
Pinout
DAPLink
SchDoc
datasheet
datasheets

# Additional technical terms
expandeur
Expandeur
l'expandeur
L'expandeur
multiprotocoles
framebuffer
Mbed
utime
Daplink
letssteam
duino

# Component brands
Winbond
Adafruit
Kingbright
Longlife
STMicroelectronics
Wurth
wurth
Elektronik
Winstar
Molex
Broadcom
Vishay
Yageo
Panasonic
Susumu
Kemet
Murata
Samsung
SAMTEC
Diodes

# French technical terms not in standard dictionaries
microcontrôleur
microcontrôleurs
magnétorésistif
piézo
rétro-éclairage
accéléromètre
magnétomètre
pic-à-pic

# References / part numbers
MYFB
LWFR
STLINK

# Misc
Supercapacité

Octopart
favicon
README
CODEOWNERS
3 changes: 3 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ jobs:
- name: Lint Markdown
run: npm run lint:md

- name: Spell check
run: npm run lint:spell

- name: Lint JavaScript
run: npm run lint:js

Expand Down
50 changes: 50 additions & 0 deletions cspell.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{
"$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json",
"version": "0.2",
"language": "fr,en",
"import": ["@cspell/dict-fr-fr/cspell-ext.json"],
"dictionaries": ["fr-fr", "steami-terms"],
"dictionaryDefinitions": [
{
"name": "steami-terms",
"path": ".cspell/steami.txt",
"addWords": true
}
],
"files": ["docs/**/*.md", "README.md", "CONTRIBUTING.md"],
"ignorePaths": [
"node_modules",
"build",
".external",
".docusaurus",
"package-lock.json",
"static"
],
"ignoreRegExpList": [
"/(```[\\s\\S]*?```)/g",
"/`[^`]+`/g",
"/https?:\\/\\/\\S+/g",
"/\\[.*?\\]\\(.*?\\)/g",
"/!\\[.*?\\]\\(.*?\\)/g",
"/import\\s+.*?from\\s+.*?;/g",
"/<OctopartButton[^>]*\\/>/g",
"/\\b[A-Z][A-Z0-9_]{2,}\\b/g"
],
"ignoreWords": [],
"flagWords": [
"developpement",
"memoire",
"peripherique",
"microcontroleur",
"controleur",
"systeme",
"ecran",
"electronique",
"electrique",
"accelerometre",
"magnetometre",
"caracteristiques",
"schemas",
"schema"
]
}
44 changes: 22 additions & 22 deletions docs/design/communication.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,46 +9,46 @@ title: 'Communication'

| ID | Nom | Description | Implémentation |
| ------ | ----------- | ------------------------------------------------------------- | ---------------------------------------------------------------- |
| FCT-28 | BLE | Le systeme doit pouvoir communiquer par Bluetooth BLE 4.2. | STM32WB55RG — BLE 5.2 (depasse l'exigence) |
| FCT-29 | BLE - Range | Le systeme necessite une portee physique BLE d'au moins 10 m. | Antenne interne + filtre MLPF-WB55-01E3 |
| FCT-30 | OpenThread | Le systeme doit pouvoir communiquer par OpenThread. | STM32WB55RG — stack OpenThread integre |
| FCT-31 | ZigBee | Le systeme doit pouvoir communiquer par ZigBee. | STM32WB55RG — stack ZigBee integre |
| FCT-32 | Antenna | Le systeme doit integrer une antenne interne. | Antenne integree + filtre RF MLPF-WB55-01E3 (passe-bas 2.45 GHz) |
| FCT-28 | BLE | Le système doit pouvoir communiquer par Bluetooth BLE 4.2. | STM32WB55RG — BLE 5.2 (dépasse l'exigence) |
| FCT-29 | BLE - Range | Le système nécessite une portée physique BLE d'au moins 10 m. | Antenne interne + filtre MLPF-WB55-01E3 |
| FCT-30 | OpenThread | Le système doit pouvoir communiquer par OpenThread. | STM32WB55RG — stack OpenThread intégré |
| FCT-31 | ZigBee | Le système doit pouvoir communiquer par ZigBee. | STM32WB55RG — stack ZigBee intégré |
| FCT-32 | Antenna | Le système doit intégrer une antenne interne. | Antenne intégrée + filtre RF MLPF-WB55-01E3 (passe-bas 2.45 GHz) |

## Exigences — Stockage

| ID | Nom | Description | Implémentation |
| ------ | ----------------------------- | -------------------------------------------------------------------------- | -------------------------------- |
| FCT-33 | QSPI Flash | Le systeme doit integrer un stockage flash Quad-SPI de 64 Mbit. | Winbond W25Q64JVZPIM |
| FCT-34 | QSPI Flash - USB Mass Storage | Le stockage flash interne doit etre accessible a travers USB Mass Storage. | STM32F103 DAPLink (endpoint MSC) |
| FCT-33 | QSPI Flash | Le système doit intégrer un stockage flash Quad-SPI de 64 Mbit. | Winbond W25Q64JVZPIM |
| FCT-34 | QSPI Flash - USB Mass Storage | Le stockage flash interne doit être accessible à travers USB Mass Storage. | STM32F103 DAPLink (endpoint MSC) |

## Choix de conception

### Communication sans fil (FP6)

Le STM32WB55RG a ete choisi car il integre nativement les stacks BLE 5.2, OpenThread et ZigBee, satisfaisant les exigences FCT-28 a FCT-31 avec un seul composant. La version BLE 5.2 depasse l'exigence initiale (BLE 4.2) et apporte des ameliorations de debit et de portee.
Le STM32WB55RG a été choisi car il intègre nativement les stacks BLE 5.2, OpenThread et ZigBee, satisfaisant les exigences FCT-28 à FCT-31 avec un seul composant. La version BLE 5.2 dépasse l'exigence initiale (BLE 4.2) et apporte des améliorations de débit et de portée.

- **Radio** : Transceiver 2.4 GHz integre au STM32WB55RG
- **Antenne** : Antenne interne integree sur le PCB
- **Filtre RF** : MLPF-WB55-01E3 (passe-bas 2.45 GHz) pour la conformite EMC
- **Radio** : Transceiver 2.4 GHz intégré au STM32WB55RG
- **Antenne** : Antenne interne intégrée sur le PCB
- **Filtre RF** : MLPF-WB55-01E3 (passe-bas 2.45 GHz) pour la conformité EMC
- **Horloge RF** : Quartz 32 MHz

### Memoire flash externe (FP15)
### Mémoire flash externe (FP15)

La memoire flash externe est connectee au microcontroleur d'interface (STM32F103) et non au MCU applicatif (STM32WB55). Ce choix permet l'acces USB Mass Storage via DAPLink sans solliciter le processeur principal.
La mémoire flash externe est connectée au microcontrôleur d'interface (STM32F103) et non au MCU applicatif (STM32WB55). Ce choix permet l'accès USB Mass Storage via DAPLink sans solliciter le processeur principal.

- **Composant** : Winbond W25Q64JVZPIM
- **Capacite** : 64 Mbit (8 Mo)
- **Capacité** : 64 Mbit (8 Mo)
- **Interface** : SPI / Quad-SPI (QPI, DTR)
- **Frequence** : jusqu'a 133 MHz
- **Temps d'acces** : 6 ns
- **Boitier** : 8-WSON (6x5)
- **Fréquence** : jusqu'à 133 MHz
- **Temps d'accès** : 6 ns
- **Boîtier** : 8-WSON (6x5)

#### Fonctionnalites
#### Fonctionnalités

- **Acces stockage de masse** : La memoire flash est accessible via USB comme un peripherique de stockage de masse, permettant aux utilisateurs de recuperer les donnees facilement.
- **Format CSV** : Les donnees des capteurs sont stockees au format CSV, facilitant l'analyse avec des outils courants comme Excel.
- **Enregistrement de donnees** : Le microcontroleur d'interface gere l'ecriture et la recuperation des donnees, permettant un enregistrement continu sur de longues periodes.
- **Accès stockage de masse** : La mémoire flash est accessible via USB comme un périphérique de stockage de masse, permettant aux utilisateurs de récupérer les données facilement.
- **Format CSV** : Les données des capteurs sont stockées au format CSV, facilitant l'analyse avec des outils courants comme Excel.
- **Enregistrement de données** : Le microcontrôleur d'interface gère l'écriture et la récupération des données, permettant un enregistrement continu sur de longues périodes.

#### Signaux SPI (vers STM32F103)

Expand All @@ -64,5 +64,5 @@ La memoire flash externe est connectee au microcontroleur d'interface (STM32F103
## Voir aussi

- [Hardware](../hardware/)
- [Composants — Circuits integres](../hardware/components/integrated-circuits)
- [Composants — Circuits intégrés](../hardware/components/integrated-circuits)
- [Pin Mapping — Bus internes](../hardware/pin-mapping/internal-bus)
30 changes: 15 additions & 15 deletions docs/design/constraints.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,41 +9,41 @@ title: 'Contraintes'

| ID | Nom | Description | Implémentation |
| ------ | -------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------ |
| ENV-01 | Temperature | Le systeme doit pouvoir fonctionner dans la plage de -20°C a 85°C. | Composants grade industriel |
| ENV-02 | Lifetime | Le systeme doit pouvoir fonctionner pendant 70 000 heures (environ 8 ans). | Selection composants haute fiabilite |
| ENV-03 | ESD Protection | Les connecteurs d'entree et de sortie doivent etre equipes de protections ESD. | Protections ESD sur connecteurs |
| ENV-04 | User Interface Position | Le systeme doit integrer les elements d'affichage sur la face avant de la carte. | Ecran OLED et LEDs en face avant |
| ENV-05 | Command Interface Position | Le systeme doit integrer l'interface de controle (boutons) sur la face avant de la carte. | Boutons en face avant |
| ENV-01 | Temperature | Le système doit pouvoir fonctionner dans la plage de -20°C à 85°C. | Composants grade industriel |
| ENV-02 | Lifetime | Le système doit pouvoir fonctionner pendant 70 000 heures (environ 8 ans). | Sélection composants haute fiabilité |
| ENV-03 | ESD Protection | Les connecteurs d'entrée et de sortie doivent être équipés de protections ESD. | Protections ESD sur connecteurs |
| ENV-04 | User Interface Position | Le système doit intégrer les éléments d'affichage sur la face avant de la carte. | Écran OLED et LEDs en face avant |
| ENV-05 | Command Interface Position | Le système doit intégrer l'interface de contrôle (boutons) sur la face avant de la carte. | Boutons en face avant |

## Exigences physiques

| ID | Nom | Description | Implémentation |
| ------ | ------------------- | ------------------------------------------------------------------------------------------------ | ----------------------------- |
| PHY-01 | Size | Le systeme doit etre contenu dans un volume inferieur a 100 mm de longueur par 60 mm de largeur. | PCB < 100 x 60 mm |
| PHY-02 | Weight | Le poids doit etre inferieur ou egal a 100 g. | ≤ 100 g |
| PHY-03 | Battery integration | Le systeme peut integrer une batterie a l'arriere. | LiPo 1600 mAh en face arriere |
| PHY-01 | Size | Le système doit être contenu dans un volume inférieur à 100 mm de longueur par 60 mm de largeur. | PCB < 100 x 60 mm |
| PHY-02 | Weight | Le poids doit être inférieur ou égal à 100 g. | ≤ 100 g |
| PHY-03 | Battery integration | Le système peut intégrer une batterie à l'arrière. | LiPo 1600 mAh en face arrière |

## Choix de conception

### Temperature de fonctionnement (ENV-01)
### Température de fonctionnement (ENV-01)

La plage -20°C a 85°C couvre les applications educatives en interieur et en exterieur. Tous les composants actifs (MCU, capteurs, PMIC) sont selectionnes en grade industriel pour garantir cette plage.
La plage -20°C à 85°C couvre les applications éducatives en intérieur et en extérieur. Tous les composants actifs (MCU, capteurs, PMIC) sont sélectionnés en grade industriel pour garantir cette plage.

### Duree de vie (ENV-02)
### Durée de vie (ENV-02)

La cible de 70 000 heures (~8 ans) est assuree par la selection de composants avec une duree de vie garantie superieure et par l'absence de pieces mecaniques d'usure (hors boutons).
La cible de 70 000 heures (~8 ans) est assurée par la sélection de composants avec une durée de vie garantie supérieure et par l'absence de pièces mécaniques d'usure (hors boutons).

### Protection ESD (ENV-03)

Les connecteurs externes (micro-USB, edge connector, STEMMA/Qwiic, Jacdac) sont equipes de diodes de protection ESD pour proteger les circuits internes contre les decharges electrostatiques.
Les connecteurs externes (micro-USB, edge connector, STEMMA/Qwiic, Jacdac) sont équipés de diodes de protection ESD pour protéger les circuits internes contre les décharges électrostatiques.

### Ergonomie (ENV-04, ENV-05)

L'ecran OLED, les LEDs et les boutons sont tous places en face avant pour une utilisation intuitive. La batterie est en face arriere (PHY-03) pour ne pas interferer avec l'interface utilisateur.
L'écran OLED, les LEDs et les boutons sont tous placés en face avant pour une utilisation intuitive. La batterie est en face arrière (PHY-03) pour ne pas interférer avec l'interface utilisateur.

### Dimensions et poids (PHY-01, PHY-02)

Le format compact (< 100 x 60 mm, ≤ 100 g) est compatible avec le connecteur edge micro:bit et permet une prise en main facile dans un contexte educatif.
Le format compact (< 100 x 60 mm, ≤ 100 g) est compatible avec le connecteur edge micro:bit et permet une prise en main facile dans un contexte éducatif.

## Voir aussi

Expand Down
Loading
Loading