How GitHub Changed FOSS: What’s Missing in OSHW?

We are blitzing our go public release and are super cramped for time right – so today’s is a short post. Honza Pokorny wrote a great article on how GitHub changed FOSS, see here. And I liked it so much I wanted to draw some parallels to OSHW. Here are my 4 favourites and the ones that I think are very applicable to our community.

Unified place for all your projects

There isn’t one right now. We need this badly, but it also needs to support, or integrate with tools for actually doing hardware. It can’t be a dead space, where projects go to die.

Design discussions

I want to collaborate on designs, and I want that collaboration tracked. I want to look back and understand a bug fix, or why a resistor is 1K. Nothing makes this possible right now, and its a barrier to real collaborative electronic design.

Publish your hacks with ease

This is huge! I need a zero friction way to share my hackery, or else I just wont! The project sites that exist either need to focus on lowering this barrier, or someone else needs to fill the void. Again tool integration is huge here – but is possible. So many great hacks are wasting away in basements!

Discover new projects

Why is this so hard? The harkopen guys are helping, and instructables is good too, but I want a hackernews style occasional, cool project of the day, or week. Hack-a-day does a good job of this on the epic side, but I want stuff that I can obtainably build and make better.

Here at Upverter we are fighting to make these headaches go away. But its a hard fight, and the more people in the space working together the better we can all be. So I guess this is a bit of a cry out for us all to get better, and a bit of a push for stepping back and looking at the landscape. Lets build a github, or at least lets do the same things they did right for OSHW.

OSHW: Whats Missing?

  • There are just as many students attending electrical engineering or technologist programs as software engineering programs.
  • We are surrounded by more electronics than software, because software requires electronics, while lots of electronics exist on their own.
  • People seem content to buy cellphones but build their own web browsers.
  • There are maybe a few hundred OSHW projects, yet hundreds of thousands if not millions of FOSS projects (Github alone claims 1.5 million repos).
  • How many people are doing OSHW? Versus the number doing FOSS?
  • Electronics is far older and tends to be far more open than software. You can take apart a toaster with a screwdriver, just try taking a screwdriver to Microsoft Word…
  • Electronics had a hacker boom once during the Radio Shack days, long before FOSS ever took off. Why did it end? Why didn’t it go viral? What was missing?
  • FOSS hasn’t always existed. Prior to the mid 90’s there were almost zero open source software projects.

So whats missing? Whats wrong the the open source hardware guys? Why no mecca of sharing? No open cellphones*? Why doesn’t DDWRT run on open hardware? Why haven’t you solved more of the problems in your life with a soldering iron? I don’t have perfect answers to any of these questions, or even good answers really. But we have noticed a spark. There are people working hard to create a great and powerful OSHW community. The hackers with soldering irons want an ecosystem and a community. They want to collaborate and share and grow exactly like FOSS has. And that’s the reason why we are here. At Upverter we are trying to breathe life into the movement and give those hackers what they need to become a great and powerful force of knowledge, sharing and cool hardware. We are betting pretty big on OSHW becoming huge and as a result we spend a lot of time talking about whats missing. And here is the best answer that I’ve got.

  • Sharing. There is no good way to share schematics, parts lists, symbols, decals, hookup instructions, or PCB files. Basically everyone is on their own and starting from scratch. How do you build on each other if you don’t know what anyone else has done?
  • In-Band Communication. This is akin to commit messages in software land. Why did Joe change a resistor? There is no good way to document why I’m rewiring a chip. Or document that I’m doing a bug fix. And there is no history either, you have to keep everything in your head, always. Just looking at a schematic it isn’t always clear why things have been done in a certain way – blocking people from using each others work.
  • Collaboration & Merging. Its virtually impossible to work together with another user on a big design. In software land you just merge textual changes together, but in hardware there is no such thing as diffing, merging, or real-time collaboration. This makes it impossible for two people to work together on a design, which makes it nearly impossible to build a big design.
  • Focal Point. Its not really a technical requirement, and lots of other websites have attempted to become this, but they all seem to devolve because they are missing a connection to the issues above. Back when FOSS was very young people shared code on their personal websites. But then SourceForge came along and it seemed to focus the community and the effort; OSHW needs a SourceForge.

That might be it. Its not a big list, and there are probably lots of social and learning curve problems that will come up along the way. But really, I think if there was available software satisfying the list above we would be looking at a very different OSHW landscape. At Upverter we are focused on filling these voids, but despite talking with hundreds of you we aren’t entirely sure what you want. To be honest we don’t think you know what you want either, so we are taking our best guess. BUT (and this is a big one!) if you do know what you want, or have any feedback or opinions on the list above, please by all means contact us. We truly want to build whats best for the OSHW community, what you need, what you want, and whatever is stopping you from going viral.

OSHW: Where to Start, and How to Participate

So you read my post about OSHW, you’re super excited to do some hardware of your own, but have absolutely no clue where to start. I get that! We hear about that all the time, and I have some really simple stuff to get you started. First thing is first, the excitement and interest is great. At the end of the day your want to learn, and to better yourself is the important part. Even if all you do your first day on the job is light up an LED, i promise it will be cool, and as you get deeper its that interest that will keep you going through the really gross bugs. If you’re already elbows deep in a project and looking for pointers read down a bit, I try to explain the tools you need and how to work with and without them. For everyone else here is my advice for where to start…

Tools

I would really recommend taking a look at Lady Ada’s equipment list as a starting point for what you’re gonna need. The following is my list of comments.

Soldering iron

You just need one for now. Get the most watts you can reasonably afford, but there is nothing wrong with a $25 iron. I used to have one of the Metcals and I loved it (it was also my job to solder for days on end), but unless you are trying to find a place to spend your millions you don’t need one.

Multimeter

If you can afford an auto ranging one get it. I used to bang my head against the wall picking ranges, which is just a pain.

Power Source

My advice would be (and please don’t die or sue me) to take a 12V or smaller wallwart for some old thing that you no longer have and cut the connector off. 12V and below can’t kill you, so you should be safe, and you’re gonna love not having batteries to fool around with.

Tronix

Do you need a scope? a logic analyzer? Universal counter? Variable dc supply? etc, etc, etc. While all very, very cool, my answer is a resounding no. All of these tools make your life easier when trying to solve certain problems. And I really do want you to stick around electronics long enough that you collect all of these tools, but start small. Start with what you need, and when you hit a problem that requires a scope to solve beg, borrow and steal one, and only when you need to – pony up and buy one. I will change my story if someone ever builds a cheap usb accessible display-less scope, or logic analyzer, but for now I say skip it.

Bits n’ Pieces

So, you have some tools and you have parts for an idea. But you are a hacker, and hackers need to hack. So here are some suggestions for the bits n’ pieces to keep around for maximum hack-ability.  I’d start with something like thesparkfun beginners kit. The Make beginner electronics kits also look decent, albeit more expensive, kit1 & kit2. Its totally cool to put together your own kit too, here are my suggestions.

Resistors & Caps

For resistors you need a range of values from 20R up to 1M (20 ohms to 1 mega-ohm). You can have big spread in the high values, so your density should be best between a couple hundred and tens of thousands (250R – 20K). For capacitors you again need a range of values from 10pF to 100uF.

The smaller values will need to be ceramic while the bigger values will need to be electrolytic, but don’t get too hung up on any of this. The important part is that you have a starting point, you will still find yourself needing particular parts, for particular problems as time goes on.

Diodes & Transistors

While super cool and I recommend having a few lying around (1N4148 Diode, 1N4001 Diode, 2N3906 PNP Transistor, 2N3904 NPN Transistor) your need for diodes and transistors will largely be driven by your project. With one exception – LEDs. Because you always need a couple LEDs kicking around.

Others

You’re gonna want a few switches, some wire, and maybe a 7-segment. Headers and pots are useful too. But really don’t worry too much about these. This pile is gonna grow as you hack and collect your stash of bits.

What to Hack on?

So, you’ve got the bare essentials and are looking for a project. My advice would be to start by looking at something like the Spinnerette or the Arduino. Here is a link to a top-40 list of Arduino projects which might give you some inspiration.

Sensors are cool
Robots are cool. Anything wireless, or distributed, or web-connected is cool. But hell even the simple stuff like multi-color leds (2) and making sounds is cool.

How to Use the Tools?

Never done any of this before? No biggie! Here are some videos and tutorials on using the tools – and don’t worry if you mess up, in the end its all about the learning experience and the fun you have hacking away.

Zak’s OSHW Plug

OSHW is made great by the people, the energy and the collaboration in this community. However big or small your project please share it. Post pictures, make a video, share the schematics, give a part list, anythingeverything. Teach others what you learned, and help others to get involved. Together lets make this a great place to learn and hang-out.

Building an OSHW Community

Upverter wants to be a place that will allow the free exchange information, grow the open source hardware community and make the creation of new hardware less painful. One of the ways that we are going to do that is build a community. There are four facets that we think are important to facilitate this, and here they are.

Projects

There isn’t a good way for people to collaborate on OSHW projects. In the software community there are sites like Git hub and SourceForge. While hardware does not fit into the same mold, we believe that we can create a space that will allow people to share ideas and designs in a similar way.

Q&A

As with every discipline, hardware has its own rich and unique lexicon associated with it. These include specific language, block diagrams, systematics and mathematical equations. We are going to facilitate the use of this kind of information by integrating our tool into the community.

Parts Library

Have you ever tried to find how other people use a part? Want to find a good DC to DC converter? Well this is where you will be able to find it. We are putting together a kick ass parts library, and we want to share it with you. We will be making it easier for you to find the parts that you are looking for and provide some examples of how that the part is being used.

How To

