Overclockers Australia Forums

OCAU News - Wiki - QuickLinks - Pix - Sponsors  

Go Back   Overclockers Australia Forums > Specific Hardware Topics > Electronics & Electrics

Notices


Sign up for a free OCAU account and this ad will go away!
Search our forums with Google:
Reply
 
Thread Tools
Old 21st December 2006, 11:32 PM   #1
nux Thread Starter
Member
 
nux's Avatar
 
Join Date: Jan 2002
Location: Melbourne
Posts: 16,790
Default My 18F2550 Microcontroller Board

Well I've just finished designing a PIC prototype board based on the USB enabled 18F2550 chip. Its for the Hackaday competition that ends in a few days.



I made a DIP version and SOIC version.

The USB port is really useful, I've modified the Microchip USB bootloader for my different pin configuration and can program it via USB in seconds.

I've made a small writeup of it here including schematics and stuff.

Theres also some more pictures of the two boards I made, as well as 3D renders and stuff here.

Questions/Comments?

Last edited by nux; 21st December 2006 at 11:34 PM.
nux is offline   Reply With Quote

Join OCAU to remove this ad!
Old 21st December 2006, 11:54 PM   #2
LethalCorpse
Member
 
LethalCorpse's Avatar
 
Join Date: Mar 2003
Location: Harris Park, NSW
Posts: 3,799
Default

Neato. Bit concerned about the modeller placing the micro off the pads, but other than that it looks good. I'm not a fan of wasted PCB space though, I know it's a business card sized board and you only needed part of it, but that's a lot of wasted real estate. Needs more leds and switches. Needs more cowbell.

I also think the logo should be made of components and tracks.
__________________
Sig Of Shame removed.
LethalCorpse is offline   Reply With Quote
Old 22nd December 2006, 12:01 AM   #3
nux Thread Starter
Member
 
nux's Avatar
 
Join Date: Jan 2002
Location: Melbourne
Posts: 16,790
Default

Quote:
Originally Posted by LethalCorpse
Neato. Bit concerned about the modeller placing the micro off the pads, but other than that it looks good. I'm not a fan of wasted PCB space though, I know it's a business card sized board and you only needed part of it, but that's a lot of wasted real estate. Needs more leds and switches. Needs more cowbell.

I also think the logo should be made of components and tracks.
Yeah not sure why the chip was placed off the pads, I just used Eagle3D to model it. I didn't follow it to make the actual board though

I left about 25mm of spare length to put text and stuff so it could be used with no components as an actual business card.

I was going to add more bells and whistles like LEDs and Switches, but I wanted to leave the two CCP pins for servos, leave the 5 Analog pins for sensors and stuff, the USART pins for, well, USART, and leave all of PORTB for a byte wide I/O bus. That left the MCLR and two other pins, which I used for an LED and Switch. Plus I've got a seperate I/O board I can easily connect using some premade wires with single female header things (like the things on the left here).

Last edited by nux; 22nd December 2006 at 12:04 AM.
nux is offline   Reply With Quote
Old 22nd December 2006, 12:02 AM   #4
dakiller
(Oscillating & Impeding)
 
dakiller's Avatar
 
Join Date: Jun 2001
Location: SE Melb
Posts: 6,151
Default

0.1" grid of holes in the unused area to the right, while still keeping the silkscreen logo in there
Few led's and dip switches
hd44780 lcd port compatible header
Plenty of room to make it really feature packed, more like the Futurlec development and prototype boards
__________________
In memory of
Cheers

Z
dakiller is offline   Reply With Quote
Old 22nd December 2006, 1:33 AM   #5
Goth
Grumpy Member
 
Goth's Avatar
 
Join Date: Jun 2002
Location: /dev/null
Posts: 9,303
Default

That looks good.

I've got a couple of 18F4550s recently myself and i've been planning to design something similar to this.

You said you're bringing PortB out to a full byte-wide row of headers.

I would use a 14-pin or 16-pin header block, and extend that idea to be something compatible with a HD44780 interface. Of course, the exact pinout for those things (specifically the power rails ) varies sometimes between different manufacturers, but making a cable with the matching pinout is something the end user can be responsible for. Of course, this requires a couple of extra pins on the chip for the control signals.

You can always just use the 8-bit port in to the microcontroller by itself, if you need to.

As an aside, in Eagle, what width and isolation numbers are you using for the Polygon, to make the groundplane? I can't seem to make groundplanes that look/seem right, and yours do.

Where did you source your PIC chips from?

