Anyone used this serial 'disk drive'?

moxhamj

New Member
$29.90 http://www.4dsystems.com.au/prod.php?id=22 and read the user manual which is a link on the left of the screen.

Uses SD cards. A very simple serial command set. Any baud rate (auto locks on by initialising with a "U" at startup). Megabytes of storage. Does use 3V so needs resistors if running from 5V. But picaxe runs from 3V too. Write/Read a sector of 512 bytes or even write/read single bytes.

May almost be simpler for external storage than external eeprom, and the instruction set looks simple enough for even an 08M to run.

Is there a catch?

Addit: I just ordered one. It looks *so* much simpler than trying to bit bang SD cards or write IDE drivers. And with wireless links, only one board would need to have this large storage.
 
Last edited:

manuka

Senior Member
I've had very good contact with 4D in recent times, mostly re a GLCD screen sent for a SiChip review, & continue to be amazed by their nifty products. This serial drive may well be "the good oil".

You've motivated me to see what else was in the package- things were so tiny that I may have overlooked something!
 

GreenLeader

Senior Member
Awesome - I am very keen to hear how it goes Dr Acula. I've been using EEPROM for my car data logger project.

It takes a long time (20-30min) to download 8x24LC256 EEPROMs at 115kbaud. This drive would eliminate the download issue altogether.

... on second thoughts, it won't solve the download problem - I assumed I could eject the card, plug it into a card reader and copy the files to my PC but I suspect that's not possible - the data won't be in any PC format :(
So how would you get the data off the card in the form of say a text file on your PC?
 
Last edited:

moxhamj

New Member
Looking at the command set I think this could easily work with the smaller chips like an 08M. If the card is already in place, you don't need to initialise the board.

So the first step is to send a "U" at the baud rate you want eg a serout U
Then set the address (up to 2GB) which is a 6 byte command of which 4 bytes are the address. That is a few lines of code to set b0 to b3 and then a single serout.
Then write a byte. That is a 3 bytes command.
Then read it back.

I think the address gets incremented - maybe need to resend it for a read.
There are acknowledge bytes byt these could be ignored for smaller code.

It could come in under 10 lines of code.

Ordering was easy - took less than 3 minutes and they do lots of payment methods including paypal. I selected a courier so might have the parts early in the week.
 

leftyretro

New Member
Does look like a very useful and affordable method to add bulk storage. I noted their web site has a forum and they seem to be working on a firmware upgrade to support FAT-16. That of course would make transfering files between a PC a peice of cake, but I'm sure at the expense of more code on the Picaxe to support that mode.

I kind of like the simple serial protocol that the present version uses and one can use either single byte read/write or 512 byte sector read/write. Reading the data sheet it seems that the sector write to the uDrive does not time out waiting for data, so one really doesn't have to have a 512 byte write buffer in the picaxe to take advantage of this mode. However there doesn't seem to be a way to handshake for reading 512 byte sectors for not sure if a Picaxe could handle receiving a whole sector of data at a time? Wonder if one could write in 512 byte sector mode, reset address and read back in single byte mode? Worth experimentation I would think. That would be a cool way to data log for a long period and later read and upload logged data to a PC connection.

Keep us update on your experiance with this SD mem module, I'm sure a lot of us would be interested in your further comments on it.

Lefty
 
Last edited:

hippy

Technical Support
Staff member
Haven't used but it looks interesting - I think there may already have been discussion on it in the forum already but I may be mistaken.

The only real issue ( I haven't read the datasheet ) is how uni-directional the serial comms is. As the pre-X1 PICAXE's only have blocking SERIN/SEROUT it can be hard to deal with responses which come back at the same time as sending or soon after.

Using HSERIN/HSEROUT on the X1 may get round that, or it may be possible to use two PICAXE's one sending, one receiving but that's all added complication.

I don't know how this compares with the USB031 VDRIVE2 ( uses USB ). The price seems to be comparable.
 

leftyretro

New Member
seems like you can use it with 5 volts
Yes, that did seem a little contradictory at first as I read the data sheet. However they do repeat the warning several times that a 5vdc serial input data from an external controller to the module should have a series resistor to limit the current. So I assume that the module has a on-board regulator that can handle a wide voltage input, however the regulator's output voltage and the actual logic is 3vdc and therefore the caution to install series resistor on the data in pin does apply in my opinion.

Lefty
 

Michael 2727

Senior Member
As Retrolefty and Doc note

The Main Supply can be 3.6V to 6.0V.
But the Serial I/O lines must be at 3.3V -
The RX and the TX signals are at 3.3V levels. If interfacing to a host system running at
voltages greater than 3.6V levels, say 5.0Volts, then a 100 to 220 Ohms series resistor must
be inserted between the Host Tx and the µDRIVE-uSD-G1 Rx signals.
If you blow out the RX TX lines you will end up with a $29.00 SD Card Holder ;)

Looks very interesting, nice find Doc,

Dear Santa,
~~~~~~~~~~~~~~~``
 

Michael 2727

Senior Member
but will it work the other way (picaxe reading the 3.3 volt signals off of the reader)?
As a rough guide-
A Logic 1 is 2/3 of the Supply and above.
A Logic 0 is 1/3 of the Supply and below.

@ 5V 2/3 Supply is 3.3V, should just scrape in.
@ 4.5V 2/3 Supply is 2.6V
@ 3.6V 2/3 Supply is 1.2V
If you have trouble with a 5V Supply, a single diode on the supply
to picaxe should provide enough voltage drop for a better result.
And you get free reverse ploarity protection ;)

Hey Stan, have another look in the junk box, should be a couple of RFM 433MHz
modules in there also ;)
 

manuka

Senior Member
Bah-never mind room filling junk boxes! The 4D package was matchbox sized, & that also housed their GLCD. All 4D gear is TINY & based around µ-SD card storage, so although cheap (~Aust $5 for the 64 MB that came with it), you'll need adapters for normal sized SD card readers.

Check a PICAXE trial example => http://www.websitetoolbox.com/tool/post/4d/vpost?id=2894293 . Breadboard evaluation looks a breeze- see below
 

Attachments

Last edited:

moxhamj

New Member
Greenleader:

"... on second thoughts, it won't solve the download problem - I assumed I could eject the card, plug it into a card reader and copy the files to my PC but I suspect that's not possible - the data won't be in any PC format"

I found this on the discussion forum for this board:

Until 4D Systems releases the new firmware with file system (at least FAT16) support that is currently being worked on, you can use a utility such as WinHex (free here: http://www.x-ways.net/winhex/) to copy the raw data from the unformatted uSD card and create text (.txt) files on your Windows based PC (other file formats also available). The uDRIVE-uSD-G1 currently supports raw data read and write of byte or sector sized data.
 

stocky

Senior Member
Keep me posted Dr_A!
I will need a way to read lines of text from a file from some type of removable storage - this might be what we need :)
 

hippy

Technical Support
Staff member
3V3 to 5V PICAXE interfacing

but will it work the other way (picaxe reading the 3.3 volt signals off of the reader)?
It should work, as long as the high output is above 2V, but don't choose a Schmitt Trigger input to read it ...

http://www.picaxeforum.co.uk/showthread.php?t=8609

The AXE210 interface board has an on-board PICAXE at 5V with interface to 3V3 XBee / GPS and that woks okay. Circuit diagram is in the AXE210.PDF.
 
Top