Vue lecture

Récupération: reconditionner un clavier Samsung Galaxy Tab S6

Bonjour à tous,

J'ai eu l'occasion, de récupérer une ancienne tablette Galaxy Tab 6 (2019) et son clavier Bluetooth. Un système Android malheureusement plus tenu à jour en 2025 donc à l'utilisation déconseillée.

Clavier Galaxy Tab S6 (Bluetooth)

Contre toute attente, il m'a été impossible d'appairer ce clavier avec un autre système. Ceci dit, cela n'est pas très étonnant d'être confronté à un système fermé.

A contre-courant de l'obsolescence

Si je n'ai pas encore trouvé comment reconvertir la tablette (n'hésitez pas à commenter), je me suis lancé dans la reconversion du clavier pour une future application MicroPython.

Cela commence forcement par l'ouverture du clavier qui n'est pas bien difficile (il y a 4 vis sous chacun des anti-dérapant.

Clavier Galaxy Tab S6

On y retrouve un clavier à membranes connecté sur un connecteur 26 broches, un accu Lipo de faible puissance, un touchpad I2C et un microcontroleur bluetooth (non visible de ce côté de la carte).

Clavier Galaxy Tab S6

Loin moi l'idée de reprogrammer le microcontrôleur Bt de la carte (ses protections matérielles sont certainement active), je me suis dit qu'il serait plus facile de réutiliser directement la membrane avec un Pico.

C'est que l'on imagine cette membrane comme un clavier de KeyPad dont le fonctionnement est sommaire.


Avec un peu d'analyse, j'ai rapidement repéré des résistances pull-down de 35 KΩ sur chacune des lignes (excepté les 5 premières). D'autres lignes marquée sont elles équipées d'un composant spécifique (voir les points blancs sur l'image ci-dessous).


Je pensais avoir repéré les colonnes, les autres signaux étant alors les lignes.

Malheureusement, les choses ne furent pas si simples!

Un peu de hacking

Je commence donc par souder des fils vernis 0.2mm sur le connecteur en vue de réaliser des tests. Les fils sont maintenus bien en place à l'aide de colle chaude (pour éviter  de casser les fragiles soudures des fils).

Quelques fils soudés sur le connecteur (pin 1 à droite).

J'ai procédé de même avec les 26 contacts ensuite reporté sur une plaque de prototypage (bien dans l'ordre).

report des connexions sur une plaque de prototypage offrant un accès via connecteur 2.54mm

Connexion au Pico

J'ai utilisé 2x MCP23017 (GPIO expander 16 bits) pouvant être contrôlé via bus I2C, donc avec seulement deux lignes connectés sur le Pico.

Matrice clavier branché sur des MCP23017

Brochage du MCP23017

L'intérêt des MCP23017 est d'avoir les broches 1 à 26 du connecteur clavier branchés scrupuleusement dans l'ordre croissant des GPIOs des MCP23017. Pas de mathématiques complexes, il y a une relation 1-à-1 entre les MCP et la matrice clavier.

Correspondance broche clavier (1..26) vers MCP (0..15) + MCP (0..9)

Enfin, j'ai aussi remarqué que l'usage de résistance pull-down sur les 5 premières lignes améliorait la stabilité de la détection. Ces pull-down manquantes sur le connecteur clavier était probablement activée sur le microcontroleur bluetooth.


Décoder la matrice clavier

Après un premier échec sur l'identification des colonnes et des lignes de la matrice, un second script a été écrit pour tester une à une chaque ligne comme une colonne considérant alors les 25 autres lignes pour détecter une touche.

Le script tester2.py publié sur le dépôt agit comme suit:

  1. Presser une touche du clavier
  2. Au démarrage, toutes les broches sont configurées en entrée.
    Elles présentent toutes une haute impédance.
  3. Ensuite le script sélectionne une ligne -- dite driver pin--, la configure en sortie et la place au niveau haut. Cette broche présente donc une faible impédance et est capable de fournir du courant.
  4. Ensuite, les 25 autres broches --read pin-- sont interrogés une par une pour y détecter un niveau haut.
    Note:
    la touche pressée doit permettre au courant de circuler vers une des broches en lecture.
  5. S'il N'Y A PAS de détection de niveau haut ALORS
    * le script repasse la driver pin au niveau bas
    * PUIS  reconfigure celle-ci en entrée.
    * ENFIN, le script passe la driver pin sur la broche suivante
    * et recommence le cycle de détection au point 3.
  6. S'il Y A détection d'un niveau haut  ALORS le script a détecté un couple (driver_pin, read_pin) permettant de détecter la touche enfoncée.

Après avoir testé toutes les touches et répertorié les combinaisons dans une feuille calcul. Nous avons enfin un description de la matrice du clavier.

feuille calcul des détection de touches

La feuille de calcul reprend les couples drive_pin,read_pin dans la 2ieme colonne. 

Puisque le contact électrique se fait dans les deux sens entre drive_pin--et--read_pin alors il est possible d'écrire la relation de détection de F12 comme 7,13 ou 13,7 (d'ailleurs, les deux options sont indiquées par tester2.py ). 

