Close
0%
0%

Cloud Pen Drive

Pen Drive with direct access to cloud services, making its content dynamic based on the user's momentaneous needs.

Similar projects worth following
The aim of this project is to bring cloud hosting wherever you may go through an always on-line USB pen drive. The idea is that it automatically checks for updates in your preferred cloud-based storage service in order to update the contents on the USB stick. This way, you could have your files with you phisically all the time. You could also in theory, have a much bigger storage capacity in your pen drive, as you could simply at any given time download other files from the cloud server.

Project's evolution


In order to start making the prototype, we needed a block diagram to illustrate exactly how the different parts of our project would fit together. Below is the first sketch of that diagram.

As you can see, it started very simple and crude, but soon it evolved into the following:

This diagram shows a much clearer picture of what was actually being done at that time. Roughly at the halfway mark of the development, it still had some rough edges to it, but was starting to take shape. The final diagram looked like this:

This was the real deal. It shows every single part that made the project whole. Let me explain exactly what you're seeing there. You basically have three big components: the Atmel SAME70 board itself, responsible for all of the computational prowess and holding everything together; the WINC1500 Wi-Fi module, which made possible the connection to the server; and the SD card, for storage purposes. This is the final picture of what was actually delivered. It definitely still has ways to go before it can be considered done, but it actually works in doing its core job, which is to download the files that are hosted in a cloud storage server.

How it works


The idea here is simple: we stablish a connection to a Wi-Fi router that is also connected to our own server. This connection happens via a TCP socket and uses HTTP protocols to communicate with the server itself. This way, every time you turn on the device, it automatically checks for every file on the cloud and downloads it into the SD card, using the FatFS library to do so.

The current server is a simple Node JS Express server, that has a root address that lists all the files currently in it, and an address that serves each and every file. It's also linked to a DropBox folder, so that file uploading may be done remotely, even from one's cellphone.

Future implementations


Of all the things yet to be done, some stand out the most. We still need the pen drive to constantly check for changes in the server, so that it automatically downloads only what's changed. We're also not yet able to download any type or any size of files. These are probably the two core features yet missing from our protoype the we'd hoped to have implemented.

server.js

Server Code

javascript - 1.54 kB - 06/05/2017 at 23:55

Download

main.h

Pen Drive Header

h - 22.68 kB - 06/05/2017 at 23:55

Download

main.c

Main Pen Drive File

C Source File - 18.37 kB - 06/05/2017 at 23:55

Download

  • 1 × Atmel SAME70 XPLAINED PRO Micro controller with integrated peripherals and a Cortex M7 processor
  • 1 × SD Card used for storage purposes
  • 1 × Atmel WINC 1500 Xplained Pro

  • 1
    Step 1

    To make your own Cloud Pen Drive, you'll first need to download our repository at https://github.com/rmolines/Smart-Pen-Drive.git and change the main.h file in your src folder to match your host IP and your router's name and password. Then run the node server application on your host and plug your Atmel microcontroller into your computer. You can now compile our code onto it and it should display on the Atmel Visual Studio terminal a message saying "Hello, World".

View all instructions

Enjoy this project?

Share

Discussions

gareth wrote 06/06/2017 at 00:24 point

Neat idea.

I was planning a similar thing using the $10 ZSUN WiFI device (https://hackaday.com/tag/zsun/) with OpenWRT and some scripts to manage the cloud sync..

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates