Close

PPS = Picking Pins Sucks

A project log for Big Ol' Modular CNC

It's Time.

eric-hertzEric Hertz 01/14/2016 at 08:062 Comments
//PIC32MX370F512H-64TQFP:

// * = 5V Tolerant (? Marked Gray)
// ! = RF6 Cannot be used as a change-notification! (Table 2, Note 2)
// % = Pins 13-18 are programming/debugging pins...
//     See Note below.
//
// VDD = V+
// VSS = GND
//                                             SDA1
//                                          SCL1|SCK1
//           RC13  RD11   RD9   VSS  RC12   RG2 | RF6   RF3
//        RC14 | RD0 | RD10| RD8 | RC15| VDD | RG3 | RF2 |
//          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
//        --------------------------------------------------
//       | 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33  |
//       |        *  *  *  *  *              *  *  *  *  *  |
// RD1 --|49                                       !     *32|-- RF5/SCL2
//       |                                                  |
// RD2 --|50                                             *31|-- RF4/SDA2
//       |                                                  |
// RD3 --|51                                              30|-- RB15
//       |                                                  |
// RD4 --|52*                                             29|-- RB14
//       |                                                  |
// RD5 --|53*                                             28|-- RB13/TDI
//       |                                                  |
// RD6 --|54*                                             27|-- RB12/TCK
//       |                                                  |
// RD7 --|55*                                             26|-- VDD
//       |                                                  |
//VCAP --|56                                              25|-- VSS
//       |                                                  |
// VDD --|57                                              24|-- RB11/TDO
//       |                                                  |
// RF0 --|58*                                             23|-- RB10/TMS
//       |                                                  |
// RF1 --|59*                                             22|-- RB9
//       |                                                  |
// RE0 --|60*                                             21|-- RB8
//       |                                                  |
// RE1 --|61*                                             20|-- AVSS
//       |                                                  |
// RE2 --|62                                              19|-- AVDD
//       |                                                  |
// RE3 --|63*                                            %18|-- RB7
//       |                                                  |
// RE4 --|64                  *                %  %  %  %%17|-- RB6
//       \  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16  |
//        \-------------------------------------------------
//          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
//          | RE6 | RG6 | RG8 | RG9 | VDD | RB4 | RB2 | RB0
//         RE5   RE7 | RG7  /MCLR  VSS   RB5   RB3   RB1
//                  SCK2
//
//NOTE: 
//  I2C is NOT remappable
//      THESE ARE ALL 5V Tolerant
//       SDA1 = 36 RG3
//       SCL1 = 37 RG2
//       SDA2 = 31 RF4
//       SCL2 = 32 RF5
//  SPI Clock Pins are NOT remappable
//       SCK1 = 35 RF6 (5V Tolerant)
//       SCK2 = 4 RG6
//  Programming/Debugging pins
//   These *should* be usable, but I've had some difficulty in the past
//   PGED/C#
//       PGED1/C1 = 16/15
//       PGED2/C2 = 18/17
//       PGED3/C3 = 13/14
//
//1  AN22/RPE5/PMD5/RE5                           33 RPF3/RF3
//2  AN23/PMD6/RE6                                34 RPF2/RF2
//3  AN27/PMD7/RE7                                35 RPF6/SCK1/INT0/RF6
//4  AN16/C1IND/RPG6/SCK2/PMA5/RG6                36 SDA1/RG3
//5  AN17/C1INC/RPG7/PMA4/RG7                     37 SCL1/RG2
//6  AN18/C2IND/RPG8/PMA3/RG8                     38 VDD 
//7  MCLR                                         39 OSC1/CLKI/RC12
//8  AN19/C2INC/RPG9/PMA2/RG9                     40 OSC2/CLKO/RC15
//9  VSS                                          41 VSS 
//10 VDD                                          42 RPD8/RTCC/RD8
//11 AN5/C1INA/RPB5/RB5                           43 RPD9/RD9
//12 AN4/C1INB/RB4                                44 RPD10/PMCS2/RD10
//13 PGED3/AN3/C2INA/RPB3/RB3                     45 RPD11/PMCS1/RD11
//14 PGEC3/AN2/C2INB/RPB2/CTED13/RB2              46 RPD0/RD0
//15 PGEC1/VREF-/CVREF-/AN1/RPB1/CTED12/RB1       47 SOSCI/RPC13/RC13
//16 PGED1/VREF+/CVREF+/AN0/RPB0/PMA6/RB0         48 SOSCO/RPC14/T1CK/RC14
//17 PGEC2/AN6/RPB6/RB6                           49 AN24/RPD1/RD1
//18 PGED2/AN7/RPB7/CTED3/RB7                     50 AN25/RPD2/RD2
//19 AVDD                                         51 AN26/RPD3/RD3
//20 AVSS                                         52 RPD4/PMWR/RD4
//21 AN8/RPB8/CTED10/RB8                          53 RPD5/PMRD/RD5
//22 AN9/RPB9/CTED4/PMA7/RB9                      54 RD6
//23 TMS/CVREFOUT/AN10/RPB10/CTED11/PMA13/RB10    55 RD7
//24 TDO/AN11/PMA12/RB11                          56 VCAP
//25 VSS                                          57 VDD 
//26 VDD                                          58 RPF0/RF0
//27 TCK/AN12/PMA11/RB12                          59 RPF1/RF1
//28 TDI/AN13/PMA10/RB13                          60 PMD0/RE0
//29 AN14/RPB14/CTED5/PMA1/RB14                   61 PMD1/RE1
//30 AN15/RPB15/OCFB/CTED6/PMA0/RB15              62 AN20/PMD2/RE2
//31 RPF4/SDA2/PMA9/RF4                           63 RPE3/CTPLS/PMD3/RE3
//32 RPF5/SCL2/PMA8/RF5                           64 AN21/PMD4/RE4
//
// 5V Tolerant:
//    7  /MCLR
//    31 RF4
//    32 RF5
//    33 RF3
//    34 RF2
//    35 RF6
//    36 RG3
//    37 RG2
//    42 RD8
//    43 RD9
//    44 RD10
//    45 RD11
//    46 RD0
//    52 RD4
//    53 RD5
//    54 RD6
//    55 RD7
//    58 RF0
//    59 RF1
//    60 RE0
//    61 RE1
//    63 RE3