Par souci de simplicité, la relation est écrite avec le plus petit numéro de broche d'abord (donc 7,13 pour la touche F12).

Compilation des broches

Maintenant que nous disposons d'une description de la matrice, il serait opportun d'identifier les driver_pin et les read_pin utilisés dans la matrice.... cela revient à identifier les lignes et les colonnes du keypad présenté plus haut dans l'article.

C''est justement l'objectif du script tester2-driver-pin-detect.py disponible dans le dépôt.

Ce dernier permet d'identifier:

  • driver pin = [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]
  • read pin = [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]

Remarque:

Il y a un recouvrement des broches driver_pin et read_pin. Suivant les circonstances, une broche de la matrice clavier agit tantôt comme broche driver_pin tantôt comme broche de read_pin (de lecture).

Lecture optimisée

Sur base des informations obtenue, le script tester3.py disponible dans le dépôt effectue une détection optimisée des touches du clavier.
La détection s'étend aux combinaisons de touches avec Shift,Ctrl,Alt.

Il reste encore un peu de travail mais le plus gros est fait :-)

 

 

  •  

Recyclage carton/papier en objets grâce à l'impression 3D

Bonjour à tous,

Ce jour, je suis tombé sur la vidéo Recycle Cardboard into anythong with 3D Printing de XYZAidan 


Aidan partage son savoir faire en expliquant comment il réalise des objets en carton compressé dans un moule imprimé en 3D.

Outre les exemples proposés par Aidan, je me dis que ce procédé peut être utilisé pour réaliser des structures de plateformes robotiques/mobiles écologique (filière recyclage) et recyclable.

Une belle façon de faire du bricolage écologique que l'on peut ensuite lier à de la mécanique et/ou électronique.

Voici quelques notes manuscrites.
Bonne lecture et bon visionnage.

Caractéristiques mécaniques du carton compressé

Le matériau obtenu se situe entre le plastique et le bois léger. 

