DIYBMS v4

Hi all,

I just finished writing a small plugin in python for KiCad to generate BOM and CPL files for JCLPcb, LCSC and even any other provider … such as Farnell.

It is necessary for the operation to add 4 additional fields in Eeschema, which are:
‘Manufacturer’, ‘PartNumber’, ‘Supplier’, ‘SupplierRef’

When launching the plugin (in Eeschema BOM) it will create as many csv files as there are different ‘Supplier’ encountered.

It also creates the CPL file for JLCPcb from one of the position files found in the working directory.

For those interested, the code is somewhere…
I can’t put url anymore I’m blamed…

I’m sorry for the delay, it’s on the + - pins of the card
lo siennto por la tardanza, es en los pines + - de la tarjeta

:confused: :question:
If you need to put a link to your files, but the system says “no” (because you’re a new user), then just ask. One of us will see within a few hours and bump your privileges so that you can post a link. But one of us saw the system message, and you should be OK now.

2 Likes

Hi,

As I hope that people would be interested in such a Plugin, I created a new repository KiCad-BOM-CPL-Plugin for it.

I also integrated it into my fork of diyBMSv4 with SubRepo so that it can be available in the project if necessary.

Edit: Nice, I am no longer blamed… Thank @Robert.Wall

1 Like

I was finally able to place my orders, here is what it looks like:

Controller: Controller- JLCPcb

Modules: Module-JLCPcb

Only the connectors are missing, and the ATTINY841-SSU

I have some doubts about what is needed on the Controller in U1, it is marked wemos-d1-mini but are there any special specifications to follow. (4Mo RAM or 16 Mo, etc).

Thank you

Controller looks right. Just need the female header pins and place the d1 mini (esp8266) on top and you done.

Looks good!

Just a reminder that only a few of the controller connectors are needed most are for future expansion

@Havinfun Ok is’t a D1 mini (not Pro…)

Edit: It look like that: Optionnal and C_SEN1 (on the Controller) must bee angled pin header, if we want to manage to connect them with the D1 mini in place … isn’t it???

In addition I am asked to confirm the polarities for the module:
they are good???

Edit2: I just saw that I have D1 and Q1 (on the Module) that I have to turn 180 ° … Apparently they are right … I have to modify the schema, what should I change?

The picture looks correct - make sure the two red dots are near each other on the parts.

All the LED’s have negative on the left side of the board so this is also correct.

I’m using a 16M bit wemos-d1-mini with an external WIFI antenna - like this

https://amzn.to/2RgJhcA

Note, there is a significant difference between a mini and a mini pro

https://www.wemos.cc/en/latest/d1/index.html

1 Like

@stuart

I’m using a 16M bit wemos-d1-mini with an external WIFI antenna - like this

great i will order one…

@borpin

Note, there is a significant difference between a mini and a mini pro

It seem to be same footprint, because the price is practically the same, but 16MB vs 4MB is better… :grinning:

It seems that I actually have a placement error for D1 and Q1 on the module (my fork comes from the jlcpcb_assembly branch) but being new to KiCad, I cannot make the necessary changes (180 ° rotation), if someone can tell me …
Thank you

Edit:
Ok I finally managed to solve the problem (D1, Q1) it was just that I forgot to export the positions again … before runnig the Plugin… :upside_down_face:

However, it is where the 3D view in KiCad …

Edit - changed storage units from Mo to MB. BT, Moderator

Kicad is okay it’s your cpl file that will need the rotation in it

The images certainly look different. Note there is a Mini Lite.

@stuart

Kicad is okay it’s your cpl file that will need the rotation in it

The cpl file comes from one of the position files (search in order: v4-all-pos-csv, v4-top-pos.csv or v4-bottom-pos.csv), only a modification of the csv header is made in the plugin in order to agree to the format claimed by JLCPcb …
I changed the orientation of the footprint from 90° to -90°, for D1 and Q1 in Pcbnew, Edit, Orientation changed from 90° to - 90°, now I can see a slash on it… It is not correct?

If I submit the new cpl file to JLCPcb, now everything looks fine.

Module-JLCPcb

It is to avoid me to validate by JLCPcb that I look for the 3D view in KiCad

For those interested in the cost at JLCPcb:

  • 5 controller PCB ------------------------------------ 1.79 €
  • 5 controller Assembly --------------------------- 16.01€
  • 30 Module PCB ------------------------------------- 6.37€
  • 30 Module Assembly ---------------------------- 54.04 €
    Invoice Total -----------------------------------------78.22 €

Sorry, you’re right Stuart, KiCad has nothing to do with it … this is a problem that comes from JLCPcb…
It’s linked to the footprint of the components, since to solve this problem many people have a table: footprint towards angular correction allowing to get rid of it.

To solve the problem of D1 and Q1 at JLCPcb, I added a Rotation field in Eeschema, allowing to correct the rotation values in the cpl file during its creation.

Edit: I confirm that the rotation is linked to the footprint, since following the change of footprint from U3 on the controller, a rotation of 270 is now necessary …
And I think more precisely, it is linked to the orientation of the footprint (the old one was at 9 o’clock while the new one is at 12 o’clock and the correction is made in an anti-clockwise direction… In addition, I had to change the orientation of 90 degrees when changing the footprint of U3 in Pcbnew…

I’m using the one on the LEFT the slightly wider one.

1 Like

Did you mean right? Green or Blue? These boards are very often mis-described by resellers. That earlier Amazon link said ‘Mini pro’ but the picture was of a ‘Mini’. I also note that Amazon link is not of a genuine ‘WEMOS’ board but an “Espeedy WEMOS” which IMHO is misselling. I always get mine direct from China via the WEMOS channel on Aliexpress :grin:.