Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PCB Design #2

Open
alekssobolewski opened this issue Jul 3, 2018 · 112 comments
Open

PCB Design #2

alekssobolewski opened this issue Jul 3, 2018 · 112 comments

Comments

@alekssobolewski
Copy link

Hi Naomi!

Can you please upload the PCB files in format that does not require a paid PCB design software?
Or at least Eagle files.

What program creates that .PCB file?

@Moorviper
Copy link

try kicad i think this could open it

@NikiSchlifke
Copy link

try kicad i think this could open it

Probably not.
A pcb layout isn't sufficient anyway, for open hardware we need the circuit diagram, the part libraries and the layout.

@alekssobolewski
Copy link
Author

Exactly @NikiSchlifke.
I already tried some programs, and it turned out to be an Altium Designer PCB layout. There is no elements and schematic within the file, so it is basically useless :/

@NikiSchlifke
Copy link

I already tried some programs, and it turned out to be an Altium Designer PCB layout.

Well it's the status quo in industry... as for us Hardware Hackers we really need KiCad

@Creality3DPrinting
@sexycyborg
Have a look at this, maybe this will help us out:
https://github.com/thesourcerer8/altium2kicad

@Moorviper
Copy link

ok it can't open it but it would be nice.
Prusa also switched to kicad

@MachineryEnchantress
Copy link
Collaborator

I agree KiCAD would be best, I'll see if something can be done.

@RudolphRiedel
Copy link

I am missing the schematics as well.
And the Ender-3.PCB is not really an Altium Designer file.
Altium uses .PcbDoc for the layout files.
This is an old Protel format that AD happens to be able to open, really old,
the last Protel version was 99SE. Altium Designer started in 2004.
It barely opens with two warnings generated for AD release 12 and 13.
The only component that has a 3D-model is the connector EXT-A2.

And there are really quite a number of real issues with this design.
But I have no idea if this repository means that we should point these out to Creality in order to let them eventually fix these.

@alekssobolewski
Copy link
Author

And the Ender-3.PCB is not really an Altium Designer file.

@RudolphRiedel Well, maybe it is a Protel file. I just found it opens without a problem in Altium. I'm not a specialist in in, just downloaded a free demo to open a file.
But it does not matter, we need a real schematic and pcb design file created in a free software (like KiCAD).
ender3pcb

@RudolphRiedel
Copy link

But it does not matter, we need a real schematic and pcb design file created in a free software (like KiCAD).

While yes, the schematic is missing I do not agree that Creality needs to supply the data in any form they are not actively using. In fact they do not "need" to supply anything and we can considers us lucky already that they supplied as much as they have now.
If asked nicely they may supply a set of .pdf files along with their original design data.
Or someone could just fork this repository and add more files.

And for what purpose do you really "need" the files?
Do you plan to build your own improved PCB? How many out there would do that?
I could do that and already with the data available but the important thing for me here is repairability rather than the need to create a new board from this.
Maybe tweak a few things.
If I wanted a new board I could chose one of the other available options like an Einsy-Rambo which btw. is released as Altium-Designer project.

@RudolphRiedel
Copy link

Here, I just created a project for the board and created an assembly plan with my default output job and not editing anything.

Ender3_pcb_parts.PDF

@RudolphRiedel
Copy link

Still yes, I would apreciate a schematic to go with this and I would gladly convert it to a .pdf as well.

@alekssobolewski
Copy link
Author

And for what purpose do you really "need" the files?
Do you plan to build your own improved PCB? How many out there would do that?

Well, my CR-10 is currently connected to MKS L just because I like to do everything on my own, but I have also two not working Creality boards that I broken accidentally. It would be nice to have a schematic to repair the board or add something new. For example improve the 5V supply and maybe change Allegro steppers to Trinamic.

@RudolphRiedel
Copy link

Repairability, exactly.
In the meantime this could be helpfull: https://github.com/RudolphRiedel/CR-10_wiring

I started to draw a schematic for the CR-10 controller-box a while ago, the whole thing including the pcb.
This is as complete as I needed it to be so far.
And the Ender-3 has the same controller-board as the CR-10, well at least later models came with the V1.1.2 version of the board we see in the Ender-3.PCB now.