What kind of PCB process have you used? Toner transfer with cheap paper? It seems to have come out really well.

With the pin headers in Eagle, how do you set up the silkscreen, with the label of each pin, etc?

Cheers.
__________________
"How is anyone supposed to know that this isn't just a bunch of crap?" - Richard Feynman.
Goth is offline   Reply With Quote
Old 22nd December 2006, 1:43 AM   #6
nux Thread Starter
Member
 
nux's Avatar
 
Join Date: Jan 2002
Location: Melbourne
Posts: 16,790
Default

Thanks for the comments guys. Sorry for the long replies.

I've got a few 18F4550 chips as well, might try and expand this board next month. I might even get some of these madeup professionally if anyones interested in some.
Quote:
Originally Posted by Goth
You said you're bringing PortB out to a full byte-wide row of headers.
Yep, you can see it at the bottom right labelled here.
Quote:
Originally Posted by Goth
I would use a 14-pin or 16-pin header block, and extend that idea to be something compatible with a HD44780 interface...
It should be pretty easy to modify, but I think that requires a few more than 8 pins unless you use the LCD in 4-bit rather than 8-bit mode. To be honest, I've never hooked up an HD44780 LCD before. Its on my to-do list.
Quote:
Originally Posted by Goth
As an aside, in Eagle, what width and isolation numbers are you using for the Polygon, to make the groundplane? I can't seem to make groundplanes that look/seem right, and yours do.
I think they're at 0.024. Had to work out how to do it, you use the Change tool, select Isolate->0.024 and choose an edge of the ground plane. You probably know that already though. The DIP version I think was 0.032 for the one I made, which was an older version. The 0.032 isolation seems better for homemade boards.
Quote:
Originally Posted by Goth
Where did you source your PIC chips from?
Microchip
Quote:
Originally Posted by Goth
What kind of PCB process have you used? Toner transfer with cheap paper? It seems to have come out really well.
Yep, got my best transfer to date with the SMD version: http://www.nuxie1.com/gallery/v/18F_...0733e.jpg.html
I found scrubbing the PCB blank really well and using a piece of disposable kitchen towel between iron and paper to help a lot. I basically iron until the paper is slightly burnt.
Quote:
Originally Posted by Goth
With the pin headers in Eagle, how do you set up the silkscreen, with the label of each pin, etc?
I just manually added them using the text tool. A bit time consuming.

Last edited by nux; 22nd December 2006 at 1:47 AM.
nux is offline   Reply With Quote
Old 22nd December 2006, 2:09 AM   #7
Goth
Grumpy Member
 
Goth's Avatar
 
Join Date: Jun 2002
Location: /dev/null
Posts: 9,303
Default

Quote:
Originally Posted by nuxie1
It should be pretty easy to modify, but I think that requires a few more than 8 pins unless you use the LCD in 4-bit rather than 8-bit mode. To be honest, I've never hooked up an HD44780 LCD before. Its on my to-do list.
8-bit data bus (Or 4 bit) plus two extra control lines, plus 5V rail and ground, plus a couple of other pins which are usually just grounded, plus the backlight where applicable.

So there's not a huge amount of complexity there.
__________________
"How is anyone supposed to know that this isn't just a bunch of crap?" - Richard Feynman.
Goth is offline   Reply With Quote
Old 22nd December 2006, 11:28 AM   #8
GooSE
Member
 
GooSE's Avatar
 
Join Date: Jun 2001
Location: Sydney
Posts: 6,409
Default

Well done, that's pretty impressive work.

Cheers for the bootloader as well. I might give it a crack when I get some free time.
GooSE is offline   Reply With Quote
Old 22nd December 2006, 12:38 PM   #9
dohzer
Member
 
dohzer's Avatar
 
Join Date: Jan 2002
Location: Melbourne
Posts: 5,319
Default

Nice one.
I may have to look into some of those USB PICs. I'm getting sick of these RS232 chips.

You should hook up a few mobile phone vibrator motors to the underside of the board with some wheels so it can move.
dohzer is offline   Reply With Quote
Old 22nd December 2006, 12:45 PM   #10
ViPeR-7
Member
 
ViPeR-7's Avatar
 
Join Date: Jun 2001
Location: Newcastle, NSW, Australia
Posts: 518
Default

Heh, alot of people must've jumped on microchips samples after that hackaday post

I grabbed a small stack of 18F4550's, and i'm slowly coming up with projects to actually make use of the insane IO capabilities these things have. LCD Driver, game controller adapter, etc

