| Author |
Message |
Buriedcode
Joined: 06 May 2004 Posts: 327 Helped: 34 Location: London
|
22 Aug 2006 5:19 diy pic development board |
|
|
|
|
Hi,
I've posted this in a couple of forums, but it doesn't hurt to get as many opinons/ experiences as possible. I'm currently designing a development board for the PIC, namely the 16F877A, since this has pretty much every peripheral I would need for PIC development, loads of code space, and I/O's. I was hoping to design it to take multiple PIC's, but that would be a bit pointless because the F77A has pretty much everything..although I might try and add a socket for the 18F series (new to me).
So, my quesiton is, what would you like to see on a PIC development board? I mean, I've got the basics:
- Power
- Versitile clock (R/C and xtal socket)
- RS232 maxim chip, and a DB9 connector
- 'Standard' pinout headers for each port (VCC,GND and 8 I/O')
- SIL sockets for breadboarding with wires, and quick I/O access
- Special headers for things like SPI/I2C, PWM, USART, ADC etc..
Extra's might include:
- SMT leds (less space)
- push buttons
- LED bargragh
- Auxilury RS232 connector, selectable by logic multiplexers (one UART, two connectors).
Obviously I'm limited on board space, but any extra's people think would be handy to have, please post your idea's.
There are many things I could 'tack on' to it, but the odd header for something specific like, a character LCD wouldn't hurt. Also, a rotary encoder might come in handy.
Also, bootloading would be very useful (no unplugging of chips, or isolating pins for ICSP). I was advised to built a ICD2 clone, but to be honest, I don't think I would use it much, and I'd rather spend my resources on a full dev board with bells and whistles.
I would like to build this so I feel I can do almost anything with this PIC with reliative ease, then I can concentrate on starting with AVR's, and possibly ARM micros. I've attached a small picture from Eagle3D with the layout, comments welcome.
Regards,
BuriedCode.
|
|
| Back to top |
|
 |
Google AdSense

|
22 Aug 2006 5:19 Ads |
|
|
|
|
|
|
| Back to top |
|
 |
pama
Joined: 02 Dec 2005 Posts: 14 Helped: 8
|
22 Aug 2006 9:00 pic-development-board |
|
|
|
|
Hi,
I just want to mention that some years ago I also made a mistake when I considered that this 16fó877 "has pretty much everything" is really true. I spend a lot of time to make a good board for it, and after some time a had to swap to the 18f series, wich is more powerfull.
I think that it's also usefull to have a USB connection, CAN connection. And also I made a mistake when I was thinking just with 5 V logic, and after the first applic. with some 3V logic devices I had to make a level conversion for my 'powerfull' 16f877.
best wishes
pama
|
|
| Back to top |
|
 |
luben111
Joined: 02 Mar 2002 Posts: 105 Helped: 2
|
22 Aug 2006 10:16 pic development board with io header |
|
|
|
|
Try to change the RS232 connector to USB and use FTDI232 chip for the serial connection . In this case you'll not need additional power supply. Keep in mind that on the new notebooks there is no RS232 connector.
And I think is useful to have some LCD text display (2x16 or something like that) or a connector to such display, that could be bought separately.
Added after 4 minutes:
And I don't see any holes for mounting the board, if somebody accepts to make a project based on your board he'll be in big trouble to fix the board. You need enough space around the holes (3.5 mm diameter).
And you need some good ground plane/ big diameter whole connected to GND in case you use oscilloscope. it's really boring when you want to measure something and to search some GND place where to put the clip of the sond.
|
|
| Back to top |
|
 |
Buriedcode
Joined: 06 May 2004 Posts: 327 Helped: 34 Location: London
|
22 Aug 2006 12:05 rs232 board diy |
|
|
|
|
Hi,
thanks for your replies!
pama, excellent point there. I can't say I've done much research into other PIC's, and I suppose they are backward compatable, so all the code snippets I've written won't be wasted. I suppose I *could* make up some boards with SMT PIC 18F series on them, that could plug into the uC socket. Of course, I'll have to look into the pinouts to see how easy that would be. it's also down to 'software' for compilers and programmers. I can't say I have the money to buy something expensive, so the PIC I'll use will have to be supported by a 'free' software (mikroC for example).
3v logic would probably cause a problem, cheers for reminding me, I got some LCD's that use it, and some other special IC's that aren't tolerant. The main reason I wanted to use the F77A was because of the reasons I gave before, but also because I have one of course, I also already have most of the components for the dev board, which are independant of the micro used..all good there. As for USB? yes, it would be very handy indeed, both for bootloading and general purpose connections, but CAN? can't say I've ever used it, but as always, it'll be nice to have that option.
luben111,
I have seen some boards with the FTDI232 on them, and it would be very nice to have USB, that is, if the PIC I choose doesn't have USB already again, I would have to research this, after all, I'm not planning on buying any programming software, I've been using the free version of MPLAB and IC-Prog. If I can find a bootloader for free, that works with USB, this will deffinately be an option. And, if I have enough board space, I'll have the RS232 connection as well (good for basic tihngs and backup).
As for ground planes, and tp's I was going to add them to the final design, this was just an example of the 'look' of the layout. I realise its not about looks but it is about where I place the connectors, it took 10 minutes in eagle. Great points though, I don't seem to put mounting holes on dev boards for some reason, but if its fixed to something, I could wack a breaboard on there, for a full dev system.
Thanks guys, I'm limited on board space but, if I go for a single chip, it could be SMT, if its a socket, that means I could just make some 'carrier' baords for different PIC's. As for PIC's I'm open to suggestions...there are so many these days....
Thanks once again,
BuriedCode.
|
|
| Back to top |
|
 |
kender
Joined: 19 Jun 2005 Posts: 1231 Helped: 88 Location: Stanford, SF Bay Peninsula, California, Earth, Solar System, Milky Way
|
22 Aug 2006 19:20 diy spi io board |
|
|
|
|
| Add mounting holes.
|
|
| Back to top |
|
 |
mohan_200484
Joined: 13 Jul 2006 Posts: 31
|
23 Aug 2006 3:08 pic development board |
|
|
|
|
| Hi try to introduce ADC port so that we can connect any external adc if we need.
|
|
| Back to top |
|
 |
Buriedcode
Joined: 06 May 2004 Posts: 327 Helped: 34 Location: London
|
23 Aug 2006 3:21 pcb for 40 pin pic development board |
|
|
|
|
Hi,
Kender:
| Quote: |
| Add mounting holes. |
Already done.
mohan_200484:
| Quote: |
| Hi try to introduce ADC port so that we can connect any external adc if we need. |
Hmm, depend on the ADC. As far as I know there are many interfaces for various ADC's. SPI/I2C, parallel, proprietary serial formats...even I2S. I assume for serial, the SPI would do, as it can be used for SPI, I2S and most serial formats with minimal siftware changes. Good point though.
BuriedCode.
|
|
| Back to top |
|
 |
nooknikz
Joined: 22 Apr 2002 Posts: 404 Helped: 22 Location: thailand
|
23 Aug 2006 4:38 diy 28 pin pic |
|
|
|
|
| include LED for testing this board . such as blink program
|
|
| Back to top |
|
 |
Buriedcode
Joined: 06 May 2004 Posts: 327 Helped: 34 Location: London
|
24 Aug 2006 14:21 diy development board |
|
|
|
|
Of course, LED's for power and in/out for RS232.
Thinking about using a USB>UART chip... I've been constantly looking at dev boards currently out there, and many seem to use it, however.... if I make the board for the 18F4552 (think thats the number) it'll have USB already. And for PIC's that don't have USB, I reckon I could pick up a cheap USB -> RS232 cable from ebay, which would be fine for using a laptop for bootloading, using the DB9 port (still think I might have two of these )
I did say I wasn't going to make it handle multiple PIC's but looking at the pinouts for 14-28 and 40 DIL PIC's, it would seem to be straight forward to add multiple sockets allowing me to use any PIC I have, because thankfully microchip have standardised the pinouts. A USB socket can be disconnected via jumpers for non-USB compliant PIC's. So, using FTDI232 would use up too much space...but I will add a header so that a 'piggyback' FTDI232 board and USB connector could be added if needs be.
I must say, I would love to have a large SMT 18F PIC on there, but I don't want to limit myself by having just one chip, and sometimes I think it would be a bit of a hassle to use such a lage micro for very simple apps that won't use any peripherals, as theres many more instructions for code.
So, changes so far...
Multiple sockets for different PIC's (16/17/18F's)
Header for UART>USB board.
USB socket, via jumpers for use with USB compliant PIC's
Two RS232 sockets (with max232)
Small SMT leds for power and comms indication. (as well as 8 leds on a port for debugging).
PSU switchable for 3.3v to 5v. (1-2A).
Multiple headers for SPI, I2C, LCD's etc..
Again, I'm limited on board space, but what I'm mainly concerned about is exapansion. I want to be able to have my IDC headers for each port, using ribbon cables but ALSO, some way of easily connecting the board to a breadboard. In the picture I've got some sil sockets for wires (connector blocks are too large) but I could also knock up some simple PCB's with a socket and pin header, so that I can plug this into the board's headers, and have the header in a breaboard (including connections to the power rails). Think this has everything covered.
Again, any more idea's are welcome, apart form the obvious.
|
|
| Back to top |
|
 |
