SimpleFOCShield v2 - EasyEDA project 🎉

Hi guys,

I’ve spent some time today to export the SimpleFOCShield Altium project to the easy EDA project.
You can find it on the link:

It contains the latest version of the shield that is about to be released v2.0.4.
I hope it will help you guys to be able to adapt it faster to your own applications!



That’s really nice, thank you. EasyEDA has the advantage of being fully integrated with the JLC’s parts order database and SMD order.

I have however found problems with importing from outside projects, both Altium and KiCad.

EasyEDA does not properly assign the part numbers, misses some connections and the copper pour areas are incorrect. You need to re-do the PCB layout manually, re-assign the part numbers sometimes re-route the board.

In any event it’s a lot easier than doing it from scratch, thank you,

Edit: I tried to take the board to the end of JLC manufacturing, we need to update the BOM to match the parts in EasyEDA database, perhaps a matching list with JLCPCB parts, else someone with less experience won’t be able to run it. I could do that when I got the time, but no promise.

Edit2: EasyEDA has the ability to make a project public, once we get the BOM right we could make it public.

Edit3: I played a bit with the board, the schematics needs to be redone and the board re-routed for EasyEDA. I cannot update the PCB from the schematics, currently they are not linked. I can make it a weekend project, and keep the headers and power pins, and component coordinates and orientation. However, I will reroute it, make it 4-layer, 1 power, 2 and 3 are signals, layer 4 is ground, with ground copper pours for all. The cost for 4 layer is the same as 2 layer.

I had some free time last night and ported the schematics to EasyEDA, I had to redo completely everything from scratch unfortunately. The good news is I was able to match all components in stock, except the driver, so we can create a JLC BOM and fabricate directly using the EasyEDA / JLC integration. The bad news is, what’s left is the routing, because the Altium footprints are different from JLC footprints to a point it fails DRC.

Also I have a question about the capacitor which the two OpAmps are sharing, is this on purpose? I see you manually traced the line to both. I added a second capacitor to make the two symmetrical. Why is only one shared capacitor? Won’t that create cross-talk? Edit: Belay my question, got it.

I will clean the silk layer later, after I re-route the board.


5 SMD Boards BOM

If you avoid using special parts, and opt for basic parts, with extra $10 SMD discount
you could 5 boards for $50 including shipping which is excellent. Just need to add
manually the driver, if your soldering skills are good.

Also, you can save another $13 if you drop the headers and solder them yourself. This will remove the hand-soldering labor fee and manual assembly fee line items.

5 Boards, no headers


I’ve reused as much of the original routing and kept 2 layer.

The ported board is here:

If anyone is interested, please review. There are things to clean up but it should provide good basis for anyone to work with it.

I have not fabbed the board, and there is no guarantee that it would work, since there are no drivers available at that moment. Caveat emptor.


I think it’s definitely worth looking for basic parts to make it much cheaper. Is it possible to have multiple users edit the same EasyEDA project?

I don’t think so, probably not? Let me check.

Yes it is, I need to add you as a member, but haven’t done that before.

But we need to be careful, this is already forked because I redid everything from scratch, then for the PCB I reused some of Antun’s routing and added more stuff while I tried to keep some of the original net names, so the PCB itself is like Frankenstein’s monster.

It would be helpful if someone else reviews my work because I did it last night and may have missed something, I was tired.

I did look for basic parts, except the opamp and driver everything else has generics.

Antun was using non-standard extra-large 1206 footprint capacitors and resistor and LED, since originally (I guess) the board was supposed to be hand-soldered, which makes it a lot easier. If we go for 603, everything is basic. For a 10+ board batch you may get it down to $7/board including SMD.

Also, I see some European and Asian distributors have the driver in stock, but your delivery address must be like UK, or Japan.

Hey @Valentine,
I’m happy to see your engagement and it indeed seems much easier to share these hardware projects using the sites like easyeda than git.
I’ll try to use easyeda from now on.

I have a question, why did you need to rebuild the board from scratch?
What’s it due to some strange export stuff that I’ve done? :smiley:

Yep so basically the board was designed to be solderable by hand and that’s what I’ve done for cca 200 first boards :smiley:
The V1 is still pretty easy to self solder, but V2 has the current sense amps which require some special tools and I agree that the big components do not make sense any more.
Especially since the boards are in most cases going to be ordered assembled, which is faster and cheaper.