With the PCB data I could easily improve my schematic further but at the same time I would prefer if Creality supplies the original schematics.

@alekssobolewski
Copy link
Author

Wow! Thanks a lot @RudolphRiedel 😃 I need to replace the stepper drivers, so now I can make an adapter to plug them for example on breadboard (I really have to learn how to properly solder QFN uCs 😛).

@RudolphRiedel
Copy link

It is a start, I was more interested in the controller. And with the wiring of the box I tried to figure out a way to add an auto-bed-level sensor more elegantly to the control-box.

Soldering QFNs is not really that difficult. An affordable hot-air station, flux, something to mask off the rest of the nearby area of the board like capton-tape.

The A4988 only have a QFN-28 case and the board has only two layers, so these should come of quite easily.

Regarding tweaking, I was thinking about changing the config for the Z-Stepper from 1/16 steps to full steps.
And now that we have the layout I can check that in detail without the need to remove the heatsinks.
It turns out that each stepper driver has resistors on every single config line including MS1, MS2 and MS3 which control the microstepping resolution.
I could easily remove R35, R36 and R37 and connect their pins that lead to U7 with GND.
Sure that reduces the resolution of the Z-axis to 0.04 mm per step and you have to keep that in mind with the layer-heights. But going full step gives it more strength.

Or in other words, Creality delivered, if not all than most of it and in some regards with a suprising level of detail. We can hope that they are so kind to provide even more information but it is up to the community now to take part in this.
Stop demanding that everything is handed to you, apreciate what you got and do something with it!

And no, I am not adressing you specifically with this Aleks, more the community overall. :-)

I did not like the supplied BOM, so I exported a new one and started editing it.
Ender-3_BOM.xlsx
Miss something? Add it!

@digitaljunk
Copy link

@RudolphRiedel thanks for your efforts. Great work.
But Creality should fulfill the OSHW certification. Especially when they start to do marketing with that OSHW and Open Source hardware term.

@Creality3DPrinting please publish all files in a file format that can be used for improving the hardware.

@RudolphRiedel
Copy link

@digitaljunk

The schematic is missing, okay. And probably the project file and a few files around them.
Above the parts library has been requested but the parts are just embedded into the PCB file and can be generated from it: Ender-3_PcbLib.zip

But otherwise releasing the original design files in whatever format is fully compliant with the OSHW definition: https://www.oshwa.org/definition/

For crying out load, they went this far and released their original data.

If it is not in some weird custom format no one ever has heard of you will find someone who can convert it. Regarding converting, I took a quick look at the https://github.com/thesourcerer8/altium2kicad from above and it uses .PcbDoc files from Altium Designer and not .PCB files.
So I just saved the file with AD17:
Ender-3_PcbDoc.zip

Have fun with it and post a KiCad file if you can.

Would you like a set of Gerber files as well?

@MachineryEnchantress
Copy link
Collaborator

Guys, it's literally just me doing this and there's a million other things going on. Unless your 3D printing parts for your failing iron lung cut me a little slack and give it some time😉

@DuncanAmos
Copy link

Let's get things in perspective:

Creality did their design in what is probably the best Schematic/PCB/Workflow/3D combined package out there - why the heck wouldn't they?

Eagle is a far more common 'maker/enthusiast/hobbyist' package that KiCAD so, for a moment, let's get real...

Altium does have the capability of exporting their design files in file form called ACCEL ASCII format. This is a data structure EAGLE is able to import. If you wish to import a schematic, click on File/Import/Pcad, Altium, protel option. Then follow the prompts on the dialog box.

I don't know what file imports exist in KiCAD, but maybe this is a start?

Naomi is doing her best - thank you Naoni...

@MachineryEnchantress
Copy link
Collaborator

I just uploaded a bunch of PCB files that I got in different formats, sorry I'm a bit out of my depth if they are useful, or can be converted to something useful I can also upload please let me know.

https://github.com/Creality3DPrinting/Ender-3/tree/master/Ender-3%20PCB