ech
Joined: 19 Feb 2005 Posts: 22 Helped: 1 Location: Belgium
|
24 Aug 2006 15:35 pic diy developement board |
|
|
|
|
Hello,
How would you solve the problem when you need multiple spi slave devices to your pic ? ( i/O expander, digi pots ,... )
I though about using a 74138 decoder to generate the -CS signal using 3 port bits.
How about adding a 3 state buffer for cases where the spi device does not have open drain/collector data out ???
Maybe space for an IR sensor optionally connected to one external interrupt pin would be usefull ???
Just my 0.02€
Regards
Etienne
|
|
| Back to top |
|
 |
Buriedcode
Joined: 06 May 2004 Posts: 327 Helped: 34 Location: London
|
24 Aug 2006 17:58 pic 40 pin dev board diy |
|
|
|
|
hello there,
| Quote: |
| How would you solve the problem when you need multiple spi slave devices to your pic ? ( i/O expander, digi pots ,... ) |
Good question. Well, I'll have a very simple header for SPI, SCLK, SDAT, GND and VCC, and possibly CS. But, for multiple connections to SPI I will obviously need multiple CS lines as you rightly pointed out. Seeing as how this is a dev board, I was simply going to leave the CS line, because if I hardwired certain pins for CS's (say 4 pins) I might not be able to use those pins for anything else, and considering I'm planning on being able to use multiple PIC's, the pins used up there might be needed for different peripherals.
In answer to your question, I would just have to connect the SPI (clk, data) to all the divices, and use one of the port headers for CS lines. I will have one SPI header for the 'master/slave' which will have a CS pin, but for the other three no CS. That will let me choose which I/O's I can use for the CS's at the expense of having to manually connect a wire from that port header to a device.
Love your 74138 idea. I've used this chip many times for I/O expansion, but never thought of it for multiple SPI chip selects (seems so obvious now). I guess I could make a seperate board that takes in the SPI, and a few extra I/O's, and has a few SPI headers for devices. It'll save board space no having it on board, and can be knocked up on stripboard. Same deal for an I2C board. Everything I put on the dev board takes up space, so anything thats simple (strip board) that can be made 'external' is ideal.
IR sensor? good call. Don't think I have enough space for a custom design (photodiode, circuit, filters etc..) that will allow me to determine carrier and data rate, just one of those 38Khz reciever modules, or even a small IrDA module. Maybe just a specific header for an IR piggyback board. Either way, it only uses a small SIL socket (4 pins?) and a jumper for the interupt (which I completely forgot about).
Cheers for your help, you got a few points out of that
Keep em coming people!
BuriedCode.
|
|
| Back to top |
|
 |
