Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Creating a dev board : need your opinion

Status
Not open for further replies.
Hello everyone,

I need you help. I'm actually building a development board around a PIC16F887A. It'S main purpose is, for a teacher, to teach to new students
programming basics and more advanced stuff like Portways (i/o), I2C, SPI, DataBus, PWM, ADC etc. They're actually using 8051 based MCU, so I thought PIC family was a good alternative as it's compiler is free and there's a good community built around it.

I've got quite few peripherals on that board, but I want your opinion : what a perfect development board should have?

Thanks!

Jeff
 
Use Nigel's tutorials as a base.... That way you can get your students to build the dev boards AND learn to program them... Nigel has all the code tutorials in ASM and I have them all in C...

Look at the links in my signature...
 
The purpose of this project is :
As I am a graduating student, this is part of a robot project I'm actually doing. I already did all the necessary C functions to work with the peripherals I listed, I WANT to build a development board (It'll stay at the school for future students like me) and I only want to know : if you had to use a development board, what would you want it to include as it's main components?
It's not a matter of buying a costless board on ebay neither using already written functions : the purpose is to give this board to my school, so that it'll be produced for future students as their main development platform during the electronic course.

Thanks, that may clarify your responses!
 
Have a look at this:

PIC Development Board 2.jpg


This is my PIC 16F887 development board.

I have previously shown this in another thread here on ETO last year.

JimB
 
That looks to be a very comprehensive design with lots of features.
I almost think that you are trying to put too much in there.

I notice that the peripheral signals such as SDI and SDO are permanently connected to the PIC, this could limit the versatility if someone needed to use all the portC bits for something which needed a lot of simple digital I/O.

I don't see a connection for the programming tool such as PICkit2/3.

Should I add external I/O buttons / LEDS? External A/D? External keyboard?
I think that you should have some buttons and LEDs, maybe four of each, eight if you have room.
Also one or two variable analogues, 0 to 5 volts.
Have the I/O connect to terminals so that they can connect to any PIC I/O with simple jumper wires.

JimB
 
Oh damn I forgot the ICSP connector!!!!!
Thanks Jim, will add that this morning!!!

SDI and SDO expansion ports (SPI) are useful only if you assume connecting a SPI peripheral. Otherwise, SDI and SDO are sw programmable to be I/O ports! Same thing for I2C.
 
--Add a 100n from MCLR to ground. Not really required. I don't usually put one on my PICs sitting on prototype board build ups, but always put them in on a 'final product' PCB.
--5v / 3.3v switchable
--pads for the caps for the crystal???

First post says 16F887, from then on shows 16F877A. Which is it?
Why starting with such old PICs? There are newer, better, cheaper PICs that'll drop right in place of the'877A, with much better feature sets. eg. PIC18F46K22 comes to mind for starters...

If/when you need some serious horsepower under the hood, drop in one of these:
https://www.mikroe.com/mini/stm32/
Haven't used one myself yet. Yes, it's a whole different architecture, but it's on my list of things to try out.
 
SDI and SDO expansion ports (SPI) are useful only if you assume connecting a SPI peripheral. Otherwise, SDI and SDO are sw programmable to be I/O ports! Same thing for I2C.
Yes I realise that, but it just feels wrong to have unused devices hanging off I/O lines.
Probably will work fine, but it just feels so wrong!

JimB
 
Understand your point JimB, but keep in mind that this board is aimed to be used by students at my school, where we're given several projects using different peripherals. This is why I added several connectors. Maybe there's too many of them and should consider reducing their amount!!!

And Skimask87, I consider using these older pic's to give students the chance to learn PIC's architecture. I've started with a 16F88 and did several projects on it, but now I needed a DataBus so I've bought a bigger PIC. My aim is to give them a dev board so they can start coding some functions like I2C communication or serial port interrupts, etc etc. The aim here is not to have the most powerful board, but the most educatonal board for student's who never ever coded on a PIC! I'll consider adding the capacitor for debounced MCLR and 5-3.3v switchable, sounds logic to have them directly on the board thanks!
 
Overall I think that your design is looking good.

A few comments on the 20Mhz oscillator.

Beware if the exact crystal that you use, I have used "junk box" crystals which were intended for 3rd overtone operation and only ran at 20/3 Mhz when connected to the PIC.
You need crystals that are made for fundamental mode operation.

If you are using the 16F887, are you aware that there is a built-in 8Mhz oscillator which will save you a couple of I/O pins and the cost of a crystal and two capacitors.
The downside of this of course is that you will lose some processor speed.

JimB
 
And Skimask87, I consider using these older pic's to give students the chance to learn PIC's architecture. I've started with a 16F88 and did several projects on it, but now I needed a DataBus so I've bought a bigger PIC. My aim is to give them a dev board so they can start coding some functions like I2C communication or serial port interrupts, etc etc. The aim here is not to have the most powerful board, but the most educatonal board for student's who never ever coded on a PIC! I'll consider adding the capacitor for debounced MCLR and 5-3.3v switchable, sounds logic to have them directly on the board thanks!
Sure, I can understand that. My main point was that the 18F's have just that many more functions/modules/etc built-in to them, at more or less the same cost, with practically the same code and methodology as the 16F's.
What software are you using for the coding side of things?
As an aside, I'm just curious about the software. I use PicBasicPro from melabs as my main code with a generous helping of straight assembly thrown in when I need/want it for speed, size, etc. Some people try to flame me vigorously for using "basic", but hey, you go with what you know and know inside and out.
 
JimB : Thanks, yeah I'm actually using high quality crystals for my designs! And yeah I know that there's an inside 8MHz crystal, I could add headers for an external crystal only if necessary, good idea.
skimask87 : I read the 18F46k22 datasheet , really interesting PIC. I think it's almots PIN compatible with the 16F887a, I'm slowly considering updating the main MCU with this chip. It's not that expensive and there's a lot of internal included peripherals... Thanks! I'm using MikroC 6.0, and most of my code was ported from ASM programs made under MPLAB. Basic is a good way of coding, used to like to language. Now i'm more into C coding, and got a nice C++ base at school under 8051 family.

Thanks everyone, really like your comments.
 
Wayyyy back when I was playing around with MP3 players, I started off with a 16F877A, changed that to an 18F452, then a 18F4620, then a 18F46K22...and the kicker, did it without changing the circuit other than changing the main regulator from 5v to 3.3v for the PIC only.
Sure, there were a few firmware 'gotchas' and if I remember what they were, I'll throw them up here.
Overall, piece of cake. Went from 20Mhz & 14KB flash, up to 64Mhz & 128K flash, and a load more peripherals.
 
Hello Everyone!!!!
First of all, thanks to everyone who helped with their ideas, saved me a lot of conception trouble. Here's pictures of the finished board, working pretty well !!!
Included : DS1307, 2xPCF8574(1 for the LCD, other for expansion IO over IIC), 5v regulator, USB power or Battery supplied, PORTA/B/C/D expanders, bluetooth header (working pretty well though!), 4 adressables LED'S and 2 user programmable sw buttons.

Pictures !

1512093_10152788744449045_2944539999244508443_o_zpse3c79dab.jpg

10333806_10152788744444045_654397758869070965_o_zps5d7024c9.jpg
 
Nice.

Thank you for showing the finished product.

JimB
 
Status
Not open for further replies.

Latest threads

Back
Top