Home Forums Hardware discussions Portable Data storage memory cards

  • This topic is empty.
Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
  • #1628

    I’ve been looking for a portable backup for my CF and SD cards.
    As the cards are very large, USB2 ports are too slow.

    The EspressoBin has USB3.0 and SATA.

    Can the Espressobin be used to build such a solution?
    As there is no hdmi, and the GPIO pins are different (so I’ve heard) can a simple display be connected? I2E or SPI?

    Yes, I know all the terms, but cannot even program a potato.

    I was thinking, couple of 18650 batteries to build a portable PSU, External Card reader USB3, 2.5″ SSD 256GB , Espressobin with a small display and some buttons over the GPIO.

    Thinking about this kind of software (or better/advanced): https://github.com/dmpop/little-backup-box/


    I’m not 100% clear on what you want your box to do, but I’ll try answering as much as I can along with posting some of my own views. 😉

    For display options, currently I do not know of any.
    However, it might be possible at a later point in time, because displays could be connected via Mini-PCIe or USB2.0 or USB3.0:
    * Under the FAQ, GlobalScale writes: “There are USB touch-screens with Linux drivers, if anyone manages to operate it please share with us”.
    * Mini-PCIe: This interface can be “broken out” to a single PCIe 2.0 x1 lane. It would be enough to drive a display for basic non-demanding graphics.
    * Mini-PCIe: There are Mini-PCIe-to-HDMI interfaces available.
    The above “possibilities” are currently not available to my knowledge – the hardware exists, the driver software is required in order to use the hardware.

    Regarding SPI displays: Those SPI displays I know of, operate on 3.3V.
    That’s way too much for the EspressoBIN; which could be damaged if you don’t know what you’re doing.
    It’s likely better to see if you can find a touch-display that can be connected via USB2.0 (since you’re going to use USB3 for data transfers).

    Regarding the ‘portable backup for CF and SD cards’, I am not completely sure what you mean.
    Do you want to make a box, where you insert a SD-card or CF-card into a card reader and then copy the contents onto the harddisk ?
    -If so, then yes Linux can do that already; it will require that you have a driver for the card-reader you want to use – unless it’s identifying itself as a mas-storage device just like a “SD/MMC-to-USB adapter” does.

    Will you be possible to make your own “program” that makes it easy to copy cards to/from the SATA drive ?
    -Yes. You can use the ‘cp’ command for this; so you can write a shell-script – it’s not even necessary to know the C programming language, bash/perl/python will do fine.

    Now, if you do know how to design PCBs yourself, you could find a cheap SPI display on eBay, and design a PCB to hold a TFT touch-display, which communicate with the EspressoBIN through a voltage level converter. If you’re experienced, this will be a quick job, but if these are the first steps regarding electronics, it’s better to ask a company (such as … say … GlobalScale) to design a SPI-display board, but it might cost you some money. 😉

    If you do not need a stand-alone box, you can connect a computer to the device via …
    1: The microUSB-port (this will act like a serial port on the computer)
    2: Via one of the GbE ports using SSH.

    The quickest way for you to test if something like this would be possible, is to …
    1: Get the EspressoBIN board if you don’t have it already.
    2: Install Linux (for instance Armbian) on a micro-SD card.
    3: Connect a computer to the micro-USB port and open a serial terminal.
    4: Log in, issue an apt-get update followed by apt-get upgrade, then apt-get install nano ssh-server
    5: issue a ‘lsblk >~/unplugged’ command
    6: connect your card-reader to the USB3 port and insert a card.
    7: wait a couple of seconds, then issue a ‘lsblk >~/plugged’ command
    8: issue diff -U0 ~/unplugged ~/plugged

    If there is a change (eg. the card is recognized), then the card-reader is already supported.
    Try steps 5 .. 8 with both the CF card and the SD card.

    If you don’t see any output at step 8, I believe you’d need a driver for that particular card reader.

    Now as for power, batteries will do fine.
    I recommend that you do not use a 3.5″ harddisk, but instead I recommend that you use a 2.5″ harddisk.
    The reason is that the 2.5″ harddisk uses less power (Personally I like WD-RED, which uses only 0.2W in idle state and max 1.4W when reading or writing – note: that’s very little! WD Blue and WD Black also use little power).

    If you use a 2.5″ harddisk, then you can use batteries easily. Just make sure your output from your batteries stays between 5.2V and 12.0V (not below 5.2V and not above 12.0V)

    Let’s say you use a bunch of “1.5V AA” batteries; these are actually 1.2V, so you’d need at least 5 batteries to reach a voltage above 5.2V.
    5 of those batteries in series will give you 6V.
    -But they will be drained of power quickly.
    To fix this, you can make several “strings” of batteries that you connect in parallel with the first one.
    -Or simply purchase a stronger battery. 😉

    What you do not want to experience, is that you’re writing to the harddisk, SD-card or CF-card while the battery is about to run out of power.
    That can easily damage all your data on the drive or card you’re writing to.

    If you want to use a SSD instead of a harddisk, then I think it’d use less power, since there’s no motor that has to spin up and no mechanical arm that needs to be moved, but SSD is expensive and you don’t get much space per buck. Another drawback regarding some SSDs are that they wear out quickly if you write to the same place many times. Newer SSDs might be a little more intelligent (but there’s no guarantee here unless the manufacturer says otherwise).

    EspressoBIN is a real good choice if you want an affordable device that fully supports a true 6G SATA interface.


    Thank you for your detailed answer.

    Let me write down my plans more specific:

    Power: 18650 battery pack (serial/parallel) with buck converter.

    HDD: 256 GB SSD

    Multi I/O USB 3 Card reader (Kingston is my favorite)

    SOC: Needs Stand Alone Sata interface + USB3 -> Espressobin

    Display: I2E or SPI for displaying status. High speed voltage converters if needed with the GPIO pins of the EspressoBin

    Buttons: U/D/L/R Enter for menu options.

    3D printed Case.

    Being on photo assignment I need a fast method to dump the contents of my memory cards to disk, so that I have a second backup.
    The cards are all 32Gb or 64 GB so USB2 is too slow. Knowing that I also need to know if the EspressoBin USB3 and Sata controller are separate or bridged.

    I’ve found Linux software on Github that does the job (includes a 2.2″ I2E display)

    I’m going to test this on mu OrangePI and /or Raspberri Pi. If this works I would consider ordering an Espressobin, because it’s the only board I know with Sata and USB3.


    I guess 74LVC245 chips could be use to level shift the GPIO ports to 5 V and back. They can shift 1,8 and 3,3 V to 5 (and back) at high enough speeds. Have ordered some in the past.


    This information helps very much in getting a picture for what you need and how you wish for it to work.

    Overall: The project is not impossible; I do think it is sound.

    As you write above, the SPI-TFT-display needs a level converter and since you know the component number, I’d expect that you know how to make the circuit too. 😉

    The 18650 batteries might be a good choice, because they’re fairly capable and you can get them fairly easily too.
    Let’s see the battery specs:
    The battery is 3.6V, which means without a buck or boost converter, you’d need two in series to attain a voltage above 5.2V.
    You could give it 3 batteries in series, then you’d reach 10.8V.
    As each battery is approximately 3000mAh (some says 3150 mAh, some says 3400mAh and these numbers are usually for new batteries, so I’d expect them to lower over time, as we don’t have many ‘ideal’ batteries in this world).
    Let’s imagine your board consumes 2A and it’s running on those 10.8V, then 3 batteries in series would at a glance last one hour.
    Unfortunately, it’s not always like that in the real world, because at some point, the total voltage of the batteries will drop below 5.2V, and then it won’t drive the EspressoBIN from that point on.
    Adding a buck converter might not be a good idea, because the EspressoBIN is filled with buck converters (and buck after buck may cause trouble unless done correctly).

    If you want to squeeze the most out of each battery, you could use a boost converter (low voltage -> high voltage).
    Some boost converters are *very* efficient. I’ve seen a boost converter operate on down to 1V.
    Such efficient boost converters are usually running on very low input voltage, so you’d need to connect all your 18650 batteries in parallel if connecting to a boost converter – otherwise the boost converter would break due to overvoltage.

    So here’s what I suggest:

    Get some batteries and a few dummy-load power resistors, a buck converter and a boost converter.

    Let’s assume using the boost converter to provide 5.2V. We’re expecting to draw 2A from that supply.
    -So the resistance needed is 5.2V / 2A = 2.6 Ohm. That’s a 2.5 Ohm resistor + a 0.1 Ohm resistor (or better yet, two 1 Ohm + one 0.5 Ohm + one 0.1 Ohm; then you have good options for experimenting)

    Having set up those, you can measure the time it takes before the voltage drop below 5.2V after the boost converter.

    … Now do a similar setup with the buck converter. The buck converter needs a high voltage (I’ve found some that takes a maximum input voltage of 26V). Choose your voltage, connect the resistors and measure how long it takes to drain the batteries.

    Remember: The smaller the difference between input voltage and output voltage, the more efficient your converter will be.

    As for the buttons, to make a proper circuit, remember 100nF capacitors in parallel with each button, then connect to a – say – 1K resistor to the GPIO pin, because some GPIO pins are already in use by the EspressoBIN during startup; it’s likely a good idea to protect against accidentally shorting an output pin…
    The 100nF capacitors are for getting rid of ‘bounces’ / ‘glitches’ at the moment you press / release a button.

    As for the SPI, I have no experience programming SPI on Linux, so you’d have to find information on this; likely some Raspberry Pi forums have discussed this endlessly. 😉

    An alternative to a display would be LEDs. The advantage is of course that they’re easy to use and consume little power, the disadvantages are that they’re quite unimpressive and boring to look at + the information they provide is limited. – But they could get the job done when you’re only making backups (eg three indicators “ready”, “busy”, “error”).

    So now we’ve covered …
    * Power supply: Batteries + buck or boost converter
    * Buttons for a menu
    * SPI-LCD Display (perhaps even a SPI-touch display, but personally I hate that because it never really works).
    * LED options
    * SATA power consumption and SATA options
    * File copying

    … I’d put a green light on all of those.

    I have no experience with 3D printing, so I can’t comment on that one, but it seems you’ve got that covered already anyway.

    The one thing we haven’t fully been able to cover, is whether or not the card reader will “just work” with the EspressoBIN linux.
    I can tell you, though, that I have normal size SD/MMC card adapters that show up just like drives, so at least you should be able to get SD/MMC. I have no experience with CF-card adapters.
    Kingston is a good quality company. I’d like to recommend you to get an adapter where the pins in the SD/MMC card socket does not bend when you insert a card. I once bought a very expensive SanDisk SD/MMC card adapter in a local store and the pins inside it bent when I inserted the SD-card. No way to recover. From that point on, I bought cheap-o-China $1 adapters, which have lasted many years each – some of them didn’t, though, I’ve thrown away a few, but it certainly still pays. Mine are not USB3.0 though. The point is: Use a magnifying glass and investigate the pin direction before you purchase (if that’s possible).


    Note, on the power resistors, I recommend searching for these values (one value at a time):
    0.01 Ohm
    0.1 Ohm
    0.2 Ohm
    0.25 Ohm
    0.5 Ohm
    1 Ohm
    2 Ohm
    2.5 Ohm
    4 Ohm
    5 Ohm
    6 Ohm
    8 Ohm
    10 Ohm
    12 Ohm
    20 Ohm
    24 Ohm

    … You might only need a few of those values.

    SPI displays with touch-screen
    … modify search to your needs; those without touch-screen cost around $5 and up.

    Oh, and about the boost converters:
    If your input voltage is higher than the desired output voltage, the output voltage will be the same as the input voltage, so make sure you always keep your input voltage below 12V!

    2V .. 24V -> 5V .. 28V boost converters
    3V..32V -> 5V .. 35V boost converter

    Assuming you’re using 3 batteries connected in series as input to the boost converter:
    If your input voltage is normally above the output voltage you set on the boost converter, you can increase efficiency by adding a single Schottky diode from input to output (eg. Anode at input, Cathode at output).
    This will bypass the boost converter, when the battery voltage is above the set output voltage, so the power consumed by the boost converter, will be reduced.
    -But when the battery power drops below the output voltage on the boost converter, then the boost converter will kick in and start working; draining the battery-string until it reaches around 2V.


    Cheap Schottky diodes, these are more efficient than I expected; I definitely recommend them.

    I had a voltage drop on these below 0.15V!!


    The power supply is my least concern.
    I have building a battery powered PSU under control.
    Most 18650 are 2000-2200 Ah.
    Planned to use 5S(1 or 2)P that would give me 14,8 V (nominal) @2,7V low power drop off.
    Which will give me 13,5V low power drop off (buck converter will be able to handle 12V at 13,5V) with a 1A current draw with 5S1P or 2A with 5S2P.
    The latter will be a bulky and heavy pack. Need to do some calculations how much current I will need.
    14,8V * 2A = 25-28W with conversion losses.

    14,8V -> 12V Buck
    14,8V -> 5V Buck

    Most important is, level conversion for the display (i2e) and will a 256GB SSD and Multicard reader with cards of 32 and 64 GB be accepted.
    AND, finding a supplier, because so foar I’ve found the shipping costs are half the board price. (I live in the Netherlands)
    Commercial options are available for my project, but very expensive. DIY is also a favorite way for me to do things.


    Does your SSD really need 12V ?
    -Remember that the “12V” you supply to the board will go directly into the LP4 connector, so make sure it doesn’t exceed 12V (some harddisks tend to break at only 5% overvoltage – see the specifications for the particular device).

    -If your SSD only needs 5V, you can run the EspressoBIN on 5.2V (I use a 5.9V / 3.8A supply).
    This also reduces the heat coming from the board.

    I assume you’ve already downloaded the EspressoBIN schematics. 😉
    If you search for “12V” in that PDF, then you’ll quickly find everything that’s connected to the barrel DC-input jack, including the over-voltage protection Zeners.

    To drive the EspressoBIN, the DC-input is fed into the RT6220. The datasheet for RT6220 is easily found on the net.
    Looking at the minimum and maximum voltage for the input voltage, it states that it must be between 5.2V and 23V (see the application circuit similar to the circuit used on the EspressoBIN; that would be the top circuit delivering 5V).

    Now, since the only other device using the DC-input is the harddisk via Molex, then if you’re using a non-12V drive, you do not need that high a voltage. 😉

    … Shipping – yes, that’s usually expensive.
    I tried looking at Kenable.co.uk; I usually purchase my Cat6a and USB cables from them, since they’re high quality (pure copper, very low resistance). I found one USB3.0 card reader.
    Their shipping price is usually very low for small packages: £2.99, so a total value would be £15.
    (Do yourself a favour if you’re purchasing the card-reader from them; throw in a few USB cables that Kenable makes themselves, then you won’t have to worry about poor cables. Those USB-A to Micro-USB cables that come with the EspressoBIN are not of a good quality).

    … I understand that you’re going to use a SSD drive. I do not know if it’s wise to use a journaling file system on SSD; this likely depends on the SSD itself, but I believe newer SSD drives are more reliable than older ones.
    If you change your mind to use a 2.5″ harddisk, then I’d recommend using the journaling file system (eg. ext4 with journaling enabled), so that in the event of a power failure, your data won’t be easily corrupted.

    You may wish to …
    1: Install your Linux on the SSD itself (or even better: eMMC if you get an EspressoBIN with eMMC), so it boots from the SSD or eMMC. This will free up the micro-SD slot. As a bonus, this makes your box much more stable.
    2: Use the MicroSD card slot whenever you want to backup a microSD card, because this will likely be faster than the one on the USB3 card reader (the CPU has a built-in high-speed hardware SDIO interface).

    (as for myself, I’m booting the “official” 4.4.52 ubuntu from SATA and have no micro-SD card inserted in the EspressoBIN, so I can say that this is ‘doable’ without too much effort).

    I don’t know if I can provide you with much additional input – I hope that you can use at least one of the suggestions. 😉


    Thanks Pacman, I overlooked that the Samsung 250GB 2,5″ SSD is 5V. So I don’t need 12V. That changes a lot on the power supply options.
    The drive use 3,5W.

    Going for the eMMC option probably, unless the cheap-out OS on SSD is fast enough.

    Going to download the schematics to see how best to feed the 5V into the system, or that I better can distribute the 5V power directly to the external devices.

    Thanks for helping out so far. A lot to look into this weekend.
    I’ll post my findings next week.


    You don’t need to connect the SSD to the LP4 at all; I believe they made this connector just for (in)convenience.
    -If you need to use the LP4, I recommend purchasing this 4-way cable and cutting the male-female part off, so you have a straight female-female cable.
    -But I really think the best option would be to get this SATA cable and cutting off the LP4 connector, then feeding 5V into the red wire and cutting the yellow wire and the black wire next to the yellow one off.

    I’m a little surprised that the SSD uses that much power. The WD Red only uses 0.2W (idle) and 1.4W (read/write).
    -But of course, the sustained SSD throughput is likely higher than 144 MB/sec.

    I see the following benefits from having the Linux on eMMC:
    * If the SSD breaks, you don’t have to re-install (although it’s great to have a backup anyway!)
    * Your device will start even if the SSD is broken.

    … and the following disadvantages:
    * Might be a little more cumbersome to write the Linux to eMMC than a SATA device, because you’d have to do it ON the EspressoBIN, while you could actually connect the SSD directly to a PC and write the SD-card image onto the SSD, then expand the file system.

    Good luck on it; I look forward to hearing that you succeeded. 😉


    Thanks Pacman, I overlooked that the Samsung 250GB 2,5″ SSD is 5V. So I don’t need 12V. That changes a lot on the power supply options.
    The drive use 3,5W.

    Going for the eMMC option probably, unless the cheap-out OS on SSD is fast enough.

    Going to download the schematics to see how best to feed the 5V into the system, or that I better can distribute the 5V power directly to the external devices.

    Thanks for helping out so far. A lot to look into this weekend.
    I’ll post my findings next week.

Viewing 12 posts - 1 through 12 (of 12 total)
  • You must be logged in to reply to this topic.
Signup to our newsletter

Technical specification tables can not be displayed on mobile. Please view on desktop