Jump to content
Ultimaker Community of 3D Printing Experts
Sign in to follow this  
frodeheg

SD card not working on ultimaker controller

Recommended Posts

I cannot get the SD card working on the ultimaker controller.

On the display I get no feedback that anything went wrong, it says "Card removed" or "Card inserted" when supposed to and I can go to the "Card Menu", but then it only shows two items: "Main" and "/.." none of the files on the card are listed, and the card does work on my computer.

It was using FAT, so I tried Fat32, but that only made the ulticontroller go haywire, so I went back to FAT again, suppose that was correct.

One thing I notice though is that every time I open "ReplicatorG" and connect to the ultimaker I get this message in the list of messages once when I connect and once for every time I insert a SD card:

[00] sd init fail

[00] SD card failure!

I am using Marlin 1.0.0 release candidate 1.

any ideas?

Share this post


Link to post
Share on other sites

It is an SD card or an SDHC card? Because SDHC cards are known to not work correctly (but usually are detected)

I initially got an 4GB SDHC card for my UltiController, and that was nothing but troubles. I switched to an 1GB SD card and that worked. If you have other cards around you could test those to see if the problem is in the SD card or the UltiController. (after all, it could also be a bad connection somewhere)

Share this post


Link to post
Share on other sites

It is a "Kingston" 2 GB SD card (not SDHC), which was the one that came with the Ultimaker controller.

and yes I did properly disconnect the SD card.

I don't think this is a cable issue because if I swap the two cables I get the same problem and the screen is still working.

I think the problem is elsewhere, because as I said I get the "sd init fail" message in ReplicatorG even before I insert the SD card.

Initially my cables was swapped, can this have something to do with it? According to the wiki it should not hurt to have had the cables wrong.

I don't think this has anything to do with it due to the error message I get, but are there any restrictions on the file names?

Share this post


Link to post
Share on other sites

With "connection problems", I did not only mend to say "bad cables", but you could also have a not connecting, bad soldered pin on your PCB. On both sides, the Ultimaker PCB or the UltiController PCB.

I think both FAT and FAT32 should work, and there is no restriction on filenames, but it shows filenames in the old "dos" 8.3 format. So you better use short names.

Share this post


Link to post
Share on other sites

Thanks Daid,

I have tried to check for short circuits and voltages, however I'm not sure where all the signals should go, is the ultimaker controller using the same layout as the SD controller from Eric on this page?

http://reprap.org/wiki/Ultimaker%27s_v1.5.4_PCB

One thing that made me puzzle was that the voltage between pin 3 and 4 (on the SD card) which is the SD card power supply measue 2.37V when there's no SD card while it is 1.55V when the SD card is present.

This is apparently caused by that GND on the SD card is not the same as GND on the EXT2 interface.

If the SD card is out, I meassure 1.78V from EXT2 GND to SD card GND and 2.37V from SD GND to SD Vcc

If the SD card is in, I meassure 2.58V from EXT2 GND to SD card GND and 1.55V from SD GND to SD Vcc

Can this be right?

According to the SD card specification the operating voltage of the SD card should be between 2.0V and 3.6V

I don't have this much voltage when the SD card is inserted... only 1.55V as you can see above.

The voltage supplied by EXT2 is the same regardless of if the SD is inserted or not, 6.22V

Share this post


Link to post
Share on other sites

Small update:

The voltages measured above was with only EXT2 connected, EXT1 was not connected. (I thought EXT1 was for the LCD, apparently it was not... seems like the SD GND is grounded to the EXT1 GND but not EXT2 GND, which explains the voltage differences)

If I connect EXT1 as well I measure 4.14V between the SD GND and SD Vcc regardless of if the SD card is inserted or not... This on the other hand is outside the SD card operating range (2.0V to 3.6V) so I still have my doubts...

Do you think it is an issue between the EXT2 GND and the SD card GND?

Share this post


Link to post
Share on other sites

Thanks again Daid. I have checked all the connections according to the schematics you linked to and I cannot find any issues with it. It seems like the Ultimaker Controller is perfectly fine... The only thing I am puzzled about is the voltage... According to the SD spec, the card should not be damaged if it is below 4,6 V, but it is not guaranteed to work if it is above 3,6V

So right now I am guessing it could be

a: the SD card I have does not work at 4.1V (which I wouldn't be surprised of)

b: the ultimaker PCB has some issues on EXT2

c: the Shift register on the ultimaker controller has some issues.

I will get a logic analyzer tomorrow to rule out if it is c, then check for option b and try to get some other SD cards to check for option a but if that still doesn't help I'll try to make a custom cable where I patch the 3.3V from another power supply...

Share this post


Link to post
Share on other sites

Yes, level shifter, sorry :-)

The 19 V power supply delivers 22.6V to the Ultimaker PCB

The Vin to the Arduino is 13.0V while the voltage I got now is 3.6V (earlier today I got 3.8V, so it's improving.... )

The Arduino mega 2560 spec says:

"The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may be unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts. " (

http://arduino.cc/it/Main/ArduinoBoardMega2560

)

So 13 V into the Arduino is a bit on the high side and may damage the voltage regulator.... I wonder if this is what has happened?

Share this post


Link to post
Share on other sites

That is a very good point Daid!

I tested my multimeter against my lab power supply and the multimeter shows constantly 7.6% to high numbers :-(

Then the problem is not the voltage, phew :-)

Next on the plan:

* Test the connections on the EXT2 interface on the Ultimaker PCB

* Attach a logic analyzer to the ext2 interface while trying the sd card

* Make custom firmware to get some debug output on the screen

Debugging is going slow because I can't debug while printing, and it is just a few days since I managed to get decent quality out of the prints. What is most fun, printing awsome quality figures or debugging? I fear this is going to take a long time ;-)

Share this post


Link to post
Share on other sites

The garbage on LCD is fixed in the latest Marlin firmware. It's caused by the SDCard insertion sometimes glitching the LCD clock line. But it should not impact the functionality.

It's a shame that it doesn't work for you out of the box. Did you contact Ultimaker support? Because I advice to do so if you order something from them and it does not work.

Share this post


Link to post
Share on other sites

No, I have not solved it yet. I am in England right now, so I had to delay any further debugging.

I was in contact with Ultimaker support and they was very nice. However I want to find the exact cause before shipping anything back and forth, so I'll investigate it further next week.

And yes, I have also had some troubles with LCD artifacts.

I just got the firmware source tested on Tuesday, think I am very close to finding the cause :-)

Share this post


Link to post
Share on other sites

You can build a new firmware with:

http://daid.eu/~daid/marlin_build/

Download the zip and run the upload.bat

However, for ReplicatorG to work, you need to enter the correct baudrate before building, else it will not connect. For RepG34 I think the correct baudrate is 115200. All other settings have proper defaults, except that you also need to enable the UltiController at the bottom.

Share this post


Link to post
Share on other sites

Hi Frodeheg,

I am having the same exact issue as you are.

"On the display I get no feedback that anything went wrong, it says "Card removed" or "Card inserted" when supposed to and I can go to the "Card Menu", but then it only shows two items: "Main" and "/.." none of the files on the card are listed, and the card does work on my computer.

When I use printrun to connect to the ultimaker I get this message in the list of messages once when I connect and once for every time I insert a SD card:

echo sd init fail"

So can you please explain through screenshots where to check for bad soldering between level shifter and sdcard??? Appreciate it!

I don't know a whole lot about electronics or soldering for that matter.. but perhaps i can figure out how to solder..cant be that difficult i think...

Share this post


Link to post
Share on other sites

Hi, since the ulticontroller is a fairly new thing I guess there still are some areas for improvement on the checklist before shipping the ulticontroller. For example, testing that the display shows "Card inserted" is not sufficient since the card detect signal is sent on a different wire than the data, so they need to check the file listing on the SD card as well in order to know it is working.

If you let Ultimaker sales know about this they will leave you with two options:

1) Send your UltiController back and give you a replacement.

2) Fix it at your own risk and void any warranty.

When I contacted them they was very nice, but I didn't want to wait to get a replacement, so as soon as I found the problem I fixed it myself because it seemed like an easy fix.

You should contact them in either case, just to make sure they update their testing procedure... (unless they already have since it's not that long since I made them aware of the problem)

For reference, here is the pin I had to solder: file.php?mode=view&id=237&sid=75634a57edf20750498b2f94850bc5b7

Share this post


Link to post
Share on other sites

Thanks for your reply Frode.

So, using a multimeter (continuity testing) to check connection between sd card (2nd) and the level shifer (MOSI) seems to be fine.

Should there be connection between the two areas marked in orange in the attached photo? Basically between pin 6 on EXP2 and MOSI (3)?

Using the continuity tester, I dont hear a beep when i try to test connection between those two areas...

Edit: Actually I have no idea how to go about troubleshooting... I have reached out to Ultimaker Support to see what they suggest. I will go with the replacement option - but I hope they pay for shipping the defective pcb back..

Share this post


Link to post
Share on other sites

No, but you should have a connection from the EXP2 MOSI pin to the pin above the pin you indicated in the SHIFT block. The SHIFT block convert from 3.3 V (SD card) to 5V used by the arduino. The one you have indicated goes only to the SD card and is 3.3V.

Here are the pins and how they should be connected:

Shift Pins: (right side, s8 at the top)

s8 GND (from EXP1)

s7 SCK (connected to p2)

s6 CLK (connected to SD5)

s5 SS (connected to p4)

s4 SHIFTB (connected to SD1)

s3 MOSI (connected to p3)

s2 SHIFTA (connected to SD2)

s1 3.3V (connected to p8)

SD Pins: (1 at the top)

1 GND (from EXP1)

2 CS SD_CARDDETECT (connected to p7)

3 SD8 = DAT1 (unused)

4 SD7 = MISO (connected to p1)

5 SD6 = GND (from EXP1)

6 SD5 = CLK (connected to s12)

7 SD4 = 3.3V (connected to p8)

8 SD3 = GND (from EXP1)

9 SD2 = SHIFTA (connected to s2) = MOSI

10 SD1 = SHIFTB (connected to s8)

11 SD9 = DAT2 (unused)

EXP2 pins:

p9 : - p7:SD_CARDDETECT p5:S_E1 p3:S_E2 p1: MISO

p10: - p8:3.3V p6:MOSI p4:SS p2: SCK

EXP1 pins:

e9: GND e7:LCD6 e5:LCD4 e3:LCDE e1:MEGA_18BEEPER

e10:Vcc 5V e8:LCD7 e6:LCD5 e4:LCDRS e2:S_EC

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Our picks

    • Taking Advantage of DfAM
      This is a statement that’s often made about AM/3DP. I'll focus on the way DfAM can take advantage of some of the unique capabilities that AM and 3DP have to offer. I personally think that the use of AM/3DP for light-weighting is one of it’s most exciting possibilities and one that could play a key part in the sustainability of design and manufacturing in the future.
        • Like
      • 3 replies
×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!