@UrsBruetsch
Copy link

I'm a happy user of Altium and my idea is to change the Atmel 8bit processor to ESP32 for more power of the printer and maybe (later) for network compatibility. But it is exhausting and time-consuming to develop the circuit diagram from the board. So it would be great if the documents were complete. So that the community could participate in the development of Ender, CR10 and other...

@DuncanAmos
Copy link

DuncanAmos commented Aug 15, 2018 via email

@UrsBruetsch
Copy link

UrsBruetsch commented Aug 15, 2018

Duncan, thanks for your answer. Yes, you're right, it's not really necessary to change the Atmel to ESP.
And you can go with RasPi and Octoprint. That's a safe solution and it works
but it is also a complicated way to print.
Wifi is defacto a standard in the printer industry.
The ESP also has the advantage that it is much faster than an 8-bit Atmel.

Solutions like Klipper are very charming, but you always have to make the detour via a RasPi and reprogram the printer hardware. Not very comfortable for the people (beginners).
My idea is to update the printer electronics directly to have more speed and comfort without special external hardware and software. The RasPi solution costs more time and money to install and requires a lot of expert knowledge ...
So to bring the printer into a network and improve the speed, the ESP is certainly a good solution.

Octoprint may be a standard, but it was only created to make a difference. The challenge continues. Because stoppage is no progress ...

@RudolphRiedel
Copy link

Sorry Naomi, but I went thru the files and do not see how these would be of any more use than the ones we already had,

The schematic is missing and not more versions of the same board file.

And btw. the board file has no 3D information except for one connector that is not even populated for the Ender-3 but replaced with a capacitor.
Plus the PCB has a few pretty obvious design flaws.
Without schematic and project file and everything else connected to the pcb-project it is however not that easy to contribute anything.

Would Creality even be interested in contributions?

@DuncanAmos
Copy link

DuncanAmos commented Aug 15, 2018 via email

@DuncanAmos
Copy link

DuncanAmos commented Aug 15, 2018 via email

@RudolphRiedel
Copy link

I am pretty sure that Naomi knows what a schematic file is even when not beeing told to lock for a file called .sch or .schdoc.

@RudyFiero
Copy link

RudyFiero commented Aug 15, 2018

My two cents. Do you really think that Naomi can just go looking for whatever engineering files she can find, that she has access to the engineering documents they have? I would think not.

If she isn't getting the kind of material that would be useful then I think it is because whoever she is dealing with is either not being as helpful, or they have been directed to not provide very useful information.

Without schematic and project file and everything else connected to the
pcb-project it is however not that easy to contribute anything.

I would think they would be open to comments. As far as taking in design files, I would doubt it. It would have to be pretty spectacular work before I would do that. Or the previous work would have to be severely flawed. And I doubt that is the case. I didn't spend too much time looking at the PCB layout but I didn't see big problems. Sure there were a few minor things that I would not have let through, but I'm pretty particular about pcb design.

@DuncanAmos
Copy link

DuncanAmos commented Aug 15, 2018 via email

@MachineryEnchantress
Copy link
Collaborator

Okay so are we saying the new files I just uploaded are not useful? What format that can be exported from Altium Designer would be useful?

No, I don't know a whole lot about PCBs, no insult there or anything. That's why I'm asking.

@RudolphRiedel
Copy link

Have you figured out what the difference is between the V1.1.2 and the V1.1.3?
I have both boards on my desk and have not noticed anything else than that EXT-A2 is populated with a capacitor on the V1.1.3 instead of the 3-pin header.
This alone should not be enough for a new board revision, this is merely a change in the BOM.

Also, I forked the Melzi 1.1.2 repository, threw away the "schematic" that does not match the V1.1.2 board and put all the files in it that I still miss in the Ender-3 repository: https://github.com/RudolphRiedel/CR10-Melzi-1.1.2/tree/master/Circuit%20diagram/Motherboard

I also went a step further and started correcting a few bugs with the original .PCB.
Nothing functional though, it still is a V1.1.2, only with less broken data.

@sl1pkn07
Copy link

sl1pkn07 commented Feb 1, 2019

