SD card doesn't work on pysense
-
Hi
Having the same experience with Expansion Board 3.0.
After power up I can write some of the time if performed early (sometimes).
Leave it 20min powered up and no chance of writing.
Exception message - operation is not possible or OSError: [Errno 5] EIOCan read most of the time.
Sometimes unable to call SD()
Only use Sanddisk and FAT32.
This most frustrating.
T
-
Update:
I figured it out why it failed on one of our PySense boards ... after closer examination it looks like the pins on the board ... poked holes in the LiPo Battery pack we used ... and this must have shortened something inside the PySense ... ergo, it looks like it's the SD-Card controller that got fried or so ...
In other words, not really a software issue this time around :-)
-
@timh I have narrowed down why I can't write to SD card.
If i2c is being used then writes fail. (reads don't).
By not enabling I2C writes are successful.
I am using PINS P22 and P23 for I2C. This worked on Expansion Board 2.0
I cannot find anything in the docs regarding a potential clash with this choice of PINS.Am now going to experiment with deinitialising the i2c devices before reading/writing SD.
;-(
-
@timh P23 is used for SD card clock. That is shown in the Pin-Out.
-
I have even tried disabling I2c before writing to SD, but this doesn't work.
Bit stumped.
-
@timh The reason might be, that even if you deinit I2C on that Pin, it is not re-init'ed for SD card use. Without looking into the code, I assume that this is done when instantiating the SD object with
sd = machine.SD() -
@robert-hh yes, though I can see the sd card and list contents. It's only writes that fail.
Did a bit more poking around.Till now I have either tested just with USB or with external power on VIN and USB connected, and the writes failed always after I2C was initialised, and i2c deinit() didn't change the situation.
Using USB was the easiest to test seeing the full reboot. rather than reconnecting wifi.
What I have since discovered is removing USB connection and running off external power only, the SD card writes are now successful and reliable after I2C is initialized and being used.
I need to do more testing to really confirm this is the case.
Combine all of that with having to jumper G15 with 10K resistor etc for SD access makes the Expansion board 3.0 a bit of a pain compared with the 2.0 version. Also have had them go back into DFU mode a few times.
-
I am doing all of this as we use Losant, and want to be able to change running config if sensors or other parameters are changed and want to update remotely over LTE.
Really waiting for PyBytes to officially support LTE.
-
@timh When we dig down the G15 pull up to enable SD card use 10K resistor,
G15 is also SD_DAT. I wonder if when USB power is connected the 10K isn't quite correct and write operations once i2c is in use, causes insufficient voltage for SD writes ? I assume a write requires more power.
Don't know enough about this level of operation.
-
some SD cards are not compatible with pysense so you have to check which card is compatible and working fine on it.
-
@freddy said in SD card doesn't work on pysense:
os.mount(sd, '/sd')
I was getting the error on os.mount(sd, '/sd')
I found that cause the SD card was greater than 32GB that windows was only allowing it to be formatted to exFAT which doesn't work for the pycom. I had to delete all volumes of the SD card and create a new volume that was less than 32GB. Windows then could format to FAT32 and it worked from there -
I had the same issue with the Expansionboard v3.1. The issue got solved, after using another Expansionboard v3.1 I've bought recentely..... I never used the SD-Card slot on the first one before, so I don't know, why it seems to be broken. Well, at least it works flawless with the second Expansionboard.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login