M2E(1alc)

πŸ“¦ version 5.1.1, in fedora 43, fedora 44

πŸ¦‹ mbk2eagle ✨ the manual, but it's a group chat πŸ’…

okay bestie, welcome to mbk2eagle β€” and no, it's not a bird, it's a whole tool πŸ¦…βœ¨

so here's the vibe: this thing takes a structural description of a board (a .vst file) and generates a script file that Eagle can actually use β€” Eagle being the board-routing software, iykyk. that generated file is what hands Eagle the list of components being used plus how all those components are interconnected. it's giving matchmaker but for pins πŸ”₯


πŸŽ€ what you gotta bring to the party πŸŽ€

your .vst structural description is not enough on its own, bestie. it needs three types of files to go with it:

  • a nom__de_figure.pin file β€” this is the description of the printed circuit board's connections, along with its environment (aka the board's connectors) πŸ”Œ
  • one or more composants.pin files β€” these are the different models of components that have to be placed on the printed circuit board 🧩
  • a nom__de_figure.cls file β€” in here you define the class of the signals, plus the rotation and the placement of the different instances of the models. fyi by default a signal's class is class 0 πŸ‘‘
and listen β€” inside these files, empty lines or lines that start with # are just ignored. no cap, they get skipped 🫢

πŸ’– 1. Organisation du fichier nom__de_figure.pin πŸ’–

so in this file, for every single connector on the board, you have to put the 2 rubriques, and yes, in this exact order:

🌸 Rubrique 1 β€” /MODELE <instance> <modele> <rotation> <(coordonnees)>

  • <instance> β€” this is the instance name of the connector.
  • <modele> β€” the name of the Eagle file that describes the connector. its form is: nom_modele@nom_bibliotheque
  • <rotation> β€” you can put one of these values: R0, R90, R180, R270.
  • <(coordonnees)> β€” the provisional position of the connector (x y). it has to be entirely inside the usable zone, which is currently 100x160 mm.

🌸 Rubrique 2 β€” /CONNECTEURS

then you list out the connector's signals, one signal per line, in this form:

<repère de broche> <nom du signal>

✨ EXAMPLE ✨

/MODELE P1 IBM8BIT@con-pc R90 (6.5 0.5)

/CONNECTEURS B1      VSS B3      VDD B29     VDD B31     VSS

A2      DATA(7)  A3      DATA(6)  A4      DATA(5) A5      DATA(4)
A6      DATA(3) A7      DATA(2) A8      DATA(1) A9      DATA(0)

A11     AEN

🧚 2. Organisation des fichiers composants.pin 🧚

in this file you must place 2 rubriques, in order:

πŸ’œ Rubrique 1 β€” /MODELE <modele>

<modele> is the name of the Eagle file that describes the connector. it's of the form: nom_modele@nom_bibliotheque

πŸ’œ Rubrique 2 β€” /CONNECTEURS

you list the signals of the component in this form:

<repère de broche> <nom du signal>

✨ EXAMPLE ✨

/MODELE DIL08@dil (0.5 3.0)

/CONNECTEURS 1   DATA 2   CLK 3   OE_N 4   CE_N 5   VSS 6   CEO 7 VPP 8   VDD

πŸ‘‘ 3. Organisation du fichier nom__de_figure.cls πŸ‘‘

in this file you must place 2 rubriques, in order:

🌈 Rubrique 1 β€” /CLASS

then you list the signals with their class number, one signal per line, in this form:

<nom du signal> <numΓ©ro de la classe>

and bestie, you literally do not need to list the signals of class 0. this rubrique can even be empty β€” but the /CLASS itself has to be there. no skipping it, periodt πŸ’…

🌈 Rubrique 2 β€” /PLACEMENT

then you list the instances with the rotation to perform and the placement coordinates, one instance per line, in this form:

<nom de l'instance> <rotation> <coordonnΓ©es>
  • <rotation> β€” you can put one of these values: R0, R90, R180, R270.
  • <(coordonnees)> β€” the provisional position of the component (x y). it has to be entirely inside the board's usable zone, currently 100x160 mm.

✨ EXAMPLE ✨

/CLASS CLK  1 VSS  2 VDD  2

/PLACEMENT IC1  R90   (4.25 1.2) IC2  R180  (3.25  1.2)  IC3   R0 (3.25 1.4)

πŸŽ€ 4. Ligne de commande πŸŽ€

here's the synopsis, verbatim bestie, don't come for me:

m2e  [-v n ]  [-o output]  figure
  • -v n β€” this sets the level of the messages that get displayed. by default it's 1. and the levels go like this:
    • 0 β€” only the errors get displayed 😭
    • 1 β€” errors and warnings get displayed
    • 2 β€” on top of that, the names of the .pin files used get displayed πŸ‘€
    • 3 β€” trace mode, for the debug girlies πŸ›
  • -o output β€” it's sitting right there in the synopsis too, that's all this page gives us, so that's all i'm giving you πŸ’…

πŸ¦‹ 5. Variable d'environnement πŸ¦‹

M2E_PIN_LIB must be defined. it gives the access paths to the .pin files πŸ“‚


and that's the whole page, bestie!! πŸ«ΆπŸ’– this one is from the alc manual, section 1, dated 01/07/2002 β€” and the tool's name is mbk2eagle, so now you know exactly what to type. go slay those boards βœ¨πŸ‘‘πŸŒ±