Récemment, en cherchant un connecteur, j’ai revisité un ancien de mes projets appelé Serial Squid. Cela devait être ma première conception de matériel open-source. Après avoir terminé toute la conception, le PCB, la nomenclature et la préparation d’une campagne financée par la foule, j’ai finalement abandonné pour les raisons évoquées ci-dessous, j’ai toujours pensé à cela comme un échec, mais après une réflexion plus approfondie, je le vois sous un nouveau jour . Il y a eu de bonnes leçons apprises sur le chemin de l’abandon.

Quand lâchez-vous? Quand devriez-vous passer?

Une idée forme

Le Serial Squid devait être essentiellement un pirate de bus connecté à Ethernet. Les motivations de ce projet étaient nombreuses. Trop, en fait, et peut-être que cela aurait dû être un signe d’alerte précoce. Au début, je voulais juste un UART série distant, et cela par paresse. Cela m’ennuyait de transporter mon ordinateur portable de mon bureau à la paillasse du laboratoire pour le débogage ou de transporter le projet sur mon bureau. Il doit sûrement y avoir un moyen d’étendre physiquement les E / S de mon ordinateur de bureau à travers la pièce ou le bâtiment jusqu’à la paillasse du laboratoire via le réseau. Je me suis donc concentré uniquement sur les solutions UART série, et j’ai en fait eu un succès modeste en partageant le port série d’un deuxième ordinateur en utilisant socat. Mais j’ai progressivement élargi la portée de mon widget fictif pour inclure d’autres interfaces série d’intérêt pour le développeur embarqué.

À cette époque, je suis tombé sur un petit programmeur flash portable de Chine appelé Eagle Comm. Il a été conçu pour une variété de MCU tels que PIC, Cortex, AVR, etc., et était très facile à utiliser. Il était parfait pour les petites séries de production en usine ou pour l’envoyer aux clients pour mettre à niveau des cartes prototypes. Plus je l’utilisais, plus j’aimais le facteur de forme et je me demandais si je pouvais le réutiliser. Mais le fabricant n’était pas disposé à partager le code, et le matériel n’était pas si bien adapté à mon application pour justifier une ingénierie inverse. Mais peut-être que mon widget encore sans nom pourrait apprendre une chose ou deux de l’emballage et de la disposition de l’unité Eagle Comm.

Parlant d’envoyer quelque chose à un client pour flasher une puce, il serait également utile d’avoir quelque chose que je pourrais envoyer à certains de mes clients à utiliser pour l’enregistrement des données, en particulier lorsqu’un système est installé sur un emplacement distant sans accès au réseau. Mon widget pourrait-il être alimenté par batterie et facilement utilisé comme enregistreur?

Et enfin, j’avais été intrigué pendant des années à propos de l’emballage d’une électronique dans un «boîtier» plat, entièrement constitué de couches de PCB. Une carte SMT convenablement mince pourrait être transformée en un emballage plat en ajoutant quelques PCB en fibre de verre, certains avec des découpes pour les composants. Les connexions et l’aide pourraient être sérigraphiées directement sur les couches extérieures, et l’assemblage serait aussi simple que de visser les couches ensemble.

Spécifications Solidifier

Peu à peu, ce produit a commencé à se gélifier dans mon esprit. Idéalement, je voulais un petit appareil portable avec un clavier et un écran, et la disposition pour plusieurs modules d’E / S correspondant à chaque type d’interface. Si vous avez déjà utilisé une vieille calculatrice HP-41C, imaginez que les modules d’extension soient des blocs d’E / S, par exemple. Hélas, cette approche m’a échappé pendant un certain temps. Il n’y avait pas de bus intermédiaire parfait pour ces modules. Je voulais quelque chose qui ne soit pas seulement techniquement approprié, mais aussi peu coûteux, sans licence, et qui ne disparaîtrait pas l’année prochaine. Je tournais autour d’Ethernet ou de SPI, quand j’ai trouvé la solution: reporter une conception modulaire jusqu’à la version 2 et opter pour un ensemble fixe de ports pour la version 1.

