Code Monkey home page Code Monkey logo

soicbite's Introduction

SOICbite

A compact PCB footprint which allows SOIC test clips to be used as a space-efficient programming and debugging connector

PBC pads

This is the repository for a hackaday.io project on this connector footprint.

It's cheaper than a Tag Connect and may even be smaller.

This has been tested as a SPI programmer on AVRs and a UART programmer on ESP32. The footprints are available as a Kicad mod footprint file under downloads. I'll put them on Github at some point too. If anyone converts them to Eagle or other EDA footprint formats, I'll happily add them here.

You do need to adjust your SOIC-8 test clip so that it will close enough to press the contact pins against the PCB pads. See the photos in the images folder - about 1mm will do to start with. Depending on your pin configuration, you need to make sure opposing contacts don't touch each other when no PCB is between them.

Also, you may need to use short sections of thin traces to escape the pads between the NPTH.

Pin assignment

If you don't know where to start, here are a few suggestions for pin assignments of some interfaces:

Pin UART SPI SWIM SWD ESP8266 USB I2C PIC ICSP
1 Vcc Vcc Vcc Vcc Vcc Vcc Vcc Vcc
2 RX2 CS GPIO0 D- Vpp
3 TX2 GPIO2 D+
4 GND GND GND GND GND GND GND GND
5 RX MOSI/MOMI SWIM SWDIO RX SDA DAT
6 TX MISO SWO TX AUX
7 CTS SCK/CLK SWCLK CH_PD SCL CLK
8 RTS RST NRST NRST RST ID

soicbite's People

Contributors

defproc avatar jarrettr avatar jensh avatar kadamski avatar simonmerrett avatar t0mpr1c3 avatar urish avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

soicbite's Issues

SWD pinout

I'm an STM32 user, so I use the SWD connector. (not yet this project).

I am not aware of the "SWO" pin in that configuration....

The "discovery" boards also have the target NRST signal connected on the programming connector. there is a spot available for that -> do it.... (possibly mark as optional... )

The "discovery" boards have a 6-pin connector and I have been unable to find what the 6th was ever intended for.
I have now repurposed that for the "boot0" signal. With a pulldown to GND and a switch to VCC I can then boot the target into bootloader mode.

I suggest to mark one of the further free pins for that purpose. Then, I'd be able to have two of the clamps, one on my programmer and one to a two-switch-board that allows me to hit the boot, and reset buttons to make the target switch to bootloader mode. (=DFU over USB for most of my targets).

Suggested pinouts

Hi again.

I suggest 2 more pinouts - combination of SWD + UART + FactoryMode detection and same for PIC. They're already presented in my libs. I use these combos in my projects, so I can get debugger, console and FactoryMode detection from single connector speeding up the manufacturing process and making R&D space cleaner. FactoryMode is just GPIO with pull-up, that is pulled down by the programming clip and makes the device enter init / test sequence after boot automatically.

Here are my pinouts:
PIN | SWD | PIC
1 - VCC - VCC
2 - GND - GND
3 - NRST - MRST
4 - SWDIO - PGD
5 - SWCLK - PGC
6 - RXD - RXD
7 - GND/FM -GND/FM
8 - TXD - TXD

'Known good' SOIC Clip

I've designed this connector into a PCB, I think it's quite a neat solution - thank you for designing it.

Unfortunately the SOIC clip I used was a bit flimsy, and so never made very good contact with the PCB, and before long the plastic guide pins broke.

I was wondering therefore if you had the model number of a SOIC clip that was easy to modify, and worked reliably?

Prevent reverted connection

Nice work!

If, instead of the 5 holes after the contact pin, you fill one of them (for example, the 2nd one to the top) and cut the matching plastic part on the grip, you have revert connection protection.
It's even probably cheaper since that make one less hole to drill on the PCB.

This worth it if you intend to reprogram your device few month later and don't want to spend time figuring out the pinout of the SOICbite's connection, or if you have (unskilled) workers programming board in series.

holes

what is the purpose of the holes? seems they get get in the way or u have to use thin traces? Just wondering why they are there in the first place?

Trace width?

Hey,

nice work! Whats the max. resaonable trace width to route between the inner pads?

No license

Thanks for putting this out there :).

I'm putting this into my personal KiCAD library, which I plan on throwing up on github, but I would feel weird putting it up without some sort of attribution, or confirmation that that is okay with you in some way.

It's really not necessary but I do suggest putting a license file somewhere, may I suggest BSD, or the WTFPL.

Converter boards

Do you have thoughts on generating converter boards that go from the SOIC clip standard IDC connectors to protocol specific interfaces eg. typical USB/UART module pinout?

I'm aware that this might move SOICbite away from a more connection agnostic solution, but the table of suggested connection pins in the Readme was really good from my point of view, it lets me just take the connection I want to add, and route to a pad arrangement that already exists, instead of having to create new ones each time, eg. xkcd.com/927.

I've forked a repo at DefProc/SOICbite with a USB converter I'm trying as an example.

Diptrace version

Made a copy in Diptrace. Could push sch and pcb libs if you'd like them here.

Recommanded distance to board edge

I'm finally trying to implement this footprint on one of my board, and I'm wondering what is the best expected distance from board edge ?

In the connector footprint, there's an inverted T on the bottom, but I just wanted to be sure it's meaning it's supposed to match the board edge:
image

Can you confirm ?

Flex restrictions

Hello and thank you for this nice project.

I'm thinking of doing a flex PCB for running some UART lines out of a device case but
I'm stuck on how to later connect to the extension from a UART-USB adapter.

This looks promising as it is dead easy and does not require me to place a new connector (SMT or TH), hell I could reuse any SOIC clip lying around.

Let's say we use OSH Park and work along some limits.

Obviously we need solder mask on both side of the PCB but that is covered

Soldermask Type | SMOBC (Soldermask Over Bare Copper), both sides

We also need two layers of copper and that is also covered.

So the real question is if we can actually find a SOIC connector that can clamp this
extremely thin PCB as the stackup is the following.

Layer Thickness
Silkscreen 1mil (0.0254mm)
Soldermask 1mil (0.0254mm)
Top Copper 1oz (1.4mil, 35um)
Polyimide Flexible Substrate 4mil (0.1016mm)
Bottom Copper 1oz (1.4mil, 35um)
Soldermask 1mil (0.0254mm)
Silkscreen 1mil (0.0254mm)

Which would yeld a total of 10.8 mil ( ~ 0.25 mm).

So maybe just one side would be available at a time, the other covered by some thickening to make the connection more reliable as otherwise the film might just slip out all the times.

We also have some restrictions on how far from the edge copper should be as the process
of cutting it's different from rigid material.

Board Edge Keepout Copper within 15mil (0.381mm) of a board edge will be fabbed, but may be damaged during shipping, copper within 6mil (0.152mm) of a board edge will be removed prior to fabrication

So overall if the connector is not placed very close to the border it should survive the fabrication process and the SOIC clip can still reach it.

I'm interested in the drill holes as for flex pcb there are different limits and the wear and tear might be different.

Is there any other physical requirement for this connector that I haven't gone over?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.