Have you always wanted to make a digital clock that displayed in binary? Cool, so does Steve. Our How To section will be the place to find this and much more. With step by step instructions, and a parts list to boot we will have you reading 1’s and 0’s in no time.

Why We Can Do it Better?

That is the pride and joy of Upverter. We can do it better because we have a kick ass web based EDA tool. It can be used to described ideas better than anywhere else. We are going to bring the electrical engineering lexicon to the web so that everyone can troubleshoot together, show off cool project and kick ass hacks. We can do it better because we are bringing a new element to the table, we are adding a way to relay information.

Intro to Open Source Hardware

Intro to Open Source Hardware

WTF is open source hardware?

Why “open source hardware” instead of just “open hardware”?

Do I care?

Open source hardware is on the rise, and enormously. At the bottom of this post you’ll find a bunch of great links to content on open source hardware topics created over the last couple years, which will give you another few perspectives. And I’m going to do my best to explain the subject and a little bit on our involvement in it here at Upverter.

First off, open source vs. open. I’m not sure how big a debate this really is anymore, but it comes down to intent and language, as they do mean different things. Think of the word “open” as describing the word immediately to its right. For example, open software is software that is easy to interface with, or that saves to XML files, or that provides a really kick-ass API – basically, the software is open to being hacked on. Add the word source to the mix and its a different story, open source means that all the bits i need to build my very own, hack in a feature, or debug an issue, are public and available. In the software example the program is probably also very open, but the important part is that the source (the stuff required to build one) is open and accessible; and its the exact same in hardware land. Open = good documentation, lots of programmable IO, open standards, open communication, etc; While open source means usable schematics, CAD files, firmware, etc, etc, all the bits needed for a user to build their own. Expect to see lots of established businesses releasing under open hardware licenses, while the hackers and hobbyists will use the open source hardware licenses.

Now before I tell you what this word game is all about, I want to give you a couple of reasons why you probably care. The first big one, is the absolutely tiny number of leaps in human understanding and knowledge made through closed information. Open information and shared knowledge allows us to “stand on each other’s shoulders, not each other’s toes.” (Dennis Allison), and while we accept the need for the commercial electronics market, and understand their need to privacy and competition, remarkable things can be done through working together. We are also nearing a point of critical mass (it happened with computers and open source software a decade ago) where there are enough people with enough great ideas that they can start providing the market with competitive and open alternatives (Apache, MySQL, etc in the open source software world). And lastly because not every great idea or invention exists to make money. These are ideas that can only exist in an open and shared environment, these projects are peoples passions not their day jobs, and they should be encouraged. So you care because you’re a hacker and you want to exist in an environment with open and available knowledge and designs, or you’re a bookie and you want to know what to bet on next, or you’re a consumer with pain points and you realize that a community enabled to solve your problems, just might, given the right tools and the right critical mass.

So, cut the flowery shit – what is OSHW? Open source hardware is a label given to an electronics project that is released and made public in such a way that you, average Joe hacker, could build your own. There is a bit of variance here, but purely speaking that means publishing everything: all the manufacturing details, CAD files, firmware, HDL code, schematics, and even the source code running on the widget. Not at all unlike tweaking, compiling and installing your very own port of Apache – you should be able tweak, and create your own port of an OSHW design.


OK cool so I just copy and paste one of those license file things and I’m good to go?

Thats the idea! Now being all squishy and new the licenses are still catching a bit of flack, and its not clear which license to use, and there is no good way to share your design files… BUT! Zipping all your bits and pieces together and saying its OSHW is a pretty damn good start. And even still, I’d wager we aren’t too far away from seeing a lot of unification on these last few issues.

Note: From a legal perspective you aren’t really well protected from people pillaging your designs. Unlike source code, copyright does less to protect a schematic and the instantiation of it (a circuit board) from being taken, manipulated or mass-produced. So a big part of the holdup is finding ways to protect businesses so they can release their products without too much risk. But individual hackers should be good to go. For most hackers, at the end of the day its all about sharing knowledge anyway!


Where does Upverter fit?

We have always been garage hackers. I’ve personally torn apart, hacked, blown up and gotten fried by more appliances, toys and household widgets than any child could, and still expect to make it to adulthood intact… But as a business I guess we, a little bit, stumbled into this space. We thought it would be great to try and build some tools that improve the hacker experience; and sure enough right around the time that we’re thinking this is a great idea, the scene is exploding with projects, ideas and neat new labels. So, in a sense, we’re riding the wave along with all the hackers out there. However, you can count on us to make the collaboration, sharing and shoulder standing a whole pile easier. We like to think our tools will be a catalyst to make this market explode (in a good way!).

In the coming weeks I’ll try to talk a bit more about the movement, how our space is developing, and where we fit. But for now: check out the links, buy a $20 kit and a soldering iron, build something cool, and share it with the world. I promise, once you get started your inspirations will be limitless.


Open Source Hardware Articles


Communities


Shops


Twitter


Licenses