Formes de calmar rejetées

J’avais du mal avec le facteur de forme. Faire un clavier à moitié décent n’allait pas être facile. Et j’envisageais le crowdsourcing, et si j’allais avoir du succès, une simple mise en page semblable à une calculatrice était tout simplement ennuyeuse. Je voulais que mon widget ait un look accrocheur. J’ai poursuivi plusieurs projets candidats avec des maquettes et la CAO, mais aucun d’entre eux n’était tout à fait correct.

Puis un jour, cela m’a frappé, quelque chose qui évoque un aliment commun ici en Corée du Sud – mon widget allait être un calmar. Chaque bras du calmar serait un port d’interface, et la tête serait naturellement le cerveau. Dix jambes suffiraient. Maintenant, je pourrais proposer presque tous les protocoles série connus. Mon Serial Squid nouvellement nommé serait vraiment polyvalent.

Après plusieurs explorations de formes semblables à des calamars, j’ai opté pour le design ci-dessous. J’ai fait un exercice exhaustif pour trouver les meilleurs connecteurs et brochage pour chaque interface.

Faire votre recherche

Cette partie de la conception a pris beaucoup de temps. De nombreux protocoles série n’ont pas de connecteurs standard. Parfois, nous prenons pour acquis ces choses quotidiennes que nous utilisons comme les brochages de connecteur série de niveau TTL ou le connecteur et le brochage d’une interface RS-485. (Il n’y a pas de norme, mais une norme assez bien adoptée de facto.) Connaître les spécifications associées, l’historique et l’utilisation courante peut être très utile.

La variété des connecteurs d’E / S

J’ai recherché autant d’implémentations différentes que possible à partir d’autres projets et produits. Finalement, j’ai sélectionné le connecteur et le brochage les plus appropriés pour chacune des interfaces.

Tout le temps, je faisais de mon mieux pour garder à l’esprit la technique de construction du «PCB plat». En raison des contraintes physiques de nombreux connecteurs, un compromis était nécessaire. Ce ne serait pas un sandwich PCB mince et élégant, mais je pense toujours que le résultat aurait été acceptable pour l’application prévue. Je me penchais également vers un boîtier imprimé en 3D au lieu d’un sandwich PCB, car l’empilement de PCB nécessaires devenait assez compliqué, et je soupçonne plus cher que l’impression 3D.

La mort d’un calmar

J’ai abandonné le projet après presque un an. J’étais si près. J’avais les Gerber prêts, les PCB provenaient de Chine, les pièces étaient prêtes à être commandées dans mon panier. Il y avait de nombreuses raisons à cela, mais trois principales me viennent à l’esprit.

Killer # 1: Logiciel

Alors que je faisais allègrement la conception matérielle, les nuages ​​sombres du développement de micrologiciels se profilaient. Pour que cette carte fonctionne comme je l’avais imaginé, j’avais besoin d’un firmware qui présenterait ses différents ports série à un ordinateur distant via Ethernet et éventuellement USB. Bien que cela ne semble pas trop intimidant lorsque je pense à un UART, lorsque vous ajoutez une douzaine d’autres interfaces, vous avez un problème. Le plus important étant qu’aucun protocole standard xxxx sur LAN n’existait pour ces ports, et les ordinateurs n’avaient même pas la plupart de ces ports en natif. L’énormité de la tâche du micrologiciel a lentement coulé, sans parler du développement possible de pilotes de périphériques de bureau, et mon enthousiasme a commencé à s’évanouir.

Tueur n ° 2: pas de but clair

Beaucoup de gens avec qui j’ai discuté du projet ont admis qu’il était accrocheur et novateur, mais il était difficile d’expliquer ce qu’il a fait. «Il peut tout faire» était une réponse irréaliste, et une évaluation honnête m’a amené à conclure qu’il essayait d’en faire trop.