One capacitor for the opamps is only because they are pretty big and I was trying to fit everything to relatively small space between the driver and the connectior.
The capacitors are filtering the input voltage 3.3 or 5V and can even be removed if the LDO on the MCU itself is stable enough. The datasheet proposed to use one per opamp and that is probably the best practice. But inf you look it a bit more carefully you are connecting the two capacitors in parallel there in between 3.3 or 5V and ground, so you could use just one with double the value also. The ones that I’ve omitted also are filtering ones. The datasheet suggests to use the RC circuit at the output of the opamps to filter the signals. I told myself that we’re going to do low pass filtering in software anyway so I’ve left them out. The other big reason was the lack of space,but as you’re making a smaller component one maybe you can fit it also.

It is maybe worth saying also, that while designing the board the focus was simplicity and modularity. The idea was to have an educational board that people can use as is or base their designs on. It was never designed to be optimal in any way :smiley:

Great work!

There was nothing wrong with the board.

  1. Schematics

The problem was that EasyEDA and Altium have incompatible component databases. When you import the Altium project into EasyEDA, the import assigns nothing for the components, I mean the link is broken, which means EasyEDA doesn’t know how to generate BOM and PnP, as well as cannot link the schematics to the PCB layout. This in turn breaks the workflow, which means when you make a change in the schematics you cannot update the PCB layout. Also you cannot order SMD with the board.

  1. PCB layout

EasyEDA has very tight integration with the JLC’s manufacturing process. Which means the footprints are different from Altium’s “generic” footprints. Usually the EasyEDA footprints are larger than Altium’s, which means they cross over traces, and also Altium’s footprints don’t have enough area to “wet” the components and the components may form cold joints. Especially in your case this becomes a problem when you push very high current. Hence, the DRC fails, where they check the minimum distance between conducting copper surfaces.

  1. General PCB comments

The workflow is from schematics to PCB to manufacturing, obviously I am not saying anything new. However, with the component database link missing, everything falls apart. I tried keeping your schematics and replacing only the components. However, this failed due to footprint difference, because when I update the component I need to update the PCB, and the DRC failed. Also, it took a lot longer than simply creating a component list with the footprints, and re-creating the schematics from scratch rather than updating Altium’s import. It was a practical trade-off. The schematic was simple enough to be recreated in under one hour.

The PCB had to be redone again due to the footprint difference, as well as I saw some minor issues with the power tracks, where I built top/bottom areas with vias to allow for high current and better heat dissipation through the leads. Also, I widened the power tracks to 70mil (originally they were 30 mil IIRC). Below is original and re-worked.

Also please pay attention to the difference in Altium and EasyEDA footprint difference. EasyEDA’s is round, and longer, which steps over the adjacent tracks, in that case, the track net NETC3_1.

Once I replaced the components, I had to re-lay the PCB because EasyEDA wipes out the original layout. I am not sure if this is EasyEDA’s shortcoming or not, I didn’t write the backend so no idea but the result was a complete redo.

Lastly, the copper pour areas are re-layed because EasyEDA re-pours the copper areas with its own rules, which sometimes breaks the original design. Also, I added extra ground vias for better top/bottom connection and heat dissipation.

  1. OpAmp capacitors: I understand, I left one capacitor in the PCB, I manually replaced it, which means the PCB in the shared project doesn’t match my schematics. This can be fixed later.

Absolutely, this is for educational purposes. It’s a lot of fun and hopefully will inspire more people to get engaged. If the project is public, and EasyEDA is free and integrated with JLC, this would make it a lot more attractive to people who are willing to experiment.


A bigger package helps with DC bias present in ceramic caps, but I do agree that a smaller package wouldn’t make a difference in most (if not all) cases here. A 7 USD per shield directly from JLC would be awesome for the community!

agree :smiley:

True. However you still need extra $4 for the driver.

Yep and 2-3 euros for the headers and the connectors. And finally the shipping cost and the customs. :smiley:

But, with all that in consideration is should still be possible to have a board for less then 20$, for a bit larger quantity 10+

headers and connectors cost pennies if you buy in bulk and i dont pay for customs (US), shipping is also $4 per order (jlc gives me discount for 2day delivery) unless you order over a kilo worth of pcb (but then you plan ahead and ship freight ) so depending where you are you could get it really cheap. 3e per pcb for connectors in europe is quite high. i didnt know that wow. in that case it may be better to have jlc hand solder for you. that price i gave you is a door to door price no hidden extras.