As I understand it the 2 Capture pins are high resolution analog inputs (0.8ns), and i've seen a few guides of people making simple oscilloscopes out of them.

I've got 2 questions I need answered before I can start playing around with em tho.

I've seen people connect anything up to 5v to a 2550 capture pin, but from the 4550 datasheet it looks like the maximum voltage is closer to 1v... Which is correct?

And whichever way that goes, I'd very much like to be able to hook up higher than 5v sources to it. Google tells me what i'm looking for is called simply a 'voltage scaler', but I havent been able to find enough info to know what will do the job I want, and what ones will preserve a waveform instead of just flattening it.

One thought I had, which may be on the noob side, but i'll ask anyway; Common multimeters have a selectable range, and can measure plenty more than just voltages. Is it possible to buy, build or reverse engineer that system to connect to one of these controllers? Or if not, what should I be looking for? 'voltage scaler' is far too generic a name to be useful :P


Lastly nuxie1, this board looks quite similar to the CreateUSB interface, which was also linked off hackaday a few days after the competition was posted.

Not that its not a useful project on its own, i just doubt you'll get very far in the comp unless you add something else, maybe put the rest of that PCB to a good use?
__________________
++++++++[>+++>+++++++<<-]>[>>++>++++>+++++<<<<-]>>>++++++++.>----..----.<<<++.>-..>>+++++++...<<-.>>-.<+.>------.
<----.>++.<<-.<---.>+.>--.>---.--.<<+.>-.>+++++.<-.++++++++.>----.<---.>+++++++.<---.>----------.<<-.>>+++++.<+++++.>.
ViPeR-7 is offline   Reply With Quote
Old 22nd December 2006, 3:03 PM   #11
ltd73
Member
 
ltd73's Avatar
 
Join Date: Apr 2005
Posts: 1,724
Default

Quote:
Originally Posted by nuxie1
It should be pretty easy to modify, but I think that requires a few more than 8 pins unless you use the LCD in 4-bit rather than 8-bit mode. To be honest, I've never hooked up an HD44780 LCD before. Its on my to-do list.
if you're making more boards up, i'd suggest creating one that has a '164 parallel-to-serial shifter and a '595 serial-to-parallel shifter.

means that you can keep using a ucontroller with limited # of digital inputs/outputs but with lots of LEDs/buttons/HD44780 LCD.

i've got a fairly standard set of library code (MCC18 C) now for driving these things including button debounce & LCD control.


cheers.
ltd73 is offline   Reply With Quote
Old 25th December 2006, 1:23 AM   #12
Goth
Grumpy Member
 
Goth's Avatar
 
Join Date: Jun 2002
Location: /dev/null
Posts: 9,303
Default

Here's a board i'm going to make up for the 4550.

It's not perfect, and the layout isn't quite complete, but i'd like to hear what you all think.

I won't post the schematic right now as it's very quickly layed out and messy, and being a basic development board it's quite simple and self explanatory, really.

__________________
"How is anyone supposed to know that this isn't just a bunch of crap?" - Richard Feynman.
Goth is offline   Reply With Quote
Old 28th December 2006, 12:14 AM   #13
Goth
Grumpy Member
 
Goth's Avatar
 
Join Date: Jun 2002
Location: /dev/null
Posts: 9,303
Default

Anyone have any comments on the above?

I'd love to hear what you have to say before the hot stick comes out

Cheers.
__________________
"How is anyone supposed to know that this isn't just a bunch of crap?" - Richard Feynman.
Goth is offline   Reply With Quote
Old 28th December 2006, 10:21 AM   #14
GooSE
Member
 
GooSE's Avatar
 
Join Date: Jun 2001
Location: Sydney
Posts: 6,409
Default

Are the headers connected to the GPIOs male or female?

If they are male, have you considered using female ones? It's pretty rad this way as you can just pop a length of wire straight into the header.
GooSE is offline   Reply With Quote
Old 28th December 2006, 12:51 PM   #15
dohzer
Member
 
dohzer's Avatar
 
Join Date: Jan 2002
Location: Melbourne
Posts: 5,319
Default

Quote:
Originally Posted by GooSE
If they are male, have you considered using female ones? It's pretty rad this way as you can just pop a length of wire straight into the header.
You could do both male and female with some of the extra room.
dohzer is offline   Reply With Quote
Reply

Bookmarks

Sign up for a free OCAU account and this ad will go away!

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +10. The time now is 4:32 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd. -
OCAU is not responsible for the content of individual messages posted by others.
Other content copyright Overclockers Australia.
OCAU is hosted by Internode!