Killer # 3: distrait par la Rev 2

Je n’ai jamais été tout à fait satisfait des dix pattes ayant des ports d’E / S fixes. Idéalement, je voulais que l’utilisateur puisse mélanger et assortir les jambes. De cette façon, je pourrais rendre le corps plus petit, peut-être en m’éloignant des facteurs de forme basés sur des créatures à 10 pattes. Quatre ou cinq jambes suffiraient. J’ai continué à me demander si je devais d’abord emballer le calmar, puis passer à la Rev 2, ou laisser tomber le calmar et sauter directement à un nouveau design. Je n’ai fait ni l’un ni l’autre.

Leçons apprises: Fluage des fonctionnalités

Au fil des ans, en tant qu’ingénieur, j’ai vécu la déception mentale lorsqu’un projet se termine ou est annulé. Mais il est intéressant de noter que je n’ai pas ressenti cela en abandonnant ce projet. J’ai passé un si bon moment à faire la conception, j’ai appris ou réappris beaucoup de leçons et j’ai acquis de nouvelles compétences en cours de route.

Méfiez-vous des larges étendues et du fluage des caractéristiques. Ceci est bien connu de tous dans la communauté. Mais malgré ma barbe grise, j’ai trébuché. Essayez de reconnaître les signes avant-coureurs d’une spécification gonflée. Et si vous voyez que cela se produit, essayez de le réparer ou d’arrêter avant d’entrer trop profondément. Le fait que personne ne puisse comprendre le but était un gros drapeau rouge – je l’ai vu, mais je l’ai quand même ignoré. Soyez également flexible, sachez quand abandonner ou abandonner une fonctionnalité. Ne soyez pas trop rigide dans les spécifications, surtout s’il s’agit d’un projet de loisir.

J’ai rapidement abandonné mon idée du Squid apparaissant comme des extensions de port sur votre bureau. Si j’avais insisté, j’allais soit remplacer le micro par un Linux SBC, soit exécuter un langage de script comme Python ou Forth on the Squid. Si vous devez réinventer ou créer de nouveaux protocoles à partir de zéro, regardez de plus près. Il peut y avoir des raisons valables de le faire, mais le plus souvent, il vaut mieux adopter les interfaces et les normes existantes.

Ne sous-estimez pas la valeur des maquettes, qu’elles soient physiques ou simulées en CAO. J’ai utilisé ce projet comme une opportunité pour apprendre OpenSCAD, une compétence que j’ai trouvée très utile. J’ai également pris la décision de me mettre à jour sur KiCad pour ce projet. Le fait d’avoir utilisé plusieurs outils professionnels de conception de circuits imprimés au fil des ans a probablement aidé, mais je pouvais voir que KiCad évoluait et que j’avais besoin de devenir compétent avec lui.

Soyez honnête avec vous-même – brutalement honnête. Aussi accrocheur que soit le Serial Squid, je dois admettre que je ne suis pas sûr à quel point il serait confortable à utiliser dans la vraie vie. Regardez aussi attentivement le problème que vous essayez de résoudre. Avec le recul, 99% des cas d’utilisation que je cherchais à résoudre auraient pu être réalisés avec un Raspberry Pi et un bouclier personnalisé ou deux.

Bien qu’à proprement parler le projet ait été un échec, j’ai eu beaucoup de plaisir à le faire. J’ai rencontré de nouvelles personnes et entreprises, et j’ai acquis de nouvelles compétences que j’utilise encore cinq ans plus tard. Si vous avez un nouveau projet en tête, faites preuve de bon sens. Faites part de vos idées à vos collègues et autres hackers. Puis sautez et commencez. Et n’ayez pas peur d’un flop – même un échec peut être précieux.

LAISSER UN COMMENTAIRE

Rédigez votre commentaire !
Entrez votre nom ici