then, if i remove the capacitor and put in it a jst pin header, can use as filament sensor (or any sensor, like bltouch) like say in the motherboard diagram?

@RudolphRiedel
Copy link

Sure, like I explained a litte further above.
The header connects to the only unused I/O pin of the M1284P.

@RudyFiero
Copy link

If you remove the capacitor from that spot (in order to use the header) you should be putting the capacitor back into the circuit in an equivalent position. They put it there to fix a problem. Just removing it may cause operational issues.

@DuncanAmos
Copy link

DuncanAmos commented Feb 2, 2019 via email

@RudolphRiedel
Copy link

I do not see it.
I have both boards here and from above there is no difference.

grafik

There is a difference on the bottom though.
grafik
grafik

There is very small copper-bridge at the bottom near the left hole.
And this tiny bridge that hardly counts as a trace is gone on the V1.1.3 board that I have.,

This is not an improvement though, it makes the layout worse.
And it merely looks like an accident or happened by chance as this bridge is so small that different batches of the V1.1.2 could not have it while different batches of V1.1.3 have it.
A deliberate change for the better would have been to make this significantly wider.

@LongLiveCHIEF
Copy link

I'm having a problem where my hotend heats up immediately on powerup. I pulled the board and i'm just looking to replace the fets that are bad. I have tons in stock, but can't find the datasheet for the part number (KGA7114), and it would be nice to know the specs so i know if i have something in my inventory I can swap in for a quick fix.

@RudolphRiedel
Copy link

RudolphRiedel commented Feb 2, 2019

You found the "wrong" thread. :-)
#26

The problem is to identify which FETs are really on the board, especially since the heatsink is glued to them.
If these are really RFP30N06LE it should not be that hard to find a replacement.
It is not that difficult to beat 47mR at 5V.

Edit: and I just checked that now, I definately would not go for the IRF522.

@LongLiveCHIEF
Copy link

I pulled the heatsink off and tested them. It's the middle one.

@LongLiveCHIEF
Copy link

Looks like IRLR3114 should work, but I got a MKS Gen L coming anyways so... /shrug

@Deneteus
Copy link

Sure, like I explained a litte further above.
The header connects to the only unused I/O pin of the M1284P.

Could you post the location of where the capacitor should be relocated for future reference? A pic would help.

@RudolphRiedel
Copy link

Well, problem is to find a spot this cap would be benefical at in the first place.

grafik

Highlighted are the 5V.

One could place a new cap where the "Creality3D" is written on the PCB.

grafik

I would solder it to C42 and have it lie on its side covering the "Creality3D".

But this board layout is so bad, I really wonder why it works this good in the first place.
And yes, I could elaborate on this in detail but apparently Creality3D is not listening anyways.
In case you wonder, I still have these boards unmodified in my CR-10 and Ender-3.

@marekr
Copy link

marekr commented Apr 10, 2019

Just gonna throw it out there but there are quite a few Chinese engineers that design pcbs straight as artwork rather than drawing in schematic capture first.....(they pen and pencil it). Could be why there are no schematics here. Even bigger sign is they all seem to use that same old protel version that's pirated in every form at this point.

@RudolphRiedel
Copy link

They do have the schematic as can be seen here:
https://github.com/Creality3DPrinting/CR10-Melzi-1.1.2/tree/master/Circuit%20diagram/Motherboard
https://github.com/Creality3DPrinting/CR-10/tree/master/Circuit%20diagram/Motherboard

The supplied CR-10 Schematic.pdf however does not match the supplied CR-10 Motherboard.PCB.
The PCB is for the V1.1.2, the same as the Ender-3.PCB in this repository.

The schematic is for a dfferent version of this board, very similar but not the same.
The jumper J5 in the schematic for example has been removed for the V1.1.2 board.
The schematic is also missing a LED.
The schematic only has the Date "2018/6/7" and the name of a directory "D:\CR-7" as hints of origin.

I carefully tried to remove anything that could be seen as my opinion.
If you do no like the things I report, do not blame me for it.
If I got something wrong, point out what.

@CircuitSetup
Copy link

