
Show HN: DonglePi, a USB Stick Giving You the Raspberry Pi IOs on a PC - gbin
https://github.com/gbin/DonglePi
======
ashark
Very cool!

"DonglePi is released under a dual license. It is GPL for educational and
personal use.

It is under a commercial license if you want to produce it and sell it."

Hm.

Am I right in thinking that it doesn't work like this? You can dual license,
but you can't say "only some people using it certain (educational,
noncommercial) ways may choose the GPL version".

I'm also not sure how good a fit the GPL is for hardware designs. Seems like
it might be better to GPL the software, then CC-noncommercial the hardware
side, with an option to pay for a commercial license.

(but of course IANAL)

Anyway, this is such a good idea and such an obvious candidate for Kickstarter
that I'm surprised to see it on Github first.

[EDIT] grammar

~~~
gbin
I tried to follow the Qt licensing model (commercial vs non-commercial use)
but IANAL either.

Honestly, the goal here is more about investing in the next design like a low
latency USB3 version if somebody decides to produce this one.

As for github vs kickstarter first: I would love to bring more expertise on
the project as I am more a software guy than an hardware guy.

So if anybody is interested in improving the HW design and make a kickstarter
out of it, feel free to contact me !

~~~
nadams
The Qt model is basically so that people can pay a license fee and not have to
follow the terms of GPL and have to make their source available.

------
yellowapple
Alternately, it could hypothetically give you more IOs for an existing RPi
over USB ;)

On another note, I'm pretty sure your particular dual-licensing scheme is
invalid; the GPL _does_ allow commercial use of a thing licensed under it, so
people hoping to "produce it and sell it" would be legally able to do so
(though perhaps with a bit of indirection, like forking it under the GPL's
terms as a "personal" project, leaving out the commercial restrictions (since
enforcing them would be a GPL violation), then letting someone else thus use
it for commercial purposes without restriction (other than the GPL's copyleft
requirements).

Unless by "produce and sell it" you mean "produce and sell it under non-GPL
terms or without schematics", in which case that _is_ acceptable and useful.
In any case, clarification would be wise.

~~~
gbin
thx for the advice, I gonna look into it.

------
comboy
Very cool.

Only thing I don't like is that when something goes really wrong with my
circuit, I could probably harm my PC. Normally I just risk destroying RPi.

~~~
gbin
Indeed, at least I've added a fuse and Schottky diodes to protect the PC but
I'd love some advises on how to be sure people won't fry their USB controllers
:)

~~~
Sanddancer
An isolating transformer, like the ADUM3160 (
[http://www.analog.com/en/products/interface-
isolation/isolat...](http://www.analog.com/en/products/interface-
isolation/isolation/standard-digital-isolators/adum3160.html#product-
overview)) should be more than overkill in protecting there.

~~~
gbin
Interesting, thanks for the pointer !

~~~
andyjohnson0
I use an Olmex isolator [1], which I believe is also based on Analog's ADuM
chip. Its worth knowing that the ADuM only supports USB "Full speed" mode
(12Mbit/sec) and not the normal "High Speed" mode (480Mbit/sec).

[1] [http://uk.farnell.com/olimex/usb-iso/usb-isolator-1000vdc-
fo...](http://uk.farnell.com/olimex/usb-iso/usb-isolator-1000vdc-for-pc-
laptop/dp/1795095)

------
aosmith
Your licensing scheme is confusing and possibly unenforceable.

------
chrisBob
Why doesn't anyone make a real PC with GPIOs? I am sure there are at least a
few hackers out there who would be interested but if you want real high speed
GPIOs you need either expensive hardware like a special card from National
instruments or a low powered single board computer like Pi, Edison or a
gumstix. I would love for Intel to breakout a nice 20 pin header on some of
their boards.

~~~
tomkinstinch
On sufficiently old/industrial PCs, the parallel port is a pretty usable GPIO
header, especially the more modern implementations with bi-directional pins.

It's easy to use one to switch a transistor[1], for instance, and there is a
Python library to control the port[2]. An optoisolator is a good idea since
computers are expensive and isolation is cheap.

The DonglePi looks nice since it will exposes I2C, SPI, and PWM. I could see
it being handy to test out I2C and SPI parts before integrating them into
custom boards.

1\.
[http://www.next.gr/uploads/139-016e0f9471.gif](http://www.next.gr/uploads/139-016e0f9471.gif)

2\.
[http://pyserial.sourceforge.net/pyparallel.html](http://pyserial.sourceforge.net/pyparallel.html)

------
wiredfool
Would this potentially give a PI way more GPIO pins?

~~~
Sanddancer
Sort of. This appears to be an Atmel ARM board with the pins broken out in a
Pi-compatible way. I imagine you could reprogram this to act as an I/O
expander, but at that point, you're probably better off just getting a
dedicated GPIO expander.

~~~
comboy
PCF8574 FTW!

------
damian2000
I can see this being really useful in its own right, but unless its 100%
compatible, to be honest I don't see the use in it as a development or test
platform for the RPi.

~~~
technomancy
There's not much point for a development/test platform for the Pi in the first
place given its ridiculously low cost.

I think the appeal here is to add GPIO directly to a PC simply because having
one computer is simpler than having two, and there are a lot of cases where
you'd like to just toggle a pin here and there without having a middleman
machine.

~~~
damian2000
Yeah, see your point. Also now I think about it it would also be good to be
able to live-debug code in Visual Studio while connected to GPIOs.

