What should we name the Electron pins?

I like AndyW idea very much, but to prevent confusion, we could use more letters: say C & B or AA and DD

       USB
VIN -       - 3v3
GND -       - RST
TX  -       - VBAT
RX  -       - GND
A7  -       - D7
A6  -       - D6
A5  -       - D5
A4  -       - D4
A3  -       - D3
A2  -       - D2
A1  -       - D1
A0  -       - D0
B5  -       - C5
B4  -       - C4
B3  -       - C3
B2  -       - C2
B1  -       - C1
B0  -       - C0
       ANT

or

        USB
 VIN -       - 3v3
 GND -       - RST
 TX  -       - VBAT
 RX  -       - GND
 A7  -       - D7
     -  skip  -
 A1  -       - D1
 A0  -       - D0
AA5  -       - DD5
AA4  -       - DD4
AA3  -       - DD3
AA2  -       - DD2
AA1  -       - DD1
AA0  -       - DD0
       ANT
5 Likes

I strongly agree with @AndyW

AD for sure! LR is not useful, you will need to look what is L1 in documentation. However if you see A1 you directly know it is an analog input channel.

1 Like

I like @ryotsuke’s refinement very much.

However, the numbering of the B/C pins, creates the opportunity for a repeat of this problem if there are different pin counts for future products.

1 Like

for any solution you come up with please duplicate it on the back of the board. In this way if you wonder you could pop it out from the breadboard and read the backside instead of finding a reference card that is inevitably going to get lost.

This is especially important in the beginning of learning so once you decide to solder a unit into a product you have hopefully graduated from this.

1 Like

Not the LR. It doesn’t correspond to any chip pin naming I’ve ever seen. It does not promote clarity or obviousness My vote is AD.

But… Not being able to see the nomenclature because of the GSM module renders the issue irrelevant

I agree with @ryotsuke. Keep the A0–D7 and D0–D7 position and their basic capability (analogRead) so that the boards are interchangeable on shields and the like, but add two more letter series for the bottom pins.

I also suggest adding at least some silkscreen, even if it’s just a dash, to make it easier to tell the upper series (Ax and Dx) from the bottom ones:

1 Like

The software needs to use matching names, so regardless of whether it is reflected on silkscreen, I think sensible naming is vitally important.

1 Like

I like the idea of geometric shapes. As long as we’ll still be able to distinguish them after the headers are soldered in place. A more common convention for PWM is a wave or tilde, ‘~’ – would there be room for that?

I definitely don’t like the idea of a “left/right” convention. It only makes sense when the board is in a particular orientation, and doesn’t convey any functional meaning at all.

Obviously, what we need is a holographic projector built into the board to display hovering labels that can’t be covered by components! :stuck_out_tongue_winking_eye:

4 Likes

When do you plan to have the pinout for the Electron finalized ?

I’m asking as I’m building a project currently with a core that I’m later planning to upgrade with an electron when that one is available and I would ideally like the upgrade to be “plug-and-play” from a hardware perspective.

It’s very likely that we’ll use the A-B-C-D system, but no matter what we do it’ll definitely be plug and play. We’re sticking to the pin compatible, code compatible promise.

5 Likes

What is the last pin mapping of the electron?
I am working on development of the PCB which will be embedded electron, so I want to know who is the last pin mapping and whether it will be changed. I completed development do these past inspections so I want to know if it remains pin mapping.

Hi @developer_bt! You should find exactly what you’re looking for here: https://github.com/spark/electron

I think the pin-mapping directory in particular will be informative.

1 Like

Thank you @Dick ,
I have designed the board using the latest githab pin-mapping. However I just want to know if the latest version of hardware of Electron will be some changes?
Is it safe for me to work with this pin-mapping? How secure is it to order the PCB before delivery of the electron?

I vote for AD nomenclature… Not LR…

But I am confused as to why an A pin would be named as such if it won’t be an analog pin???

And if it has to be different I would go for P1 to P36. But would strongly vote for AD

@AndyW @Dick, I certainly like Andy’s original suggestion.

Hey @developer_bt, sorry for the delay. Yes, that’s final version. If you PM me exactly which pins you’re using, and what features you’re using on them then I can give you an absolute confirmation so you can go forward with the PCB fab with confidence.

L and R does not add anything, we all know what’s left or right, don’t we :grinning:
So I suggest we keep the A# and D# naming scheme. If, and only IF, we want to divers from the standard set by Arduino, we have to come up with something awesome.
From the top of my mind, why not change the A’s that are real multipurpose pin’s into M# ?
Or create a small icon; triangle for multi, round for analog, star for both, square for digital, or something better designed by a UI graphics person.
Just a thought, for the pins alongside the radio module, print the pin id’s on the sticker on the top of the module.

Having just gotten burned by nomenclature issues, I want to chime in. Yes, I know this is a dead issue because the concrete’s set.

I bought a shield shield. Nomenclature on the top of the shield is Arduino land talk. The bottom is Photon speak. But I didn’t know that. Pin A5 is totally different depending on which name system you are using.

Programmers write in terms of A5. And when things go wrong and you pick up an oscilloscope, you want to put the probe on something visually labeled A5. Easy to make a mistake. Easy for a hardware guy to lay something out incorrectly. (Remember the Gimli glider near plane crash in Canada? The plane wanted to be refueled in gallons but the fuel guy used pounds. Oops. Ran out of fuel in the air.)

Worse, if I ever had to recode my project for a new chip, I absolutely do not want to have to go in a rename pins. “Find all the references to A5 and change them to …” The base problem is ONE name meaning DIFFERENT things.

This is akin to the human language word problem of ‘gift’ is something nice to get in English but ‘gift’ in German, not so much. (It means poison.)

So call it whatever you want, but don’t introduce ambiguity.

It’s too late to solve the following. My application wants to do one “port read” and grab 8 bits status in one bus transfer. It makes it nice if, for example, port B has pins B1, B2, B3, … B8. The PIC microcontroller does this.

For sure not go with left and right.