Shop OBEX P1 Docs P2 Docs Learn Events
Propeller USB dongle. First design — Parallax Forums

Propeller USB dongle. First design

TCTC Posts: 1,019
edited 2014-04-30 03:33 in General Discussion
Hello all,

For some time, I wanted to have a way to have a propeller with me all the time so I could try out code ideas, or to learn something new. So I came up with the idea of making a Propeller USB dongle, that I could attach to my keys. I found a clear USB case at DigiKey that I liked. So I ordered the case, and started designing what I would like the dongle to have. I wanted to have 8 leds, an SD card, and a way to access all the I/O ports.

There are some great designs on here, but from what I could tell the case must be taken apart to use the I/O ports. I didn't want to take the case apart. So I found pin headers that have a spacing of 1mm, and that was my starting point. After 3 tries to get what I wanted, I finally have the board designed. It took me 3 weeks to hand draw the board. Draw a trace, find out it does not fit, move a part, and do it all over again. My grid was set to 0.02mm, so I could move the parts very little to get them to fit.

It is going to suck putting the parts on, the caps and resistors are 0402 size. Did not have much of a choice.

Now I have to order the parts, and make sure they fit before I order the boards.

I have included the schematic, and the front and back of the board. Could someone please tell me if I may have forgot something? It is always better to get another(or more) set of eyes, to find mistakes.

Thanks
711 x 301 - 43K
711 x 301 - 59K
1024 x 770 - 48K