C'est un matériau relativement solide qui peut résister au coup de marteau.
Il ne brûle pas (difficile d'y bouter le feu).

Formes triangulaire

Il peut-être travaillé de nombreuses façons:

  • ponçage
  • perçage (plutôt propre)
  • Coupe (scie a chantourner) 
  • Collage

Au rang des inconvénients, il y a une légère rétraction au séchage mais surtout un intolérance à l'eau. Plongé dans l'eau, l'objet se dissous en quelques minutes.

Mais bon, dans la vie, peu d'objets sont destinés à être exposé directement à l'eau.

Le moule de mise en forme

La mise en forme se fait par pressage de pulpe de carton dans un moule.
Le moule est constitué en 3 parties, tous imprimés en 3D.
Il faut que le moule soit bien solide (parois épaisses avec bon remplissage).

Moule de pressage - en 3 pièces

Le fond amovible permettra de retirer la pièce du moule après la mise sous presse de 24H. 
Retrait de partie supérieure

Retrait de la partie inférieure et glisser la pièce hors du moule.

Partie inférieure du moule

La rétraction sur les bords du moule indique que la pièce est prête à l'extraction.

Pousser hors du moule doucement

Poursuivre le séchage a l'air libre (sur une surface plane).

La hauteur du moule

Le moule doit être haut dans le sens du pressage car la pulpe fortement compressé ne fera plus que quelques mm de haut.


Remplissage du moule


Avant de placer la partie supérieure du moule, celui-ci doit être bien rempli de pulpe de carton.

Remplir le moule presque jusqu'en haut

Mise sous presse

Pas besoin d'un appareillage complexe pour presser le moule. Un établi amovible peut très bien faire l'affaire.

Maintenir sous presse pendant 24H.

Mise sous presse

Rétraction et expansion

Il se produit une rétraction dans le plan perpendiculaire à la pression au fur et à mesure que la pulpe perd son eau.

Par contre, il y a une légère expansion en opposition à la mise sous pression

Phénomène de rétraction

Préparation de la pulpe de carton

Pour préparer  la pulpe de carton, il faut du carton/papier/carton à œufs coupés en tout petit morceau. Pas de papier glacé ou plastifié.

Il faut aussi un liant (options décrites plus loin).

Superposer des couches de carton et liant dans un Blender. Ajouter juste  assez d'eau pour mouiller le carton (il est préférable de mouiller en plusieurs fois). 

Pulpe de carton: carton, pâte de riz et eau
 

Le but est d'obtenir une pâte bien homogène et uniforme mais pas trop liquide.

Texture parfaite de pulpe de carton.
Hum... dégoûtant!

Après le mixage,  il est convient d'éliminer une partie de l'eau en utilisant un filet.


Extraction d'une partie de l'eau

Pas besoin que sec mais inutile que la pulpe dégouline d'eau. 

Plus la pulpe de carton est humide et plus le temps de séchage sera long. 

Le liant

Tout liant/colle soluble dans l'eau et séchant à l'air fera l'affaire.

Selon Aidan, voici trois options intéressantes.

Colle PVA

Les colles Poly-acétate de Vinyle (wikipedia) sont très répandue. Elles sont généralement utilisées comme colle à bois ou multi-usages.

La colle PVA offre les résultats les plus solides mais pas écologique.

Fécule de Maïs

Cette fine farine de maïs est de l'amidon. Egalement connue sous le nom "Maïzena", cette farine peut être ajoutée directement avec les morceau de carton.

La fécule de maïs servira de liant et produira un produit biodégradable.

Pâte de riz

Cette pâte peut être réaliser en faisant sur-cuire du riz avec un peu d'eau (pendant environ 30min). Cette pâte pourra être ajoutée avec le carton dans le Blender.

Créer de la pâte de riz

La pâte de riz est le produit biodégradable par excellence.

En vidéo

Je vous propose de consulter la vidéo  Recycle Cardboard into anythong with 3D Printing de XYZAidan.


Ressource

  •  

Recycler un décodeur Belgacom IPV5001

Bonjour à tous,

J'ai déjà eu l'occasion d'inspecter un ancien décodeur IPTV Belgacom dans cet article (voir cet article) et même réussi à contrôler le tube VFD dans cet article.

Le modèle IPV5001 est aujourd'hui déclassé et je n'ai pas résisté à y jeter un petit coup d'oeil.

TVBox IPV5001 de Belgacom

TVBox IPV5001 de Belgacom

Pour l'ouvrir, il faut retirer les deux vis à l'arrière puis déclipser les 4 points à l'avant  afin de faire glisser le couvercle.

TVBox IPV5001 de Belgacom

 Comme on peut s'y attendre c'est assez empoussiéré.

TVBox IPV5001 de Belgacom

Une fois dépoussiérée la carte est maintenant beaucoup plus intéressante à inspecter.

Cliquer pour agrandir.
TVBox IPV5001 de Belgacom

Récupération

A ce point du démontage, il est déjà possible de récupérer les éléments suivants:

  • Le refroidisseur en aluminium
  • Le boîtier (qui est 100% réutilisable) 
  • Des contrôleurs Step-Down (pour créer une tension de 8V)

Boîtier du TVBox IPV5001

Inspection

Je me suis penché sur la carte pour identifier les divers composants présents.
Le processeur principal est un BCM7241 de Broadcom, un processeur simple coeur spécialisé dans l'IP TV (voir info plus bas) équipé de 1Go de RAM et 2 Go de stockage Flash.

La puissance de traitement est comparable à un Raspberry-Pi 2.

Cliquer pour agrandir
 

De façon surprenante, le circuit que j'ai trouvé le plus intéressant c'est encore le circuit radio CC2534 avec les télécommandes (celle-ci pouvant passer du mode infrarouge au mode radio).

Le CC253x est un SoC bâti autour d'un microcontrôleur 8051 (wikipedia) avec de nombreux périphériques annexes.

Block Diagram du CC2534.
Cliquer pour agrandir

 Le document swru191 de Texas Instrument est le guide utilisateur de ce composant. C'est une ressource vraiment intéressante à explorer.

Voici les autres informations collectées sur les divers composants.

== SoC ==========================================
BCM7241 from Broadcom 2017
Arch MIPS 1.3GHz, 1 core 
3K DMIPS, HD IP/CATV STB, DDR3,
OGL 2.0 Graphics, USB, SATA, SDIO, 40nm

== U1501 ========================================
SK hynix H26M522081

eNAND Flash (Solid State Drive)
16 Gbit

== U1905 =========================================
MXIC MX25L3255
Macronix SECURE SERIAL FLASH 
32 Mbit Mode 0 & Mode 3
2.7 to 3.6V

== U202/U203 =====================================
SK hynix  H5TQ4G63CFR
4Gb DDR3 SDRAM (512 MByte)

== Q1801 =========================================
4435GM 95217E
4435GM from VBsemi.tw
P-Channel 30-V (D-S) MOSFET 
SO-8 package
2.7W to 4.2W power dissipation (depending on external T°)
Vds = -3.0V
Vgs = +- 20V
Id = -9.0A to -5.6A (depending on external T°)

== U1802/U1803/U1903/U1901 ========================
RT7274 GSP6MA5N
RICHTEK RT7274 
2A, 18V, 700kHz ACOTTM Synchronous Step-Down Converter 
* 4.5V to 18V Input Voltage Range
* A Output Current
* High Efficient Internal N-MOSFET Optimized for
* Lower Duty Cycle Applications
* 105 mΩ Internal Low Side N-MOSFET
* Advanced Constant On-Time Control
* Allows Ceramic Output Capacitor
* 700kHz Switching Frequency
* Adjustable Output Voltage from 0.765V to 8V
* Adjustable and Pre-biased Soft-Start
* Cycle-by-Cycle Current Limit
* Input Under Voltage Lockout
* Thermal Shutdown

== U1801 ==========================================
RT7278 GSP5APoH
3A, 18V, 700kHz ACOT TM Synchronous Step-Down Converter
* 4.5V to 18V Input Voltage Range
* 3A Output Current
* 60 mΩ Internal Low Site N-MOSFET
* Advanced Constant On-Time Control
* Support All Ceramic Capacitors
* Up to 95% Efficiency
* 700kHz Switching Frequency
* Adjustable Output Voltage from 0.765V to 8V
* Adjustable Soft-Start
* Cycle-by-Cycle Current Limit
* Input Under Voltage Lockout
* Thermal Shutdown

== U1701 ==========================================
CC2534 TI865 P904
CC253x from Texas Instrument
CC253x System-on-Chip Solution for 2.4-GHz
IEEE 802.15.4 and ZigBee ® Applications

Clock at 32 MHz

document swru191f.pdf - CC253x/4x User's guid (Ref.F) is available online

== U404 ============================================
4710 connected to SCART output
AK4710 from AKM
AK4710 Low Power Single SCART Driver

Si le coeur vous en dit, voici de quoi occuper votre curiosité.
Bonnes découvertes,
Dominique

  •