Common peripherals for two different microcontrollers PIC and ATMEGA - Page 1
Forum section: electronics / general

author: samdare
author_rank: Contributor
timestamp: March 31, 2018, 12:57:13 pm
content: Recently am thinking of designing a development board on own. Basically the idea is to use same peripherals for two different microcontrollers one is PIC16F877A and other one is ATmega8A,both are 8 bit the problem am facing is atmega has only 28 pins DIP package and PIC has only 40 pin DIP package,is there a solution such that I can use both with common peripherals.I have attached images for clear understanding of my idea.Sent from my Lenovo K8 Plus using Tapatalk

author: hexreader
author_rank: Frequent Contributor
timestamp: March 31, 2018, 01:03:57 pm
content: Already tried, but with poor response:https://www.mikroe.com/uni-dsI do not think that you will get rich with this idea....

author: samdare
author_rank: Contributor
timestamp: March 31, 2018, 01:17:18 pm
content: Quote from: hexreader on March 31, 2018, 01:03:57 pmYou don't need to think,because am not thinking of getting rich,it's just a weekly hobby stuff.BTW thanks for the link.I just wanna know is there a way to cope up with difference in pin numbers.Sent from my Lenovo K8 Plus using Tapatalk

author: IonizedGears
author_rank: Regular Contributor
timestamp: March 31, 2018, 01:42:18 pm
content: The best way to overcome the difference in pins, pinout, and packages between different microcontrollers is to do what the designer of the board hexreader posted. You design the motherboard with all of the neat devices and a universal socket for your microcontrollers. In this case it's impossible to have a socket for the individual microcontrollers so you have to design daughter boards for each microcontroller that would then plug in to the universal socket on the motherboard.Again, you see this on the board hexreader posted "mikroboard socket" but another company that does the same mother/daughter board construction is Parallax with their PIC-based basic stamps.Sent from my Pixel XL using Tapatalk

author: hexreader
author_rank: Frequent Contributor
timestamp: March 31, 2018, 01:57:15 pm
content: Instead of designing two different adaptor boards, it is probably simpler to design two versions of main board.IMHO

author: samdare
author_rank: Contributor
timestamp: March 31, 2018, 02:04:45 pm
content: Quote from: IonizedGears on March 31, 2018, 01:42:18 pmThanksSent from my Lenovo K8 Plus using Tapatalk

author: JPortici
author_rank: Super Contributor
timestamp: March 31, 2018, 02:09:42 pm
content: or use a different pic. as other suggested there are newer and cheaper pics that are still 100% backwards compatible.if you limit yourself to PIC16F1XXX (four digits) and PIC18F up to K22/40 family the peripherals are still basically the same at the configuration level. Enhancements to the peripherals are possible, if enabled.if however you decide to use 5 digit PIC16 (such as PIC16F18323, drop in replacement for.. yep. PIC16F1823) you gain more complex peripherals, but at the same time you also gain Peripheral Pin Select, the ability to reassign the functions of almost all of the digital pins. Same with PIC18F K42 family. but those add a lot of complexity which i think it's best to avoid for you

author: NorthGuy
author_rank: Super Contributor
timestamp: March 31, 2018, 02:24:54 pm
content: There are 28-pin PICs. Also newer, much better ones.However, the difference in footprint is rather good for you. You design the board with 2 footprints in the same place (say 28-pin footprint completely inside the 40-pin footprint). This way you can properly connect power pins etc.

author: rstofer
author_rank: Super Contributor
timestamp: March 31, 2018, 05:52:36 pm
content: I would start by picking a voltage. It would be easy to pick either 5V or 3.3V and all components would be one or the other, no level translation required or allowed.Having done that, I would design the motherboard with all the IO gadgets I would ever want. Knobs, switches, dials, lights, whatever. Toss in an I2C LCD display, whatever. Maybe a little prototyping board in the middle...Then I would design CPU daughter cards for each the various CPUs (ARM, PIC, PIC32, whatever). I might also have Arduino headers on the motherboard so I could use Arduino Shields.I'm not sure how I would orient the daughter cards. Mounting them parallel to the motherboard would block up a lot of real estate. Maybe I would use edge connectors and mount the daughter boards vertically on one edge of the motherboard. Out of the way of all the peripherals. In any event, the daughter board would take care of signal routing.One limitation that is annoying: I will pick a number of connections between the daughter card and the motherboard. Having done this, I am limited in the number of pins I can have on the CPU. Is 40 enough? 64, 100, ?The motherboard would be pretty large. I would need to find a source for cheap PCBs of that size.For my needs, I would never do this. I tend to buy uCs in the 'stamp' format. I can then plug them into breadboards or even into sockets on the final project board. I have several projects where the 'stamp' CPU board is soldered in place.CPUs like this:https://www.pololu.com/product/2150