There is very small copper-bridge at the bottom near the left hole.
And this tiny bridge that hardly counts as a trace is gone on the V1.1.3 board that I have.,

I'm just now seeing this and am wondering how anything works at all. On the v1.1.2 board there is hardly any ground plane at all from the main power terminal. Just a tiny bit under R18. The vias next to C30 do absolutely nothing since the mounting hole is in the way of the bottom plane.

@sl1pkn07
Copy link

sl1pkn07 commented May 3, 2019

I'm just now seeing this and am wondering how anything works at all.

mgc

@RudolphRiedel
Copy link

I would put that in the realm of luck.

The return path for the current the stepper drivers draw is one issue.
Also the return path for the current that is sent thru the bed and the hotend.
Annother one is the lack of decoupling capacitors at the controllers VCC pins.
The layout for the crystal and most importantly the caps is as wrong as it could be.
The LCD could easily be using the second UART in spi-mode but instead it has to be used with software-spi.
The caps for the stop-switches and the temperature-sensors have unusually high values.
The board-cooling fan beeing coupled to the part cooling fan is a bit scary for printing PETG for example.
There are no passive components at all around the USB, no resistors, no caps, nothing.
There is nothing to counter the massive voltage drop you get when you hot-plug a sd-card due to its inrush current. Okay, four vias and 10 mil traces might play a role in not killing the FT232RL (and there is nothing to indicate that this is by design). With C31 there is only a single 100nF cap for the whole 3.3V trace with the output from the FT232RL, the HC541 and the SD-card.
That the FT232RL is misused to supply the SD-card is annother issue.

ARef tied to VCC is just a minor detail that is wrong.

That is what I found on the spot, there most likely is more.

But hey, it is still working, nothing of the above prevents it from working.
It may have EMV problems, it may be that it could break due to some flaw but it still does the job.
I still have the black pre V1.1.2 installed in my CR-10 and the V1.1.2 installed in my Ender-3.
And while I can not be sure for the CR-10, I put the Ender-3 thru at least 250 hours or printing PETG.

The only sad thing is, all of this could be easily fixed by now if Creality3D would be embracing the idea of Open Source instead of just dumping a bunch of files in a repository and be done with it.

They could be using a much better board by now with close to no or even no additional costs to make and close to no cost to develop it.
At least I would have put in some hours for free to review and redesignt the board.

Instead we still have no answer to the question what has been changed for the V1.1.3 board (and apparently it is only a very minor detail or otherwise it would have been spotted by now).
And we still do not have a schematic for the V1.1.2 board other the one that I reverse-engineered from the board data (and which still may be faulty to wrong data in the board file).
We have the .pdf files over in the CR-10 and the CR10-Melzi-1.1.2 repositories for four months now that do not match the board files in that very same repositories.
These are not the schematics for the board files.

According to the .pdf this is the schematic for the CR-7 Melzi board.
And the picture of the CR-7 board I found shows that it is at least similar, except that it is red, still has the USB power jumper, already has a switching regulator (in DIP) and has a barrel connector installed instead of the screw-terminal.

I really have no idea why this has not been corrected in over four months.
And I have no idea why OSHWA is okay with this - and I asked them to discuss this with Creality3D in order to have this fixed.

CR-7 controller board:
grafik

@RudolphRiedel
Copy link

already has a switching regulator

After a second glimpse at this board I believe I was wrong about this.
I was quick to assume that it has a switching regulator since the schematic shows one and there likely is a board that matches the schematic.
But unless it is a very small one that is hiding behind the heat-sink of the regulator, there is no inductor on the board which means that this is not a switching regulator.

So, sorry, no, the board in the picture does not match the schematic either.
It probably is an earlier version of the board.

I tried to find a different picture of the CR-7 controller board but have not found any.

@probonopd
Copy link

Would it be possible to generate an OpenBoardView file for the Ender board?

@RudolphRiedel
Copy link

Are there even converters for OpenBoardView available?
And from what format?
There is nothing on https://openboardview.org/ that I would call documentation.
There is no "import" into OpenBoardView and the File/Open has no filter for supported formats.

