Board incorrectly rejected claiming empty solder mask

Just tried to submit an order for a tiny little board, but it’s being rejected saying “The soldermask file is empty in the compressed file you submitted. Your PCB cannot be built without a soldermask file.”


Well, there were Gerber files selected for both the top and bottom solder masks - and as you can see in the preview images, there are both masked and unmasked copper areas on both sides, so there obviously ARE solder mask files present. Why the false error message?

@jasonharper apologies for this error. I will direct message you for your files to submit a ticket.

I find myself in the same boat. I even put a part on the bottom layer, and I can see in the builder view that the soldermask files are not empty. What trick is needed?
Thanks

I’m having the same problem too, and I’ve been checking on it and putting off my order for about a week and a half now, and there’s still no sign of any fix.

Last time it worked for me was before they added .kicad_pcb compatibility (which as a side note, doesn’t work and just infinitely loads)—maybe that changed something in the programming that also took out the ability to properly read zipped gerbers?

After 2 weeks of trying, finally got it to work by myself. The two tricks were as follows:

  1. Following another poster’s suggestion, (lost which one it was) I turned on all layers, grouped the board, and moved bottom left corner down to the grey cross-hairs (0,0). The copper fill polygons didn’t move, so I simply re-did them.
  2. This gave me an empty cart–but no bogus errors! The complaint now was one of currency. I changed my currency to US and saved it. Now it could be put in my cart!

And, well, “Bob’s your uncle”. Now I’m waiting for my boards to arrive!

Note: I’m using 9.6.2 version of Eagle/fusion360 to generate my camOutputs.zip file for uploading. I considered Kicad, but it’s another learning curve… and it doesn’t sound like it’s as well supported either?

Congrats Gord!

Maybe? I haven’t really had any issues with KiCad before since I normally export to gerbers, which should be a pretty universal filetype. I’m also using the exact same version of KiCad that I’ve successfully used on previous DKRed orders (7.0.1-0 release build), with outputs.zip, not file.kicad_pcb, so I know it’s not a faulty KiCad version either.

I also went ahead and tried your trick of grouping and moving to (0,0), and that didn’t seem to make a difference, but that may also be because (0,0) is top left and I have a notch on that corner of my board.

Now I’m wondering if it’s because I’m using an M2 Mac and if there are unremovable hidden files that are messing with DigiKey’s algorithm :laughing:

Thanks, @eeeee ! Was quite ecstatic to see it finally go through.

Eagle makes my 0,0 origin mark on bottom(left) versus your top(left) fwiw. (Is that a Kicad thing?) Anyway, the point of the original thread/tip that twigged for me, was that the dkred tool wanted to see every co-ordinate a positive number pair, nothing else would ‘pass’.

If your mac is inserting files “hidden” files into the zip, you’ll see them show up after the upload. You can then tell the PCB Builder tool to mark those files as “do not use”. Alternatively, if you export to a directory, you could then make your own zip out of selected files and avoid the “hidden” files altogether, I suppose?

Thanks gord!

Apparently that’s just a KiCad thing, and I didn’t know since I haven’t ever used Eagle, Altium, etc. before. I did some digging as to why KiCad is top left, and turns out, it’s a clash of histories: KiCad was made by programmers who wanted to make boards, as opposed to being designed by electrical engineers who knew code, so the designers brought over Computer Science tradition of starting in the top left and having the y-axis pointing down being positive.

In light of that, I opened up my gerbers as raw text, and lo and behold, no matter what corner I move my board to, every y-coordinate in the gerbers becomes negative, so I think you nailed it with negative numbers being the issue. That might be the reason they tried adding .kicad_pcb compatibility to sidestep gerbers entirely :laughing:

You’re also probably right that the hidden files aren’t the issue, but I wanted to throw that out there since the site would glitch and not let me select “Board House Ignore” in the dropdown. I also tried deleting them before zipping the folder, and there are still some files I cannot remove, even from CLI, which is a total Mac thing that makes me miss using Linux lol.

Thanks again for your help! Hopefully this all helps future people with similar issues.

1 Like

I learned PCB CAD in the mid 1980s on an IBM PC/XT and one of the early lessons I learned was always avoid negative coordinates in the Gerber files.

Gerber, aka RS-274 is the un-standard that’s why it begins with RS (Recommended Standard) instead of a standards organization designation (e.g. ISO, EIA, TIA).

Just like with RS-232 before it became EIA-232 in 1986, RS-274 has a nearly infinite variety of incompatible implementations. With the release of EIA-232 it became very rare to have serial connections that were incompatible so badly that extra hardware was needed to get things working reliably.

I’d hoped RS-274 would someday become a reliable standard but it appears that will never happen. So instead I have to still follow these rules to ensure the PCB’s I design for work can be manufactured by most PCB fabrication companies worldwide.

  • Never let any part of the design fall into negative coordinate space. This includes title blocks and legends. My software has 0,0 at lower left so I start my PCB at 25,25 mm or 1000,1000 mils to give room for descriptive information for drawings without mucking up other CAD/CAM software.
  • Always use another vendors Gerber viewer to verify the output files. If you use a viewer that is built on the same Gerber libraries as your CAD software, any oddities in the Gerber generation are likely to be displayed as correct making the verification useless.
  • If you can afford it, buy CAM software from a different vendor than your CAD software and process the Gerbers like you are a PCB fabrication house. I use ViewMaster by Pentalogix (formerly Lavenier) to load the Gerbers and drill files, verify it is OK, save the result in Lavenier format and include it in the big zip archives of files the purchasing people send to the PCB vendor.

While this reduces the number of questions and problems that arise from the un-standard, it is far from perfect. Hopefully someday a workable alternate data format, that becomes a real standard, will come along and make things more bullet proof.

1 Like

Thanks for your expertise Paul!

Also, I’m just coming back to say that DigiKey Red now indeed works for KiCad—the zipped Gerbers method still fails, but uploading the .kicad_pcb file now works perfectly, just watch out for any extraneous User layers that you may have otherwise removed from the Gerbers folder.

Thanks everyone!

2 Likes

I’m having the same issue - soldermask was recognized by the tool, as it shows correctly in the preview on both sides, yet it is rejected:

It also doesn’t seem to recognize my drill file… not sure if these problems are related.
Files created with OrCAD 17.4, and also load up fine in ViewPlot 2.0.