Close

Planning and feature creep. (otherwise known as stretch goals?)

A project log for Home Cloud

A Raspberry Pi based distributed file and service platform.

dannyDanny 06/13/2014 at 21:220 Comments

The whole project is still in the planning stages at the moment,
and it's difficult not to add features to try to make the device seem more useful.

for example:
why not add an ethernet switch?
why not add multiple eithernet and make the device a capable router?
why not add RAID to make the device more robust and less likely to fail?

For some of these features it's difficult not to want to do this, it seems that it's be a great idea to have this device as the edge box on the network ,have firewall and routing features built in
but then why not add wireless as well?

Soon I'm looking at rolling an secure OS, FCC compliance etc...

Worse, trying to fit that onto a Raspberry Pi board, (with it's network attached by USB) will give poor connecttion speeds.
in fact in a lot of homes trying to use the raspberry pi as a router would create a bottle neck and limit the connecttion speed.



So at the moment I want to stick to the "core mission" build a software platform for large scale distribution of files and content.


I've been investigating the Raspberry Pi computer module a little more closely.
it's only available as a dev kit this month, though it seems that buying the module outside of the dev kit won't be available until "the autumn"

The projected price for the compute module was around $30 (~£17) individually, so the fact that I might get a single one now, with a board that I don't want to use for almost ten times more is not appealing.
The UK price will likely be £30, as despite being designed and made in the UK, the Raspberry pi foundation, (just like Apple) can't do currency conversion. -must be a fruit thing.
-If you live in the UK, and want to make a reasonable sized order, then you can order from Newark US, pay for international shipping, pay import taxes to the UK, and still pay less than ordering direct from Farnell, (who are the same company as Newark).

The fact that the projected price for the module is only $5 less than the model B (with all it's attached hardware, and an SD card with a pre-installed OS) is a bit weird.


They have a model A board, essentially the same as the model B, but with hardware removed, and those savings passed on to the end user.

Now they have the pi Compute module, which you can think of as an even further cut down board, with no external connectors, no pin headers, pretty much no of anything, and less copper board, but strangely costs more than the model A!

But, the Raspberry pi compute module is not meant for home users. it's meant for professional products where jamming in a model B looks bad...

In some ways I hope that they sort this out and make it cheaper, for the home user (who this board is not targeted at but could use it just as I intend to.)


I've roughly sketched out a block diagram of the hardware and how I'd expect it all to hang together.

at the centre of the diagram is the Raspberry Pi Compute module.

Above is a power block, the power supply I'd intend to use would be something along the lines of a 5v 2A supply, (ten watts in total) to feed the power reg circuitry,
From this I'll need a 3.3 and a 1.8v feed for the compute module, (using 3.3v on the vBatt connectors also).

I know almost immediately that I'll be breaking out the USB to create a USB to SATA converter to attach a hard drive.
I'll be using either USB, and a converter, or SPI and a converter to provide Ethernet connectivity.

it seems that IF I use the USB bus rather than the SPI to create an Ethernet port then I'll need a USB hub, and if I implement a USB hub then it would be a useful addition to add USB connectivity, this would enable the connection of external disks, either to expand capacity or add content.

additionally, there are USB to Serial ATA converter chips that provide multiple SATA interfaces, it would seem that allowing the option of creating a RAID array is not out of the question, additionally, if multiple SATA ports are available adding an external eSATA port may be possible.

The final optional component would be some kind of display, at this time I envisage some kind of LCD screen that would allow users to see vital statistics of the unit, (free space, connections, cache completeness (how much is still left to replicate to that device in a pool, upload/download as well as IP address etc.)


At this time the External USB, eSATA, Multiple SATA/RAID and display are "not a core" part of this project, the core functionality will need to be sorted before these features are added.

Discussions