There is however a free viewer for Altium:
https://techdocs.altium.com/display/ALEG/Legacy+Downloads
http://downloads.altium.com/altiumdesigner/AltiumDesignerViewerBuild9.3.0.19153.zip

To make good use of it, try the files from my forked repository:
https://github.com/RudolphRiedel/CR10-Melzi-1.1.2

In contrast to what Creality released so far there is not only a schematic that actually matches the board, the schematic is in binary form and not only a .pdf.
This also is a complete Altium project.

We never got an answer to the question what the differences between the V1.1.2 and the V1.1.3 boards are.
I have never found anything else than that EXT-A2 is populated with a pin-header on the V1.1.2 boards and a 100µF/16V capacitor on the V1.1.3 boards.

And after playing with these files again, it really is a shame that there is no point in fixing the design.

@probonopd
Copy link

Are there even converters for OpenBoardView available?
And from what format?
There is nothing on https://openboardview.org/ that I would call documentation.

Indeed I wonder the same things...

Thanks for your hints. I still think an OpenBoardView file would be very useful for repairs, maybe we'll eventually find out how to make them.

@sl1pkn07
Copy link

@RudolphRiedel
Copy link

Any hints on why this has a new revision?
From looking over the pictures, my guess it is just to have a revision that is unique to TMC2208 populated boards.
The only new feature seems to be that it is black.
The design flaws like misplaced caps, no solid GND return path for the steppers and drawing power from the USB chip for the SD-card are still there.
Most likely the case fan is still tied to the part-cooling fan.

Don't get me wrong, I would not call these bad boards and I would like to have these in my printers.
But I think they need to do more before I consider spending this much money and more importantly before I consider removing the boards I already have.

@probonopd
Copy link

Also, still no connectors for TX and RX so that one could hook up, e.g., an ESP8266...

@sl1pkn07
Copy link

sl1pkn07 commented Jun 29, 2019

Fysetc Cheetah or BigTreeTech SKR MINI-E3 is probably better choice than stock boards

EDIT: new board BigTreeTech SKR E3-DIP (with interchangeable drivers. include drivers with mode UART or SPI without wiring)

@RudolphRiedel
Copy link

Now that is interesting,
I have no idea though why the heck they chose a STM32F103 for a 2019 product.
Also I could not find a schematic for the mini E3.
And apparently they are using Marlin but only FYSETEC is releasing the source-code?
Maybe it is too early for Bigtreetech, but for the E3 DIP they only released a binary blob and for the E3 mini they released nothing so far.

A nice touch is that the mini E3 is using a bootloader that can update the firmware from SD-card.

@creality: Put an ATSAMD51 on the V1.1.5 board to make it a V1.2.0 and I am almost in.
This has the benefit that the supply can be switched to 3.3V so the SD-card is properly supplied as well and the CH340 can be removed since the ATSAMD51 has native USB.
Also the ATSAMD51J19A-AU costs less than the ATMEGA1284-AU while having four times the memory.
Add annother fan header with fixed voltage and change the LCD connector to use a hardware SPI and I am definately in.
And please switch from miniUSB to at least microUSB.
Check out Adafruits Feather/Metro/Grand Central M4 designs to see how it is done.

@probonopd
Copy link

And please give us RX and TX pins so that we can attach serial devices (e.g., ESP8266 with https://github.com/probonopd/WirelessPrinting).

@RudolphRiedel
Copy link

The ATSAMD51J19A-AU has 64 pins and 6 SERCOM units which can be used for SPI/TWI/UART.
One SPI for SD, one SPI for the display, one UART could be used to expand upon the functionality of the TMC drivers, this still leaves three units. One is probably located on the analog pins so this should be avoided.

@sl1pkn07
Copy link

seems SAMD51 is not supported by marlin

MarlinFirmware/Marlin#14345

@RudolphRiedel
Copy link

At least it is in Alpha already. :-)
And there is an ArduinoCore for it.

Here, I started a schematic for it in the meantime:

CR-10 Schematic_V1.2.0.pdf

Unfortunately it does not make any sense to build a couple of these for me alone.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests