GithubHelp home page GithubHelp logo

richardhawthorn / pizero-hub Goto Github PK

View Code? Open in Web Editor NEW
94.0 10.0 22.0 1.84 MB

A compact USB hub for the Raspberry Pi Zero

License: Creative Commons Attribution Share Alike 4.0 International

Eagle 100.00%

pizero-hub's Introduction

Description

USB hub for the Raspberry Pi Zero

Features

  • 4 x USB 2.0 ports
  • Micro USB upstream connector
  • FE1.1s USB hub chip
  • Solder pins for direct connection to the Raspberry Pi Zero
  • Power jack connector for external 5v power source
  • Optional jumpers to take power from upstream connector
  • LED status indicators for each downstream port

Modes of use

1. Direct solder

You can solder 4 wires directly between the Zero and the hub using 4 pads exposed on both the hub and the Zero. This will connect the 5V, GND, USB D+ and USB D-.

You can then either power the board either using the USB power connector on the Zero, or using the power jack on the hub.

This is the neatest option, although does involve soldering.

2. USB connection

Using a USB OTG cable, or a micro USB to micro USB you can connect the data USB port on the Zero to the upstream USB connector on the side of the hub. Adding the 2 power jumpers allows the hub to use power supplied to the Zero though the power USB connector.

Alternatively, remove the power jumpers and power the hub through the external power jack.

Although a USB cable is needed to connect the two in this mode, no soldering is required.

3. Standalone hub

This board can be used as a regular USB hub, either using power from the upstream USB connector, or through the power jack and external power supply.

Licence

This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/

Designed by Richard Hawthorn

Based on design by @MakerBro, https://acrobotic.com

pizero-hub's People

Contributors

richardhawthorn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pizero-hub's Issues

Ports are cramped

I'm using the Adafruit Zero4U (I think this GitHub project is what that product is based on?), and need to be able to access multiple USB flash drives at once. Having three USB ports all lined up so close together on one side makes this hub impossible to use with a wide range of USB devices, and I have to use extender cables. Could one of the three side ports be moved to the other side of the board in a future revision, and the remaining two ports spaced out more?

One other physical issue -- the chip below the "Zero4U" logo gets very hot to the touch under load -- I would estimate 75-85 degrees. I am going to have to glue a small heatsink onto the chip. Is there a more recent version that is more power efficient? Or if not, how do I report manufacturing concerns like this to Adafruit? (I am unsure of your relationship to Adafruit.)

Add Eagle files!

Eagle files could be particularly nice if someone (like me) would actually go and modify your board.
Hacking it up from images isn't exactly awesome.

Cheers :)

Routing could be improved a bit

Here's a couple of minor things that could be improved a bit:

  • Power routing.
    Those power traces seem a bit too thin to my liking (although they're probably just fine, until something goes wrong). Another thing - can't notice any decoupling caps, apart from the ones explicitly noted in the datasheet. Might also be because they're a bit far away, but meh, I may understand why did you do that - to make the layout look a bit neater with that line of components there. :) It's not exactly ideal; that's all I'm saying.
  • Protection.
    Maybe add some polyfuses on the power rails of the USB outputs, just if something goes wrong. I know those don't really help much, but eh, better than nothing I suppose. I would also suggest doing something about ESD protection, but I won't bother since that's most likely just fine.
  • Signal routing.
    Improve the actual signal routing - I can understand that you might have had some trouble making this fit in nicely and all, but it also might be nice to see being USB treated as a differential-signaling bus it actually is. It's actually fairly easy to make Eagle help you route signals differentially - it's just about postfixing the trace labels with either _P or _N as far as I recall. Also, rotating the chip by about 90° anticlockwise would possibly solve a few of those issues? I can't really tell since I couldn't play with it - release the Eagle files too!
  • The crystal placement.
    I know it looks pretty good when it's all placed like this and all, but really... It's often nice when the crystal is just about as close to the chip as possible, and those load capacitors for the crystal should be fairly close to it all. It might not look as pretty, but again - rotating the chip by that 90° might've made that possible.

I hope you sorta appreciate this sort of a feedback/criticism without getting too mad at me or anything, and I'll be quite willing to help if the chance arises :D
It's a fairly nice project after all.

Cheers, another Richard.

Random resets

I have had issues with this board when plugging in multiple USB drives at a time. Sometimes ports will spontaneously stop working (the port light will turn out), and occasionally the entire Raspberry Pi Zero v1.3 will spontaneously reboot.

Is this likely to be a power budget issue, or a Linux kernel driver bug?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.