Buriedcode
Joined: 06 May 2004 Posts: 327 Helped: 34 Location: London
|
27 Aug 2006 19:57 pic development board with piggybacking boards |
|
|
|
|
Hi, just a quick update if anyone is interested
Ok, so I've designed my board to take almost all 18/28/40 pin DIP devices (18 pin with a 40 DIP adapter). I'm also looking towards using the 18F4550 most of the time, which has its own USB peripheral. However, regarding 'bootloading', has anyone used an 'of-the-shelf' USB to RS232 cable, to bootloadd via the UART?
I'm just wondering whether to include a USB to UART chip on board, for when I program (bootload) from a laptop. The chip and board space it uses, would be more expensive than buying a ready-built USB to Rs232 cable, which I'm sure I could h(at)ck to get it to power my board from USB. Of course, I'll only need this for PIC's other than the 18F4550, or any other USB compliant 40 pin ones. I could use the serial port on a laptop to bootload, but I wanna keep my options open and be able to do almost anything via USB (except HV programming).
Also, if I have some board space left when I send my design to Olimex, I might knock up my own USB PIC programmer, that generates the 13V form the USB power. It should also be able to be a standard USB to serial cable. Any idea's? siggestions?
BuriedCode.
|
|
| Back to top |
|
 |
guillar
Joined: 25 Mar 2006 Posts: 13 Location: PHILIPPINES
|
28 Aug 2006 7:52 pic development board clone |
|
|
|
|
Sir,
Im xcircuit, a beginner. Try including stepper motor , speaker (for frequency experiments), LED Matrix modules / Graphing modules, Ethernet...
It would be a great help for beginners like me.
..just my opinion sir
thanks.
Respectfully yours,
---xcircuit ---
|
|
| Back to top |
|
 |
