Lattice iCE40 FPGA library

I have a new library that I would like to contribute. It contains 30 parts from the Lattice ICE40 fpga family. It only contains 2 devices because I could only find footprints for a TQ144 pin package.

It is currently on github.com user ouabache repo LibrePCB_FPGA_Lattice_ICE40.lplib.

There is a doc directory containing Lattice data sheets that we may want to delete when adding it
to the server.

John Eaton

Hi John,
if you need draw a package, I can help. Send me datasheet (or url link) with package drawing (and select which one) and I make it.

Actually I need a bunch of them. I was hoping that someone would do a script that would generate the entire family all at once.

There is a /doc directory in the github repo with all the drawings.

-QN32 32-pin QFN (5 x 5 mm) 0.50 mm 21
-QN84 84-pin QFNS (7 x 7 mm) 0.50 mm 67
-VQ100 100-pin VQFP (14 x 14 mm) 0.50 mm 72
-SG48 48-pin QFN (7 x 7 mm) 0.50 mm 39
-CM36 36-ball ucBGA (2.5 x 2.5 mm) 0.40 mm 25
-CM49 49-ball ucBGA (3 x 3 mm) 0.40 mm 37
-SWG16TR 16-ball WLCSP (1.40 x 1.48 mm) 0.35 mm 10
-CB81 81-ball csBGA (5 x 5 mm) 0.50 mm 62
-CB121 121-ball csBGA (6 x 6 mm) 0.50 mm 92
-CM121 121-ball ucBGA (5 x 5 mm) 0.40 mm 93
-CM81 81-ball ucBGA (4 x 4 mm) 0.40 mm 63
-CM225 225-ball ucBGA (7 x 7 mm) 0.40 mm 167
-CM81 81-ball ucBGA (4 x 4 mm) 0.40 mm 63
-CB132 132-ball csBGA (8 x 8 mm) 0.50 mm 95
-BG121 121-ball caBGA (9 x 9 mm) 0.80 mm 93
-CT256 256-ball caBGA (14 x 14 mm) 0.80 mm 206
-CB132 132-ball csBGA (8 x 8 mm) 0.50 mm 95
-CM225 225-ball ucBGA (7 x 7 mm) 0.40 mm 178
-UWG30 30-ball WLCSP (2.15 x 2.55 mm) 0.40 mm 21

About import library, talks in this thread: Plan with Libraries

I make library parts manually (no problem with licence). Which one you need urgently? Because, I have no problem make all listed, but is question of free time…

I would start with the first four pin packages since they are the ones that our users are most likely to need and that will get them started. You could even do an embedded system that was 100% open source tools.

Do not do any of the BGA packages by hand. Its better to write a script that can do all of them at once.That’s the best way if you plan on maintaining the library in the future.

I know python scripts are used for a lot of the Base library. I can do it but I would use perl. I did scripts
to create all of these symbols and components from the lattice spreadsheets and it saved a lot of time.

I added 10 BGA packages to my fork and put in a pull request

Hi ouabache,
check my pull request in our https://github.com/ouabache/LibrePCB_FPGA_Lattice_iCE40.lplib
Check footprint, I can create next (check comment in pull request).

I will do that

Looks good as far as I can tell. I think that all packages should go into the LibrePCB_Base library since they
are the same for all parts. I submitted pull requests for my BGA packages to there.