There is one table I have been looking for many times among the PIC24 documentation and could never find… it’s a pin-out table, nothing fancy, but a complete one that would help me figure out quickly how to tell if and where a given I/O is used/shared/multiplexed with what…
Table 1.2 in the PIC24fj128GA010 datasheet (DS39747C) for example list all the functions but it ends up also listing the same pin many times. For example pin 44 (in the 100 pin package) is listed as AN15 and CN12 on page 11 and two pages later as RB15. This is very logical and convenient from an editorial point of view, as it allows for a single table to concisely include ALL the information (for all packages), but it makes it very hard for me, when looking for an available I/O to use, to discover if the pin is already in use or it could conflict with the operation of a given peripheral.
An option is to inspect the pin out diagrams (figures from page 2 to page 4 of the datasheet) but those are not as “complete”, and require quite some head turning (try and find OC5 in the 100pin diagram for example…)
In other words it would take a re-sorting of table 2.1 by pin#, times three, to provide one new table per package.
The solution I found to work best for my needs was to create an Excel spreadsheet that I could easily sort and re-sort on different columns.
So, here it is: PIC24 Pinout (Missing) Table
The table can be re-sorted as needed by different package columns (64, 80 100-pin), by function or by peripheral (a little familiarity with Excel might be required here: Select All, then Data>Sort> choose the column …)
As an added bonus it was easy to include the information about the pin usage by the Explore16 board and the various PICTail boards available (including the AV16 of course).
P.S. Should you find any error or omission, please make sure to report it to me…