//    7  /MCLR
//    46 RD0
//    52 RD4   \
//    53 RD5   |
//    54 RD6   |
//    55 RD7   |  8bits
//    42 RD8   |
//    43 RD9   |
//    44 RD10  |
//    45 RD11  /
//    60 RE0
//    61 RE1
//    63 RE3
//    58 RF0   \
//    59 RF1   |
//    34 RF2   |
//    33 RF3   |  7bits
//    31 RF4   |   (SDA2 I2C)
//    32 RF5   |   (SCL2 I2C)
//    35 RF6   /   (SCK1 SPI)
//    37 RG2       (SCL1 I2C)
//    36 RG3       (SDA1 I2C)


// PWM Pins:
//  OC1, OC2:
// RD1   OC1,OC2
// RG9   OC1,OC2
// RB14  OC1,OC2
// RD0   OC1,OC2
// RD8   OC1,OC2
// RB6   OC1,OC2
// RD5   OC1,OC2
// RF3   OC1,OC2  *
// RF6   OC1,OC2
// RF2   OC1,OC2
//  OC3:
// RD2   OC3
// RG8   OC3
// RF4   OC3
// RD10  OC3
// RF1   OC3
// RB9   OC3
// RB10  OC3
// RC14  OC3
// RB5   OC3
//  OC4:
// RD3   OC4
// RG7   OC4
// RF5   OC4
// RD11  OC4
// RF0   OC4
// RB1   OC4
// RE5   OC4
// RC13  OC4
// RB3   OC4
// RF3   OC4      *
//  OC5:
// RD9   OC5
// RG6   OC5
// RB8   OC5
// RB15  OC5
// RD4   OC5
// RB0   OC5
// RE3   OC5
// RB7   OC5
// RB2   OC5

// RB0   OC5   
// RB1   OC4   
// RB10  OC3   
// RB14  OC1,OC2  
// RB15  OC5   
// RB2   OC5   
// RB3   OC4   
// RB5   OC3   
// RB6   OC1,OC2  
// RB7   OC5   
// RB8   OC5   
// RB9   OC3   
// RC13  OC4   
// RC14  OC3   
// RD0   OC1,OC2        Tolerant
// RD1   OC1,OC2  
// RD10  OC3            Tolerant
// RD11  OC4            Tolerant
// RD2   OC3   
// RD3   OC4   
// RD4   OC5            Tolerant
// RD5   OC1,OC2        Tolerant
// RD8   OC1,OC2        Tolerant
// RD9   OC5            Tolerant
// RE3   OC5            Tolerant
// RE5   OC4   
// RF0   OC4            Tolerant
// RF1   OC3            Tolerant
// RF2   OC1,OC2        Tolerant
// RF3   OC1,OC2,OC4    Tolerant
// RF4   OC3            Tolerant
// RF5   OC4            Tolerant
// RF6   OC1,OC2        Tolerant
// RG6   OC5   
// RG7   OC4   
// RG8   OC3   
// RG9   OC1,OC2