Buriedcode
Joined: 06 May 2004 Posts: 327 Helped: 34 Location: London
|
31 Aug 2006 12:02 diy usb development board of pic |
|
|
|
|
Hi,
| Quote: |
| Im xcircuit, a beginner. Try including stepper motor , speaker (for frequency experiments), LED Matrix modules / Graphing modules, Ethernet... |
Wow, lots of things there. Can't say I'll be doing much for ethenet or stepper motors/speakers, but that has just reminded me that some PIC's have multiple PWM outputs... so its time to add more headers.
The board is becoming quite crowded already, but I've been held up but looking for availability of connectors..thats the trouble with designing things on a budget, the design is largely determinded by parts, and their availability/cost
I've got a massive list of 'module boards' already, most of which can be cheap on stripboard for quick and dirty prototpying. I'm still looking for idea's for expansion headers. So far I've got the pin headers, 10 pin, for each port (8 I/O's plus VCC/GND) aling with female headers for plugging in individual wires, various app speicific headers (SPI, PWM, UART etc...) and I've just added a massive pin header for all I/O's just incase I want to make up another board with a load of switches/leds/connectors etc..
One thing I haven't asked, is, what dev/demo PIC boards do people use? And what do they like about them compared to other boards? Might have to take some idea's from ready made products, but I'm not selling this, so I'm sure it won't hurt.
Regards,
BuriedCode.
|
|
| Back to top |
|
 |
bimbla
Joined: 13 Jul 2001 Posts: 541 Helped: 13
|
31 Aug 2006 12:44 picbasic development for rotary encoder |
|
|
|
|
Hi,
mikroE compilers come with free bootloader.
This is just in case you are still looking for one.
Regards,
bimbla.
|
|
| Back to top |
|
 |
Buriedcode
Joined: 06 May 2004 Posts: 327 Helped: 34 Location: London
|
01 Sep 2006 16:04 Re: PIC development board, DIY |
|
|
|
|
Hi,
| Quote: |
| mikroE compilers come with free bootloader. |
Cheers! I've been hunting for bootloaders, and there seem to be quite a few, although I wanted to get the hardware out the way first. As with all development board design, the hardest part (by far!) is deciding what is needed and what isn't. I'm pretty obsessed with 'expansion', I want loads of headers to make it easy to add on things, and I've based it on this one:
http://www.rentron.com/PicBasic/FLASH-LAB.htm
A very handy 2x20 female header for adding an expansion board on top, and easy prototyping with breadboard. I'll also have headers for each port. The PCB design so far is terribly complicated, vias everywhere
As always I'm a perfecitonist, but ultimately I need to get this out the way, so I'm just adding headers for SPI/I2C/UART and possibly PWM for all 18/28/40 pin devices. Any advice regarding power (5/3.3v) USB, or anything thats useful in your current dev boards, please advise.
Regards,
BuriedCode.
|
|
| Back to top |
|
 |
skot123
Joined: 28 Aug 2006 Posts: 12
|
01 Sep 2006 21:49 Re: PIC development board, DIY |
|
|
|
|
| Buriedcode wrote: |
One thing I haven't asked, is, what dev/demo PIC boards do people use? And what do they like about them compared to other boards? |
My (ugly but functional) devboard is based loosely off of the PIC assembly tutorial from http://www.winpicprog.co.uk/pic_tutorial_hardware.htm (buit on stripboard)
I am using a 16f88 (mainly because it was the first PIC I ever touched so I am most comfortable with it)
PORTA and PORTB are taken to female header blocks
(Setup as [+|7|6|5|4|3|2|1|0|gnd)
RB2 (RX) and RB5 (TX) are routed through a dpdt switch that toggles between connecting to a RS232 level shift board or going to the PORTB blocks
RA5 (MCLR) is routed to a reset button
I use Sparkfun’s Bloader for a bootloader.
|
|
| Back to top |
|
 |
Buriedcode
Joined: 06 May 2004 Posts: 327 Helped: 34 Location: London
|
11 Sep 2006 19:28 Re: PIC development board, DIY |
|
|
|
|
Hi,
| Quote: |
| My (ugly but functional) devboard is based loosely off of the PIC assembly tutorial from h**p://www.winpicprog.co.uk/pic_tutorial_hardware.htm (buit on stripboard) |
Ahh yess, I believe thats Nigel Goodwin's work, basic, but more than adequate for most apps.
| Quote: |
| RB2 (RX) and RB5 (TX) are routed through a dpdt switch that toggles between connecting to a RS232 level shift board or going to the PORTB blocks |
Ahh yes, this has been bugging me, whether to switch the Tx/Rx pins completely, or permentantly connect them to the PORTB header, and have jumpers for connection to a MAX232 (or another level shifter). Even to the point where I looked into CMOS/TTL mux's, controlled by one pin on the PIC (or a simple spst switch). I always get bogged down with possibilties. However, ultimately, I'll either use the pins for RS232, or something else, rarely both at the same time, so I've just added jumpers. I shouldn't run out of I/O's, because the board is designed to take all 18-40 PIC's (DIL's). With some adapters for the SMT versions.
Cheers for posting, tihnk I will have a header for each port after all (as well as the main 40 pin header for piggy back boards).
BuriedCode.
|
|
| Back to top |
|
 |
gam
Joined: 25 Mar 2004 Posts: 117 Helped: 4
|
12 Sep 2006 9:09 Re: PIC development board, DIY |
|
|
|
|
Suggestion:
- Add a general purpose amplifier chip (74001) that can be used to drive a stepper motor or some really bright leds.
- a buzzer on board that can be connected to an IO pin with a wire or a jumper is useful also
- an on-board 4x4 keypad is useful, but if you don't have the space, you can make it on a separate board and connect it through a ribbon cable and IDC connectors
- IR Receiver and IR Led for remote control applications
GAM
|
|
| Back to top |
|
 |
gidimiz
Joined: 03 Feb 2005 Posts: 428 Helped: 77
|
12 Sep 2006 20:46 Re: PIC development board, DIY |
|
|
|
|
Hi,
I also build some of the boards by myslef. BUT sometimes you start adding so many things to the board, that at the end it will cost you much more then buying a ready made one!
Have a look at Microchip Mechatronics dev board.
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023837&part=DM163029
It has everything that you have talked about here and more. The only thing that is missing is the connectors to other 18, 28 PIN PIC. But that you can buiold your self.
Good luck.
|
|
| Back to top |
|
 |
Buriedcode
Joined: 06 May 2004 Posts: 327 Helped: 34 Location: London
|
16 Sep 2006 17:15 Re: PIC development board, DIY |
|
|
|
|
Hi,
| Quote: |
| I also build some of the boards by myslef. BUT sometimes you start adding so many things to the board, that at the end it will cost you much more then buying a ready made one! |
That IS true Also, when you take the time to design into consideration, a ready made one significantly cheaper. Alas, I have almost all of the parts (except the PCB). I must say, I was impressed with that particular board, had almost everything, and for a very reasonable price.
However, manymuch 'extras' is on it, its always convenient to have direct access to every I/O somewhere on the edge of the board. Large double row pin headers are ok, but that would require making up many 'socket' wires for individual I/O's, or just plugging in and IDC cable...but what if we only want access to a couple of I/O's? bit of a hassle.
That said....as with all the suggestions people have given in this thread, might 'copy' some idea's from that board
Right, I know its going slow, but I'm making progress, after all, its a development board, not for a sibgle application, but for any application I can think of, so its a very difficult thing to do. My inital idea has been taken... check this out:
http://www.plite.co.uk/flashlab.html
A stackthrough connector was what I had in mind, to allow multiple boards to be stacked, each having access to every I/O, with the main board containing the essentials (power, Xtal, RS232, USB, jumper settings etc..). Great, and I have more board space to play with here, I also like the idea of using the stackthrough socket to plug in wires for breaboarding (am I repeating myself??). On top of all of this, 4 10 pin headers for each port at the sides for plugging in modules without having to use a stack board, its just a question of whether there is enough room between the PCB stacks for IDC cables, or should I have these at a right angle?
The key thing I'm after is versatility. I could add lots of led's and switches but how often would I need them? at least with the above method it would be very simple to attach stripboard/breadbroad prototypes to it, lots of headers, connectors, and jumper settings. Right now, I'm just stuck getting the layout right.
Thanks, and as always, any advice (or, 'help' woudl probably be a better word)
BuriedCode.
|
|
| Back to top |
|
 |