New with mouse bites, need some help

Hello I have question. I am in the process of developing a PCB which will be around ~12mm x ~18mm in size once it is finished. I would like to let JLCPCB produce and SMT assemble the boards. They are too small for SMT assembly and they are too small for V-grooves. I have been told that I can use mouse bites/breakaway tabs in order to produce my design on a larger scale.

The PCB also needs a program connector as JLCPCB does not offer a programming service. The grand masterplan is too program the pcbs and break away the program header after the deed.

I looked into mouse bites but I found a lot of different information ranging from python scripts to downloading special footprints.

From what I understand it is not a native feature nor footprint in pcbnew. I can manually copy the pcb, and redo the edge cuts and add the mouse bites in the form of small drill holes. But I am not sure of anything anymore.

Which solution is both relative easy and is not a tonne of work?

Also, any tips concerning cost reduction and pointers to other manufactures which do have a programming service would be appreciated alot.

Kind regards,


You could use a panelizer tool for a panel of 1 ? like KiKit or a similar one

Are you familiar with the connectors from “tag connect”?

On the PCB side these just need some pads for the connections, and holes for the alignment.

In the pictures, the grey steel pins fit through the alignment holes, while the gold colored pins are just pogo pins.

I do find these connectors horribly expensive though. A simple 8-pin connector with a piece of flatcable costs over USD50.

The connectors are also quite easy to make yourself. Just design a PCB with holes big enough to solder the pogo pins in (Or the sleeves that hold the pogo pins), and then space two of these PCB’s to hold the pogo pins nicely parallel.

On the other side. On a (big) panel you can break out power and programming pins, maybe add a de-multiplexer and connector on the panel and then program all PCB’s on the panel with just a single connector.

At the moment panelization is not supported officially in KiCad and it leads to problems. For example there are multiple footprints with the same RefDes and Timestamp (UUID in KiCad-nightly V5.99) and this results in the nets getting merged.

In the mean time there are several different ways that have sprung up to help with panelization in KiCad, and Kikit is one of them."KiCad"+panel&t=h_&ia=web

Here is a request for panelization integrated in KiCad. You can give it a thumbs-up if it is an important feature for you.

1 Like

Not sure if it is what are you asking about, but here is 3D view of part of one my prototype PCB:

And here with some dimensions I have added:

I used 0.8mm holes.

Often mouse bites are recessed a bit more into the PCB’s.
The PCB will break along the center line of the mouse bites, and this would leave small stubs sticking out on your PCB.
If this is intended, then just ignore this remark.

If you want to route tracks in between the mouse bites (for a testing / programming rig), then it’s possible that you rip off long sections of tracks when breaking the PCB. This can be prevented by suddenly making the track wider, or by placing a via in the track.

1 Like

Microchip/Atmel have a low cost programming service for their microcontrollers when purchased direct.
For repeated programming I sometimes use a 5 pin header with two of the holes offset so that the header pins hold in place without soldering.
Or spring pins, often used for test jigs.
There are also SOIC test clips available (Pomona). E.g

You need to be careful with MLCCs near the edge as the stresses of depanelisation can damage them. There are recommendations for clearance for v scoring and it is probably good practice to keep mousebites away from them too.
Good article here
And some KiCad specific workflows
This java app works pretty well.

We use ATXmega serie. Programming needs 3 pin. I use 1,27mm 2x2 pin header with one pin cutted, and holes (all 3) little expanded from socket center.

For dimensions I used information published in electronic magazine by our local PCB manufacturer (they used 2x4 holes, I changed it to 2x3). They probably can’t recess more into the PCB’s as it have to be independent of PCB project. They accept 3 mils tracks and 3 mils clearance and I didn’t found in their technical specifications a minimum copper distance from PCB border. That is probably because if I want a pad with metallized border I just have to extend pad out of a border (did it in Protel, not sure if KiCad accept it - didn’t tried).
I use precision cutters to cut mouse bites so have bigger control where I cut it then if I just break PCBs. I also believe that cutting gives less PCB stress than breaking.
I placed mouse bites having in mind that I will have to reach them with cutters.

Maybe one these would help

Hm interesting tool, I wont be needing it, but I’ll keep it in mind if I ever need such a tool.

I had already planned on using pogo pins for programming. I was just searching on aliexpress for pogopins when I stumpled on this tool. They also sell one in 2x3 formation with 1.27mm pitch.

This might eliminate the need of break-away program connector as it can be 1/4 of the anticipated side. I still am going to need mouse bites for the other direction, but now I need less mouse bites :smiley:

Anyways, thank you for your help. I have seen very useful links and comments.

Kind regards,


FWIW on the subject of programming connectors, I have used this ‘SOICbite’ footprint on a couple of designs - neat and tidy, lots of lines available and much cheaper and possibly more stable than the TAG connect. The TAG design is good but you need the design with legs for it to be self supporting and then it takes up as much room as a 2x3 0.1" ICSP header.

In one design, I made a small panel of my boards with a breakaway frame. I put these SOIC footprints on the breakaway frame and ran thin tracks through the mouse-bite to the board. You can then assemble and program the boards and break off the programmed board. Make sure you have a significant change of width/direction in your track or a via at the desired break point to avoid stripping the tracks. This way, you don’t need to allow any space on the board itself for the programming header.

I did have to file my SOIC clip very slightly to get it to make good contact.

It doesn’t take much room but needs to be on the edge but, hey, all boards have edges.

If going with pogo pins, I also kinda like this design but have never tried it. Looks a bit steampunk!


There are all sorts of depaneling tools. From very simple hand held pliers (That cut on two sides) to big machines that cost Mega pegels.

