We are in need of a single-board computer platform capable of running Linux and several concurrent processes for a consumer product. Our background is in software development and the quantity of different embedded solutions has us scratching our heads as to which direction we should pursue.
The initial run will be for a quantity of 1000 to 2000 units. Our basic technical requirements:
- 700 MHz+ CPU (Linux + several concurrent python processes)
- 256 to 512 MB RAM
- 2 GB flash (or slot for flash card)
- WiFi (802.11b is fine)
- 2 USB ports (or 3+ if no WiFi built-in so we can use a USB WiFi dongle)
- GPIO or SPI (for a simple display and a few button inputs)
We have the product up and running on a Raspberry Pi (its CPU & memory are perfect) so our initial thought was to try to use it as a platform given its inexpensive price. But we need 1 or 2 more USB ports than it has, so we would have to somehow build into the case a USB hub. We also don't need any video out capabilities, so that capability of the rPi would go unused.
We considered using the BeagleBone Black but it too doesn't have enough USB ports for our sol'n (and it has the video out we don't need).
Questions:
What would be a recommended way to elegantly add more USB ports to the rPi for a commercial product? I guess the only option is to include a USB hub in a unified case with the rPi? Has anyone done this before?
For the type of quantity we need (1K to 2K) would a custom SBC be cost effective?
What should be the ballpark cost for a custom SBC given the processor/memory requirements?
It seems like custom SBC solutions, given our processor/memory requirements and low quantity, are significantly more expensive than something like the Raspberry Pi but perhaps we have just been looking at the wrong places.
Any suggestions or pointers are greatly appreciated.