Comments

  • jmgjmg Posts: 15,173
    edited 2014-04-26 15:32
    Some of those PAD-PAD clearances look very small, especially on adjacent parts.
    Does you CAD pgm do clearance checking ?
  • TCTC Posts: 1,019
    edited 2014-04-26 15:44
    jmg wrote: »
    Some of those PAD-PAD clearances look very small, especially on adjacent parts.
    Does you CAD pgm do clearance checking ?

    Yes it does. The clearance is set to .006" . That is the min OSHpark can do.

    Here is a close up. In the selection circle it is .010" apart
    close up.jpg
    1024 x 497 - 41K
  • TubularTubular Posts: 4,703
    edited 2014-04-26 16:40
    I think there are some passives missing associated with the USB D+ and D- lines. Its hard to read the schematic because the forum software has blurred it, I think

    There are smaller reset buttons such as Omron KMR4 if that helps create some room.

    Generally though, this will be wonderful if you can make it happen. Going to get a ohararp or oshstencils stencil cut? Or pen soldering?
  • TCTC Posts: 1,019
    edited 2014-04-26 17:32
    Tubular wrote: »
    I think there are some passives missing associated with the USB D+ and D- lines. Its hard to read the schematic because the forum software has blurred it, I think

    There are smaller reset buttons such as Omron KMR4 if that helps create some room.

    Generally though, this will be wonderful if you can make it happen. Going to get a ohararp or oshstencils stencil cut? Or pen soldering?

    I mostly copied the Prop Plug for the USB, the only thing that is different is I added an inductor that is in the datasheet for the FT232R, and the DTR control. I did what Tracy Allen Suggested.

    Thank you for the button suggestion. Trust me, I wish I could use it. I had to go with Omron B3FS series because of the height. I wanted to have access to the button without opening the case, so I had to find a button that would fit in the case, but the push part has to be outside the case. From the board edge, to the inside of the case I have 2.65mm to work with. From the board edge to the outside of the case is 4.15mm. The button I found is 2.6mm for the main part of the button, and the push part is 4.3mm.

    I was planing on having OSHstencils make up a set. No way am I trying to lay solder by hand :lol:

    I have never heard of ohararp, I am going to have to check them out.

    Thank you


    *EDIT*

    I included a PDF of the schematic.
    pdf
    61K
    V3.pdf 60.6K
  • TubularTubular Posts: 4,703
    edited 2014-04-27 06:04
    My bad TC, the D- and D+ are fine for the FT232R. Many of the other FTDI chips eg FT231 suggest a few passives there, but FT232 is good without them

    Thanks for the clearer schematic. I couldn't spot anything wrong

    Look forward to hearing how it goes.
  • Tracy AllenTracy Allen Posts: 6,664
    edited 2014-04-27 13:46
    That is quite a routing job--Congratulations! I'm concerned about the spacing too. Even if it passes DFM checks at 6mm, I hope you have steady hands, good eyes and skill with tiny solder braid!

    If you want to Muntz the circuit a bit, you could leave off the pullup resistors on the 4 active SD card lines, and connect together the two unused lines (D1, D2) to one single pullup resistor.

    It's not for me to say, but for the intended purpose all pins available externally seems overkill and not too practical on 1mm headers. If you dedicate 4 pins to the SD card, 4 for the tx, rx, sda, scl, and 8 for the leds, that still leaves you with 16 lines to play with that have nothing else going on. Take leds direct to the prop via resistors and get rid of IC4. Get rid of one header or make the remaining one a more congenial size like 2mm or 0.1". The routing and spacing are so much easier.
  • TCTC Posts: 1,019
    edited 2014-04-27 15:52
    Tubular wrote: »
    My bad TC, the D- and D+ are fine for the FT232R. Many of the other FTDI chips eg FT231 suggest a few passives there, but FT232 is good without them

    Thanks for the clearer schematic. I couldn't spot anything wrong

    Look forward to hearing how it goes.

    It's cool. It was my fault, I should've added the PDF from the start. I was just being lazy :lol:
    That is quite a routing job--Congratulations! I'm concerned about the spacing too. Even if it passes DFM checks at 6mm, I hope you have steady hands, good eyes and skill with tiny solder braid!

    If you want to Muntz the circuit a bit, you could leave off the pullup resistors on the 4 active SD card lines, and connect together the two unused lines (D1, D2) to one single pullup resistor.

    It's not for me to say, but for the intended purpose all pins available externally seems overkill and not too practical on 1mm headers. If you dedicate 4 pins to the SD card, 4 for the tx, rx, sda, scl, and 8 for the leds, that still leaves you with 16 lines to play with that have nothing else going on. Take leds direct to the prop via resistors and get rid of IC4. Get rid of one header or make the remaining one a more congenial size like 2mm or 0.1". The routing and spacing are so much easier.

    Thank you so much. My steadiness is dependent on how much coffee I have had :lol:

    I knew from the moment I posted about this, that I would be re-doing the whole project. Because I am just one person, with his own ideas (not saying they are right). And I know, that there are a lot of people on here that would have way better ideas than just me alone. I kept asking myself "What would be the benefit of having all 32 I/O's available to me?" I was planing to use the male portion of the headers, and create a "daughter board" that would give me access to the I/O's. I am going to make up another design using your suggestions. I would rather have a min spacing of 0.012", and use 0805 or larger size parts.
  • T ChapT Chap Posts: 4,223
    edited 2014-04-27 18:01
    Why 0805? 0603 is just as easy by hand. Get a prototype stencil made of stainless or other material, then it will much easier.
  • TCTC Posts: 1,019
    edited 2014-04-27 18:15
    T Chap wrote: »
    Why 0805? 0603 is just as easy by hand. Get a prototype stencil made of stainless or other material, then it will much easier.

    Only thinking of the "what if's". I could be wrong, but I would assume hand reworking would be easier with 0805. I might just do the leds in 0805, and the rest being 0603.
  • T ChapT Chap Posts: 4,223
    edited 2014-04-27 18:31
    There is nothing to it. If you get a hot air rework station you can tweak parts, but if you get a stencil made, put some solder paste on it ( leaded, no clean), you will not need to rework anything. The Cuisinart Exact Heat and Manncorp no clean lead paste will make the process a breeze. If you want I can give you the oven values for a 6 minute profile that I have used to make a thousand or more boards perfectly every time. Hand rework with 0603 is just as easy as 0805. Even with a solder pencil if you had to tweak something, just get a lighted magnifier glass.

    http://www.alltechbuzz.com/cuisinart-tob-195-exact-heat-toaster-oven-broiler-stainless/

    http://www.smtsolderpaste.com/product-info.php?tin-lead-no-clean-type4-600g-tube-product-page-pid36.html

    If you have bridges on the Prop, then use flux on the pins and use a solder pencil to run the bridge out.
  • TCTC Posts: 1,019
    edited 2014-04-28 03:23
    T Chap wrote: »
    There is nothing to it. If you get a hot air rework station you can tweak parts, but if you get a stencil made, put some solder paste on it ( leaded, no clean), you will not need to rework anything. The Cuisinart Exact Heat and Manncorp no clean lead paste will make the process a breeze. If you want I can give you the oven values for a 6 minute profile that I have used to make a thousand or more boards perfectly every time. Hand rework with 0603 is just as easy as 0805. Even with a solder pencil if you had to tweak something, just get a lighted magnifier glass.

    http://www.alltechbuzz.com/cuisinart-tob-195-exact-heat-toaster-oven-broiler-stainless/

    http://www.smtsolderpaste.com/product-info.php?tin-lead-no-clean-type4-600g-tube-product-page-pid36.html

    If you have bridges on the Prop, then use flux on the pins and use a solder pencil to run the bridge out.

    That is wonderful, thank you so much for the advice. For the oven, this project would be a great test for my DIY reflow oven, that I am currently working on.
  • T ChapT Chap Posts: 4,223
    edited 2014-04-28 05:50
    I once created a PC app to control the oven using a thermocoupler. The app worked perfectly but required a computer hooked up. Eventually I just reverted to manually inputting the temps and opening the door at the end.

    1 minute 175
    1 minute 250
    1 minute 325
    2 minutes 400
    1 minute 500
    Open door

    Using the oven linked above and the solder linked, this provides a very consistent and reliable solder profile that is tried and true over many years. Obviously with a double sided board there is some extra effort involved to glue the parts on one side so they don't fall off.

    One suggestion on your schematic, if you really like seeing every connection then that is OK. But you can also put a short net on a pin, name the net, then put a net on another pin you want to connect to, name it the same thing and not reduce both time and effort to draw out your signal. After naming the net, use the label command to place a label next to the net. If you click on the net on one end, it will "light up" at all points that it appears on the board.
  • TCTC Posts: 1,019
    edited 2014-04-28 07:38
    T Chap wrote: »
    I once created a PC app to control the oven using a thermocoupler. The app worked perfectly but required a computer hooked up. Eventually I just reverted to manually inputting the temps and opening the door at the end.

    1 minute 175
    1 minute 250
    1 minute 325
    2 minutes 400
    1 minute 500
    Open door

    Using the oven linked above and the solder linked, this provides a very consistent and reliable solder profile that is tried and true over many years. Obviously with a double sided board there is some extra effort involved to glue the parts on one side so they don't fall off.

    One suggestion on your schematic, if you really like seeing every connection then that is OK. But you can also put a short net on a pin, name the net, then put a net on another pin you want to connect to, name it the same thing and not reduce both time and effort to draw out your signal. After naming the net, use the label command to place a label next to the net. If you click on the net on one end, it will "light up" at all points that it appears on the board.

    My oven I am working on has 2 thermocouples, 2 SSR's, and is able to monitor and control both the top and bottom side temperature of the board. That would allows me to have more options, and make it so the oven can do other things than just reflowing solder.

    Thank you for the suggestion on my schematic. I normally do what you suggested, but only if the connections are straightforward. For this one the I/O's don't go to the pinheader in an orderly fashion.
  • Cluso99Cluso99 Posts: 18,069
    edited 2014-04-28 16:57
    TC: Please don't take the following as being too critical. They are just some suggestions from my experience with designing tiny prop boards.

    A few suggestions...
    You can combine R3 & R4 (use a 5K or 3k3) - while the brightness will vary depending on whether 1 or 2 leds are on, it will save space, and it doesn't matter about the brightness. (you can also use a single led and resistor but 2 leds give better diagnostics)
    Forget the inductor on the 5V, replace C8 with 10uF 16V tantalum 0805 (shared with USB input and IC6) and put on input pins to IC6, and route FT232 5V power from the tantalum (not from the USB input power pin, and you can get rid of C13.
    Change the regulator to a SOT23 LM1117 3V3 equivalent version or MCP1700T-3302E/TT (forget disabling USB power - while not USB compliant it does not really matter) and remove IC5 & C12.
    Change C14 to 10uF 16V tantalum 0805 and place on the output pins if IC6. You can also use X7R ceramic. 0603 are also possible (6V or more)
    I like to have a 10K pullup on the props reset pin.
    Add 10uF 16V in parallel with C6 at the SD socket pins.
    You only require a 10K pullup on CS on the SD socket (other pins do not require a pullup).
    Therefore, the RN4 (4x10K) can be used for SDA, SCL, Reset & -CS.
    Unless you are really going to try and get parallel SD mode working, you can just connect the CS,DI,DO,CLK (Data In and Out, not 1 & 0).
    Not sure what value RN1 & RN2 are - if they are 10K then most likely you don't need IC4 (depends more on your use) and if you really need it then use a 74LVC541 or 74LVC573 or 74LVC245 etc.
    Your eeprom pn is mislabelled. I presume you mean 24LC512.
    Not sure about XL1. Have you thought about a tiny smt xtal ? CTX839CT-ND is a 6MHz 3.2x2.5mm smt xtal.
    I know you have a reset sw. But honestly, I have never used a reset sw, and it takes a lot of space.
    I use 0603 regularly now. But you need a little space around them to place them with tweezers, and the pads need to be a little larger for hand placing than m/c placing.
  • Cluso99Cluso99 Posts: 18,069
    edited 2014-04-28 18:18
    T Chap wrote: »
    I once created a PC app to control the oven using a thermocoupler. The app worked perfectly but required a computer hooked up. Eventually I just reverted to manually inputting the temps and opening the door at the end.

    1 minute 175
    1 minute 250
    1 minute 325
    2 minutes 400
    1 minute 500
    Open door

    Using the oven linked above and the solder linked, this provides a very consistent and reliable solder profile that is tried and true over many years. Obviously with a double sided board there is some extra effort involved to glue the parts on one side so they don't fall off.

    One suggestion on your schematic, if you really like seeing every connection then that is OK. But you can also put a short net on a pin, name the net, then put a net on another pin you want to connect to, name it the same thing and not reduce both time and effort to draw out your signal. After naming the net, use the label command to place a label next to the net. If you click on the net on one end, it will "light up" at all points that it appears on the board.
    Those are rather long times at high temps!!
    My whole cycle before turning off the heat is 260 secs, and I take the first 180 secs to reach 200C.
    I use a pcb under my pcbs to prevent the components on the underside from desoldering and falling off - its to hard to put glue spots for 0603 parts.
  • T ChapT Chap Posts: 4,223
    edited 2014-04-28 19:14
    The temps shown are the temps entered into the temp buttons, that does not mean it sits at those temps for the duration of the time shown. There is an alarm that tells when the temp is reached, assuming the temp is reached before the timer is reached. 400 is reached towards the end of the 2 minutes that is set in the timer for that phase. 500 is never reached in 1 minute for it's phase. This profile in real heat values is very close the actual average profile required. I am not suggesting glue on a 0603, it may stay attached with surface tension.
  • Cluso99Cluso99 Posts: 18,069
    edited 2014-04-28 19:47
    T Chap wrote: »
    The temps shown are the temps entered into the temp buttons, that does not mean it sits at those temps for the duration of the time shown. There is an alarm that tells when the temp is reached, assuming the temp is reached before the timer is reached. 400 is reached towards the end of the 2 minutes that is set in the timer for that phase. 500 is never reached in 1 minute for it's phase. This profile in real heat values is very close the actual average profile required. I am not suggesting glue on a 0603, it may stay attached with surface tension.
    There is a good heat profile/graph on the FT230X datasheet.
  • TCTC Posts: 1,019
    edited 2014-04-29 04:03
    Cluso99 wrote: »
    TC: Please don't take the following as being too critical. They are just some suggestions from my experience with designing tiny prop boards.

    It is quite OK. That is why I posted on here, because I know that there are a lot of people that have more experience than I do. And they are willing to share that experience with everyone.
    A few suggestions...
    You can combine R3 & R4 (use a 5K or 3k3) - while the brightness will vary depending on whether 1 or 2 leds are on, it will save space, and it doesn't matter about the brightness. (you can also use a single led and resistor but 2 leds give better diagnostics)

    I only did it that way because it was described in the datasheet. I don't have the knowledge or the experience to deviate to far from the datasheet. But I do agree 2 LED's are better for diagnosing. I wanted to put them on the top of the board, but I was having trouble finding a place for them I liked.
    Forget the inductor on the 5V, replace C8 with 10uF 16V tantalum 0805 (shared with USB input and IC6) and put on input pins to IC6, and route FT232 5V power from the tantalum (not from the USB input power pin, and you can get rid of C13.
    Change the regulator to a SOT23 LM1117 3V3 equivalent version or MCP1700T-3302E/TT (forget disabling USB power - while not USB compliant it does not really matter) and remove IC5 & C12.
    Change C14 to 10uF 16V tantalum 0805 and place on the output pins if IC6. You can also use X7R ceramic. 0603 are also possible (6V or more)

    I kept questioning myself if it had to be USB compliant. And I only had the regulator being tuned on when the FTDI was connected and active, because I was afraid of inrush currents. But now that I have read what you suggested, and took a step back to think of things. I can see that is a waist, the prop is in low power mode at first power up. and even when the prop boots to full power and everything is on, the FTDI should be connected by then.
    I like to have a 10K pullup on the props reset pin.

    I was thinking of that
    Add 10uF 16V in parallel with C6 at the SD socket pins.
    You only require a 10K pullup on CS on the SD socket (other pins do not require a pullup).
    Therefore, the RN4 (4x10K) can be used for SDA, SCL, Reset & -CS.

    I had one on it, but I removed it because I did not like the ground path that had to go around it. But now that I am changing things I will make sure it will fit. And I was only following suggestions from SD and others about the 10K's. Did not really know exactly "why" i needed them. Its not like there would be thousands of SD cards going in that slot. The holder I picked is a lift door style. The case would have to come apart, the board taken out, and the SD card door opened to have access to the SD card.
    Unless you are really going to try and get parallel SD mode working, you can just connect the CS,DI,DO,CLK (Data In and Out, not 1 & 0).

    Truthfully, I could not tell you or anyone why I put a SD card on the board, I did it because everyone is using SD cards a lot, and I just wanted to be able learn with it. So I really dont need parallel SD mode, it was just a mode I picked.
    Not sure what value RN1 & RN2 are - if they are 10K then most likely you don't need IC4 (depends more on your use) and if you really need it then use a 74LVC541 or 74LVC573 or 74LVC245 etc.
    Your eeprom pn is mislabelled. I presume you mean 24LC512.

    I did not have a value yet, since I did not exactly pick the LED's I was going to go with. It was a toss up between red LED's (Personal favorite for LED's), and blue LED's (thinking it would be easier to see). IC4 is a 74LVC541, I just forgot to correct the schematic. I use Eagle CAD, and I will use the closest thing I can find in the library. I will make sure the package is correct, and make sure the pins are correct. If I am happy with what Eagle has, I will just change the value to what I want. Same thing goes for the EEPROM, Yes it is supposed to be a 24LC512. Sometimes I am lazy, and don't feel like making or editing Eagles library. And yes I do know how to. I have been using it for years.
    Not sure about XL1. Have you thought about a tiny smt xtal ? CTX839CT-ND is a 6MHz 3.2x2.5mm smt xtal.

    I have never worked with an oscillator before, and I wanted to give it a go. I choose that oscillator because of the small package, the price is not bad, and it comes in a 5MHz and a 6.25MHz version.
    I know you have a reset sw. But honestly, I have never used a reset sw, and it takes a lot of space.

    I completely agree with you there. I have never needed a reset button. I will just power down, then power up to reset. But I was thinking that since this gets its power from the USB, and lets say I have code that will send something to PST after boot up, if the FTDI is not connected and ready, I could miss the stuff being sent to PST. That is another reason I was thinking of having the FTDI turn on the power when it got connected.
    I use 0603 regularly now. But you need a little space around them to place them with tweezers, and the pads need to be a little larger for hand placing than m/c placing.

    Thank you for all the great advice. I am so glad I came here before I decided to buy the parts, have the boards made, get the stencils cut, and find out I can not put it together. or worse find out that most of the parts have bridged and because of how close they are, can not be fixed.
  • TCTC Posts: 1,019
    edited 2014-04-29 04:05
    Please keep the advice coming. I am learning so much.

    Also, if anyone has any suggestions of something that could be added to it, please let me know.

    Thanks
  • T ChapT Chap Posts: 4,223
    edited 2014-04-29 04:49
    I agree on losing the reset but. Also, unless you really need the SD, just put some holes in the board to run jumper wires to it if needed. You could actually add the SD at the end of your board, then cut or break off the SD section if you don't need it. Some board houses now allow you to click button to add a stainless stencil in whatever frame or size you want, even frame-less "proto stencil". http://www.hitechstencils.com/ they have made stencils for me, but you must provide gerbers. Sunstone.com will let you submit a .brd file only for boards and stencil. 2 day turn around on boards and stencils.
  • TCTC Posts: 1,019
    edited 2014-04-29 05:48
    T Chap wrote: »
    I agree on losing the reset but. Also, unless you really need the SD, just put some holes in the board to run jumper wires to it if needed. You could actually add the SD at the end of your board, then cut or break off the SD section if you don't need it. Some board houses now allow you to click button to add a stainless stencil in whatever frame or size you want, even frame-less "proto stencil". http://www.hitechstencils.com/ they have made stencils for me, but you must provide gerbers. Sunstone.com will let you submit a .brd file only for boards and stencil. 2 day turn around on boards and stencils.

    Thank you for the advice. But I am going with OSHpark to have the boards made, and I am going with OSHstencils for my stencils. I did a quick price comparison with sunstone and OSHpark. OSHpark wants just under $7USD for 3 boards shipped. sunstone wants $586USD shipped for the same specs OSHpark has. ENIG, green mask on both sides, silk screen on both sides.
  • Cluso99Cluso99 Posts: 18,069
    edited 2014-04-29 09:19
    The oshstencils are fine. You need a bit extra on two opposite sides at least. They just added a new thickness - go with the old one.
    If you ever use stainless, go without the frame - cheaper and lighter meaning cheaper freight too. Even professional assembly houses dont always use frames.
    I use amicroSD socket with exposed pins at thefront in case you need to rework or solder by hand - from digikey - sorry cant recall pn. Its a push pull type,not push push, norhinged.
    Maybe you canfind spacefor a HC49U/S xtal - 18pF or 20pF from digikey. Keep the tracks very short, and a ground plane undr thextal. I socket many ofmy pcbsbecause I usually overclock to 104MHz butthis requires pcb layout considerations.
  • TCTC Posts: 1,019
    edited 2014-04-30 03:33
    Cluso99 wrote: »
    The oshstencils are fine. You need a bit extra on two opposite sides at least. They just added a new thickness - go with the old one.
    If you ever use stainless, go without the frame - cheaper and lighter meaning cheaper freight too. Even professional assembly houses dont always use frames.
    I use amicroSD socket with exposed pins at thefront in case you need to rework or solder by hand - from digikey - sorry cant recall pn. Its a push pull type,not push push, norhinged.
    Maybe you canfind spacefor a HC49U/S xtal - 18pF or 20pF from digikey. Keep the tracks very short, and a ground plane undr thextal. I socket many ofmy pcbsbecause I usually overclock to 104MHz butthis requires pcb layout considerations.

    Thank you so much for the advice. I was considering on socketing the crystal.
Sign In or Register to comment.