I sort of like that dfrobot_product_1307 thing, but did not completely understand… Untill I saw more pictures on their website.
The big distance between the pogo pins and the rubber bumper seems much to big, but on their website there is a PCB connector in between.

So I still do not understand.
Why use such a complicated clothespin if you’ve got a connector available? This clothespin style could pinch a PCB between the rubber bumper and a bunch of THT holes that keep the pogo pins aligned. But with the longer alignment pins of the “tag connect” connector, accidental faulty contacts are also prevented.

From their site: “eClip is an innovative programming/testing tool specially designed for Makers. It solves the problem of prototyping wearable projects with ICSP and FTDI interfaces in limited spaces.”

I gather form this text that it doesn’t need to be a header or THT pads, there can be only SMD pads where the clip attaches.

I think, because of green pads being very close to outline, only milling is possible, no V-Cut, so mouse bites are unavoidable here. Mouse bites should be placed in top-right and bottom left in this case. If distance from pad copper to edge is high enough (see manufacturer requirements, most likely ~0.4mm), V-Cut is the way to go with safe depanelization.

I generate mouse bites with ton of work in kicad (place mouse bite footprint manually and making milling drawing), or, sometimes, by using this GUI friendly open source project: (also gerber rendered is very cool).

Also, Ilike this idea very much (@John_Pateman):

In one design, I made a small panel of my boards with a breakaway frame. I put these SOIC footprints on the breakaway frame and ran thin tracks through the mouse-bite to the board. You can then assemble and program the boards and break off the programmed board. Make sure you have a significant change of width/direction in your track or a via at the desired break point to avoid stripping the tracks. This way, you don’t need to allow any space on the board itself for the programming header

DIY method :slight_smile: :
In one our product (construction like pen-drive) for programming I used smd pads located at the places just to have short connections - close to right microcontroller pins and GND and VCC pads at the places where it happened to have GND and VCC. In total 6 pads were needed.
For programming you put it (top - down) on the programming board. I used there pins similar to:
To fix programmed PCB at right place I used terminal blocks at all sides.
To fix its height over programming PCB I used TE Connectivity Micro-MaTch.

They were used only as distance so only partially under programmed PCB (where elements at PCB allowed).
I insert one such PCB into my programming board.
I put second’s one USB connector (just because you have it at hand) on its center (to have in full higher construction then surrounding terminal blocks.
I put small anvil (used dictionary to find it) at top of that construction and…
at least I can start programming :slight_smile:

Ok I have made some changes.

  • The program connector went from 2.54mm pitch to 1.27mm. Currently the courtyard is overlapping, but I will be using the pads only for pogo pins.
  • As such the ICSP connector is now integrated in the main board. So I have to break away less
  • I enlonged the board to 20mm in X direction to accomodate mininum requirements
  • I made a piece of dummy PCB with a 3mm gap.
  • I made special mousebite pads in the footprint editor. I could not find a suitable footprint. Currently a mousebite is defined as a 0.8mm pad with a 0.8mm hole. So just a hole actually…
  • I installed kikit but I am yet to try and use it.

I am aware that the mousebites are not recessed in the board and this will leave me with a small bulge, correct?

I have some numbered questions now:
1). Will this work?
2). Should I enlarge the main board border in Y direction to make more space for the ICSP connector? Or is it OK?
3). For mass production, is it cheaper to produce the board as it is now? Or is the better to use Kikit and to fill a panel following the maximum size specifications of JLCPCB?
4). Following in on 3. Would the price change be significant?

Any answers and other pointers would be appreciated.

Kind regards,


During typing I realized that the upper 5 mousebites aren’t needed as that entire section of PCB will be thrown away.

Some mousebites are available here

There are many connection lines at your picture. Make all connections and then ask. I suppose you will have to make that PCB a little bigger to do that connections.
I suppose that minimum requirements (20x20mm) is only for small orders. You are writing about mass production. If you order 1m2 of your PCBs I think they can be smaller then 20x20. If 20x20 minimum really have to be preserved I would made PCB containing 2 my PCBs instead of adding extra empty piece of PCB (will be cheaper). I would just have schematic containing two the same schematics (separate names for GND) and one PCB for it.
I ordered 14x24mm PCBs. I asked for prices if I order 200 PCBs (as I need for one order of devices it is used in - conception of ordering each time just for current needs), and the price for 1000 and 3000 (1m2). The price for 3000 was 6 times less then for 200. So I decided to order 3000 (stock for several years).
But my PCBs need not to be assembled - there are no elements on them.
They made panel as was best for them (I didn’t go into it).
And… I don’t know who in China was doing it - I ordered them in our contract manufacturer who store them and is to be gradually used for subsequent orders.

Connecting two PCBs I would do two smaller connections than this one. But have in mind that I have used such connections only in prototypes. I have no experience with panels in production. I order PCBs as I designed - it is contract manufacturer task to made a panel suitable for his machines.

The 20x20mm is only mandatory if you want smt assembly.

I drew the connections. And I copied and pasted the whole design and I fixed the border edge. I see that this is not the proper way for large projects, every time I alter one of the ground planes, the copied board is completely broken because the copied board has no references to the schematic. I also found I can ‘duplicate’ the design but that leaves me with a lot of airwires between the 2 boards :slight_smile:

I get that the top board will have a buldge as the mouse bites are not recessed inside the top board, but other than that it looks sorta acceptable. I mainy want to relocate the green pads on the bottom side. But for mass production I am guessing it would be cheaper to have many many more inside a single panel?

Kind regards,