Shop OBEX P1 Docs P2 Docs Learn Events
The NCD 40-Pin DIP P2 Board — Parallax Forums

The NCD 40-Pin DIP P2 Board

Dave HeinDave Hein Posts: 6,347
edited 2020-11-04 20:02 in Propeller 2
I've started playing around with KiCad to see if I can design a 40-Pin DIP P2 board. The board would be similar to the P2 EDGE, but with only 32 I/O pins and a DIP connector instead of an edge connector. The DIP connector uses 0.1" pin spacing with 1.1" or less between the rows. The goal is to have a board that can plug into a wireless breadboard with the hobbyist in mind.

I presented this concept before by hijacking other people's threads, so I thought it was time to start a thread specifically on this concept. I've never used KiCad before, so I'm learning as I go. I've only designed one PCB before using Eagle.

Thanks, to Cluso and Peter for helping me to get started on this project. I also want to thank Tubular for discussions that we've had about the P2 board he is developing.

I've downloaded and installed KiCad and added Cluso's P2 KiCad library file. This is what I have so far.
ncd.jpg
The board size is 1.2" by 2.0". I've only connected GND, P0-P7, P16-P23, P32-P39 and P48-55. I still need to add 1.8V and 3.3V regulators, flash, bypass caps and a 4-pin Prop Plug header.
580 x 776 - 184K
ncd.jpg 183.7K