//Mounted on the TQFP32-100 adapter
// outter numbers match the adapter's labels
// NOTE: Adapter labels are a bit confusing... 
//       they're labelled below the holes
//
//                              GND      V+
//                               ^        ^
//                               |  .1uF  |
//                               +---||---+    SDA1
//                               |        | SCL1|SCK1
//           RC13  RD11   RD9   VSS  RC12 | RG2 | RF6   RF3
//        RC14 | RD0 | RD10| RD8 | RC15| VDD | RG3 | RF2 |
//         75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60
//        --------------------------------------------------
//       | 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33  |
//       |        *  *  *  *  *              *  *  *  *  *  |
//       |                                         !        |


//              RD1 85|49       ) )     *32|41 RF5/SCL2
//                    |        ( (         |
//              RD2 86|50       ) )     *31|40 RF4/SDA2
//                    |        ( (         |
//              RD3 87|51       ) )      30|39 RB15
//                    |        ( (         |
//              RD4 88|52*      ) )      29|38 RB14
//                    |        ( (         |
//              RD5 89|53*      ) )      28|37 RB13/TDI----------->TDI
//                    |        ( (         |
//              RD6 90|54*      ) )      27|36 RB12/TCK----------->TCK
//                    |        ( (         |
//              RD7 91|55*      ) )      26|35 VDD----+---->V+
//    10uF TANT/CER   |        ( (         |         === .1uF
//   GND<--||--VCAP 92|56       ) )      25|34 VSS----+---->GND
//                    |        ( (         |
//    V+ <------VDD 93|57       ) )      24|33 RB11/TDO----------->TDO
//                    |        ( (         |
//              RF0 94|58*      ) )      23|32 RB10/TMS----------->TMS
//                    |        ( (         |
//              RF1 95|59*      ) )      22|31 RB9
//                    |        ( (         |
//              RE0 96|60*      ) )      21|30 RB8
//                    |        ( (         |
//              RE1 97|61*      ) )      20|29 AVSS-----+----->GND
//                    |        ( (         |           === .1uF
//              RE2 98|62       ) )      19|28 AVDD-----+----->V+
//                    |        ( (         |
//              RE3 99|63*      ) )     %18|27 RB7
//                    |        ( (         |
//             RE4 100|64       ) )     %17|26 RB6


//       |                    *                %  %  %  %   |
//       \  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16  |
//        \-------------------------------------------------
//          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
//          | RE6 | RG6 | RG8 | RG9 | VDD | RB4 | RB2 | RB0
//         RE5   RE7 | RG7  /MCLR  VSS | RB5   RB3   RB1
//                  SCK2      |     |  |
//                            \     |  |.1uF
//                            / 1k  +||+
//                            \     |  |
//                            | .1uF|  |
//  JTAG_RST (NYI) >---+------+-||--+  |
//                     |      |     |  |
//                   _|o      \     |  |
//                    |o      / 10k |  |
//                     |      \     |  |
//                     |      |     |  |
//                     v      v     v  v
//                    GND    V+    GND V+

// JTAG Connector
//               Jumper?  
// 1 +3V3   -------o o---------> VDD
// 2 GND
// 3 TCK
// 4 TDI
// 5 TDO
// 6 TMS
// 7 JRST (NYI)

// TODO: Heart (+button?)
//       Tx0/Rx0 on UART PPS pins...?

Discussions

Eric Hertz wrote 01/14/2016 at 08:18 point

But I finally found a name for my upright DIP PCB breakout... (this guy gets soldered upright to the tops of where the DIP pins enter the package, on one side, so the pins can be used as normal in breadboards or chip sockets, while breaking out certain oft-used functionality like the programming-header, UART, and a heartbeat LED... burried in one of my logs in one of my projects...) it's a "toupee".

And... Goodnight.

  Are you sure? yes | no

Eric Hertz wrote 01/14/2016 at 08:11 point

Hmm, maybe a spreadsheet.... Duh.

  Are you sure? yes | no