Les articles de Hackable N°32 - Janvier/Février/Mars 2020

De Noël à mars... Avez-vous remarqué qu'il y a un climat de crise énergétique ambiant en ce moment ? Tout devient économe en énergie, les ampoules à filament ont laissé place aux leds dans les rayons des magasins et petit à petit dans les rues, de manière générale les choses énergivores sont devenues le mal incarné car, comme dirait la pub, « ce n'est pas Versailles ici ».
Les afficheurs LCD alphanumériques disposant d'une interface compatible HD44780 (composant Hitachi à l'origine) se pilotent tous de la même façon et peuvent avoir différentes caractéristiques et tailles : une ligne de 8 caractères, quatre lignes de 20 caractères, deux lignes de 16 caractères, etc., tantôt avec rétroéclairage, tantôt sans.
Même s’il est possible de faire 90 % du développement en simulation et sans matériel, quand on «fait du FPGA», on souhaite pouvoir toucher du concret. Il est donc nécessaire d’avoir une carte électronique permettant de faire fonctionner son projet en réel. Les outils de développement sur FPGA ont la réputation d’être chers et réservés aux universités et bureaux d’études. Ce n’est pourtant plus le cas, il existe de plus en plus de kits de développement permettant de mettre le pied à l'étrier à moindres frais. Et tous proposent désormais leur logiciel de développement gratuit fonctionnant sous GNU/Linux (mais pas tous libres). Nous allons ici lister quelques-uns de ces kits.
Tout comme la conception et la modélisation de systèmes mécaniques via des logiciels libres tels que FreeCAD, SaloméMeca ou bien des logiciels propriétaires comme Catia/Solidworks, la conception, simulation et réalisation de circuits électroniques n'ont jamais été aussi simples depuis l'arrivée de la version 5 de KiCAD [1, 2, 3]. Bien qu'existant depuis de nombreuses années, la dernière mouture de KiCAD intègre la librairie partagée Ngspice pour réaliser les simulations. Il est cependant toujours possible d'utiliser directement Ngspice en tant que plugin, comme nous le verrons également en fin d'article [4].
Dans ma nouvelle maison, j'ai découvert les joies du chauffage au fioul et les limitations d'un système de régulation de la température intérieure le plus simpliste qui soit. La simplicité a ses avantages, et le fioul aussi, mais lorsqu'on regarde sa facture, on se rend rapidement compte que cette simplicité a un coût, qui peut être important. Pour régler le problème, j'ai décidé de faire rapidement évoluer mon installation, avec l'aide d'une carte Arduino et de quelques modules.
Le marché propose de nos jours des alimentations de laboratoire aux caractéristiques très intéressantes : compactes, puissantes, programmables... Conçues et fabriquées en Chine, évidemment, elles sont économiques et très peu concernées par les standards ou les protocoles, contrairement aux équipements professionnels des grandes marques, chers, mais relativement ouverts. Cet article va examiner un modèle particulier que vous risquez de retrouver sous une forme ou une autre. Ses protocoles ont pu être documentés, grâce aux efforts de la communauté des bricoleurs, ce qui rend cet appareil encore plus utile et très facile à programmer !
La rétro-ingénierie matérielle est une pratique qui a longtemps été réservée aux états et aux industriels, et ce, en grande partie à cause des coûts engendrés. Cependant aujourd'hui, chaque personne ayant un bagage technique suffisant peut pratiquer cet art sans avoir à dépenser des sommes astronomiques, on peut alors précisément se poser la question du coût matériel pour différentes configurations. Je vais vous présenter différents ensembles de matériels selon leurs coûts, que nous ferons correspondre à différents niveaux d'expertise en laboratoire. Cet article s'adresse donc autant aux amateurs néophytes, désireux d'acquérir la capacité de pratiquer la rétro-ingénierie matérielle, qu'aux universités voulant lancer un laboratoire dans ce domaine. Nous n'aborderons ici qu'un seul type d'attaque, celle par analyse de puces de silicium. Pour les autres types d'attaques, vous aurez généralement une seule méthode disponible et donc un seul type de matériel ou de machine, ce qui rend la chose trop spécifique pour être abordé ici.
L'article précédent était assez pessimiste et peut-être même un peu rébarbatif, avec cette liste des instructions du 6502. On était arrivé à la conclusion que les possibilités de ce processeur étaient finalement assez limitées : opérations seulement sur 8 bits, pas de multiplications ni de divisions, pas de nombre à virgule, très très peu de registres utilisables (A, X et Y).