Comments

  • jmgjmg Posts: 15,173
    Dave Hein wrote: »
    ... I've never used KiCad before, so I'm learning as I go. I've only designed one PCB before using Eagle..

    There is a KiCAD plugin called WireIT
    https://forum.kicad.info/t/wireit-pcbnew-plugin-for-adding-cutting-swapping-wires-in-the-physical-layout/11212
    that allows free-form trace connect and net-name, without a schematic, which can be useful for quick concept checks.

    Some tips around OSC choices
    * The P2 can drive ok from a clipped sine oscillator, which have much better precision than xtals. A simple AC coupling cap is all that is needed. Can become a low value R for CMOS osc.
    * There are some thermistor crystals available, which usually have pin 2-4 as thermistor so GND=Pin2 and Pin 4 = P2 pin or uncommitted can support those as an option.
    * Murata have sub-ppm oscillators in CMOS and clipped sine, in 5032 packages
    * A mid-price solution can be something like ECS-TXO-2016-33-200-TR ~2ppm 3v3
  • Dave HeinDave Hein Posts: 6,347
    edited 2020-11-04 21:28
    @jmg thanks, I might give WireIT a try. It seems like it will be a pain if I have to hand route the board every time I make a change in the schematic. I'm surprised that KiCad doesn't support auto-route. From what I can tell, KiCad had auto-route in a previous version, but they removed it in the latest version. My plan is to use the same flash, xtal and voltage regulators that the P2 Edge uses. Those should be proven designs. However, I'm happy to consider any and all suggestions as I trudge along.
  • Cluso99Cluso99 Posts: 18,069
    edited 2020-11-04 21:44
    Just use a real xtal. Your market will never need the extra precision. Use the standard 20MHz and 3225 package which is cheap and readily obtainable. I had looked at much smaller ones but in the end 3225 is easy.

    When you get there, do think about using the optional transistor reset and the standard footprint for either USB-TTL CP2102 6-pin full-size USB or the micro USB version (yes, they change the footprint!) which are only ~$1.50 shipped on fleabay. Or talk to Peter about a cutdown version of his UB3 for onboard USB.

    BTW I do see at present you're at 1.1" pitch! Not much space is there? I really admire you giving it a go!

    KiCad tip - use "X" to start track placement after you've "Esc"aped the previous routing and had to abort it. Saves moving the mouse up to the right panel and select the track again.
    I use inches to define the pcb outline and pin headers, and metric elsewhere. If you do this, then use 0.13mm as minimum track/space which is just over 5mils. I used to layout my pcbs in imperial 6mil (previously 8mil) only. I changed when I shifted to KiCad.
  • jmgjmg Posts: 15,173
    Dave Hein wrote: »
    ... It seems like it will be a pain if I have to hand route the board every time I make a change in the schematic. I'm surprised that KiCad doesn't support auto-route. From what I can tell, KiCad had auto-route in a previous version, but they removed it in the latest version. ...

    KiCAD has a nice shove router, which I think is why the add-on auto-router was deprecated.
    On lower layer counts, placement and pin-swap and part nudge all interact to help routing yields, but all that is manual.

  • My current plan is to go with the standard 20MHz XTAL. I'm currently looking at just supporting the 4-pin Prop Plug connector, but I'll look into accommodating the inexpensive USB adapters also.

    My first attempt was using the 1.1" pitch without rotating the P2. I was able to route it, but the routing looked messy, and I was concerned about placing the bypass caps. Once I figured out how to rotate the P2 45 degrees it made the routing much easier.

    At this point I'm only using one side of the board. I haven't gotten to the point where I can use vias, and take advantage of both sides. I'm still learning.
  • jmgjmg Posts: 15,173
    Dave Hein wrote: »
    ..My plan is to use the same flash, xtal and voltage regulators that the P2 Edge uses. Those should be proven designs. However, I'm happy to consider any and all suggestions as I trudge along.
    Sounds KISS, so a good starting point.

    There is usually room to allow > 1 oscillator footprints, which means user choice can come for free.

    2016 and 2520 packages can usually be supported on one adjusted footprint, and simple solder bridge jumpers do not take much room.

    Note that a plain vanilla crystal is going to limit timing precision to about ~16 bits, which seems poor on a part able to run ~200MHz with many 32 bit timers.
  • Cluso99Cluso99 Posts: 18,069
    Dave,
    Only 5 of the 6pins need to be connected as the 3V3 is unusable. The advantage is that you can power from the USB (PC) or just use it to power the 5V/GND too.
  • I've made some more progress on KiCad. I've laid out a board with all the parts on it, and I was able to route all the traces using 2 layers. Here's what I have so far.
    577 x 764 - 229K
    598 x 648 - 70K
    1058 x 730 - 201K
  • jmgjmg Posts: 15,173
    Dave Hein wrote: »
    I've made some more progress on KiCad. I've laid out a board with all the parts on it, and I was able to route all the traces using 2 layers. Here's what I have so far.

    Looks good, but SOT23 regulators are quite poor thermally.
    A thermal pad part is going to get the heat to the bottom layer much better.
    A part like NCP187/NCV8187 is low noise, with PowerGood and in 2x2 or 3x3 packages.
    The biggest PAD package that can fit in the space will give the best thermal spreading.
  • @jmg, thanks for the tip. I'll look into using those parts.
  • Nice going Dave

    You need a few resistors
    - Reset (pin 100) needs a pullup, unlike P1
    - The chip select of flash could probably use a pullup, too

    And the test pin, pin 1 should be connected to gnd

  • Cluso99Cluso99 Posts: 18,069
    Your regulators will not work for almost anything other than an LED flasher as there is no heat sinking and SOT23 are way too small.
  • Cluso99Cluso99 Posts: 18,069
    You're not going to be doing much other than flashing a few leds with those regulators. They're way too tiny for the power dissipation.
    Ground pad isn't very big to get the P2 heat away.
    Not much bulk/bypass caps.

    Looks like you're having fun tho :)
  • Thanks for the comments. They all sound like they should be fairly easy to fix. Keep in mind that I'm only using half of the I/O pins, so I should have half the current, power and decoupling requirements for the 3.3V line. It seems like 8 decoupling caps for 3.3 Volts should be enough.

    I only have 4 decoupling caps for the 1.8V supply, and it shouldn't be too hard to increase this to 8. I'll probably go with a switching power supply for 1.8V. The linear regulators are really more of a place holder at this point.

    I haven't figured out a good way to connect the P2 ground pad to the rest of the ground copper pour on the bottom layer. Currently I have only one ground bridge at one of the corners. I can probably connect the P2 grounds on all four corners, and feed the 1.8V in from the top layer using vias.

    I'm thinking of going to 0.9" spacing by eliminating the 2 center pins on each side. It looks like that should still be wide enough to accommodate all the parts, and I think it can still be routed in 2 layers. I'll stay with the 1.1" spacing for now, but maybe reduce it to 0.9" once I've fixed the other issues.
  • jmgjmg Posts: 15,173
    Dave Hein wrote: »
    I'm thinking of going to 0.9" spacing by eliminating the 2 center pins on each side. It looks like that should still be wide enough to accommodate all the parts, and I think it can still be routed in 2 layers. I'll stay with the 1.1" spacing for now, but maybe reduce it to 0.9" once I've fixed the other issues.

    How important is that small width change ?

    It seems better for a DIP-40 design to be as form compatible as possible with FLiP-P1 which does use all 40 pins, and then a very simple mechanical adaptor can manage a 0.6" conversion, if someone needs that.

  • The I/O pin numbers will be different except for P0-P7. I could put Vin, Gnd and 3.3V on the same pins. I won't have the USB 5V, so the only thing really missing would be the reset pin with the 0.9" spacing.
  • The thing about 0.9" is that at least you can get it onto a breadboard, and still have a row of breadboard pins on the outside of each half. Thats not much, but its better than nothing

  • jmgjmg Posts: 15,173
    edited 2020-11-07 22:43
    Dave Hein wrote: »
    The I/O pin numbers will be different except for P0-P7.
    I'd say that's tolerable, as it's less practical to route 100% IO matched.
    Dave Hein wrote: »
    I could put Vin, Gnd and 3.3V on the same pins.
    Matching those inner pins is more important. So long as the pins match, simple formed headers and DIP sockets could be used to make a 0.6" adaptor.
    Dave Hein wrote: »
    I won't have the USB 5V, so the only thing really missing would be the reset pin with the 0.9" spacing.
    There may be room to fit a USB connector for 5V power ? (and maybe DP,DN for P2-USB use ?)

    There may not be room to fit a UB3, but maybe with time, a P2-Device can go into flash to allow some self-boot ?
    There are low cost MSOP10 MCU that could fit for smarter boot ?

    Addit: Maybe this MSOP10 CH340E can fit, to give vanilla USB ?
    This is a 1.8A rated micro-USB with 4 full length stakes
  • Dave HeinDave Hein Posts: 6,347
    edited 2020-11-07 23:30
    The P2 will boot from flash unless it first detects serial. The intent of the NCD40 is to provide access to the P2 in a format that is easier for people with little or no soldering skills. I'll think about adding USB. I can see the advantages with doing that. An alternative would be to use one of the USB-to-serial devices that are available on the internet. I'll look into that, and probably add another pin to the header so that it can be powered from USB. I should be able to provide the same inner pins as the P1 Flip module, which are GND, Vin, USB 5V, 3.3V and Reset.

    The 1.1" version will fit in a solderless breadboard, but it does require running wires under the board. 0.9" is better because it does allow for one outside row on each side. That will make it easier to wire up I/O pins on the breadboard.
  • Dave HeinDave Hein Posts: 6,347
    edited 2020-11-10 19:24
    I've updated the schematic and layout based on the earlier suggestions. I added pullups to the flash chip select and the reset line. I replaced the voltage regulator with larger ones using the SOT-223 package. I also cleaned up some of my traces that were failing the design rule check, and I added more bypass caps.

    I'm still thinking of using a switching regulator for 1.8V. It just seems that dropping from 5V to 1.8V using linear regulators is very inefficient, and they're going to generate a lot of heat.
    1269 x 872 - 282K
    531 x 853 - 300K
    581 x 777 - 137K
  • jmgjmg Posts: 15,173
    Dave Hein wrote: »
    I've updated the schematic and layout based on the earlier suggestions. I added pullups to the flash chip select and the reset line. I replaced the voltage regulator with larger ones using the SOT-223 package.
    SOT223 is better than SOT23, but the cheap-as-chips xx1117 parts have a few specs in the 'minus' column
    * The TAB is not grounded, so they cannot connect directly to a plane
    * They lack a Power Good Signal.
    * Output noise is high at ~ 60uV/V

    The NCP187/NCV8187 cost a few cents more, but have a GND PAD, and do include a PGood and are low noise.
    Dave Hein wrote: »
    I'm still thinking of using a switching regulator for 1.8V. It just seems that dropping from 5V to 1.8V using linear regulators is very inefficient, and they're going to generate a lot of heat.

    Yes, the simplicity of chained linear regulators, comes at a high thermal cost.

    Possible conservative (3A) Switching Regulators are AP3441 and TLV62585PDRL, and I selected the TLV62585PDRL as it has lower RDS on the FETs and allows a slightly smaller inductor.
    Both those parts have PGood.
    As room allows, you can also 'oversize' the switching inductor, as the larger ones have lower losses per Amp.
  • Cluso99Cluso99 Posts: 18,069
    Any progress Dave?
  • Dave HeinDave Hein Posts: 6,347
    edited 2020-11-28 13:24
    I looked into doing a 0.9" spacing by leaving a gap in the center. However, I think the 1.1" spacing is more practical. I've gone about as far as I can go on the idea. I haven't gotten much positive feedback on the idea, so I put it on hold for now.

    I'm currently pursuing the idea of doing a DIP adapter board for the P2 Edge. This is more in line with my soldering capabilities. I've attached pictures of the 0.9" NCD card and the P2 EDGE adapter card.
    347 x 805 - 118K
    292 x 869 - 137K
Sign In or Register to comment.