7 ms·
Show HN: DonglePi, a USB Stick Giving You the Raspberry Pi IOs on a PC
- comboy 12y agoVery 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 12y agoIndeed, 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 :)
- comboy 12y agoIt's awesome that you made it all open source. You could probably spin up some kickstarter since making them in bulk would be cheaper (plus you get something for all the work you've done). I'd be happy to get one.
- deleted 12y ago[deleted]
- Sanddancer 12y agoAn isolating transformer, like the ADUM3160 ( http://www.analog.com/en/products/interface-isolation/isolation/standard-digital-isolators/adum3160.html#product-overview http://www.analog.com/en/products/interface-isolation/isolat...) should be more than overkill in protecting there.
- gbin 12y agoInteresting, thanks for the pointer !
- andyjohnson0 12y agoI 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-for-pc-laptop/dp/1795095 http://uk.farnell.com/olimex/usb-iso/usb-isolator-1000vdc-fo...
- kenrikm 12y agoResettable PTC fuse for overvoltage and P-Channel MOSFET for reverse voltage protection without a large voltage drop.
- deeviant 12y agoYep. Although not related to this kit specifically, a friend of mine built a energy meter much like a kill-a-watt using a raspberry pi. It plugged into 120 vac on one side, and usb to computer on the other side. He didn't end up doing enough to isolate the 120 vac side from the usb side and fried his computer. It was pretty impressive damage as it managed to fry the motherboard, CPU and memory.
- rasz_pl 12y agohaha nice :) I made wifi power meter using $15 chinese plug watt meter and ESP8266. No api no fancy stuff, just a webpage with three numbers.
- wiredfool 12y agoWould this potentially give a PI way more GPIO pins?
- gbin 12y agoyes, it is seen as a standard CDC device so you can use donglePi from a Raspberry Pi.
- Sanddancer 12y agoSort 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 12y agoPCF8574 FTW!
- Drin 12y agoA better device for this would be a [Guzunty CPLD](https://github.com/Guzunty/Pi/wiki https://github.com/Guzunty/Pi/wiki) as a Rasperry Pi shield ! It adds a 25 additional input/output expansion lines and also protects the GPIO pins of the Raspberry Pi !
- tdicola 12y agoLook at GPIO expander chips like the MCP23008. They're only a couple bucks and give you GPIO pins you can control over the Pi's I2C bus. You can run a few of them off an I2C bus using different addresses too. Can see the chip and some tutorials for using it here: https://www.adafruit.com/product/593 https://www.adafruit.com/product/593
- analog31 12y agoYes. It's a general purpose microcontroller board, programmed to provide GPIO signals via USB. I prefer to use USB peripherals for my Pi. Peripherals that are recognized as a USB-to-serial adapter can talk to the Pi, or to any desktop PC. This lets me move my peripherals and code (mostly Python) back and forth between platforms, and do the lion's share of debugging on my PC if I want to. My peripherals are homemade, since I also enjoy playing with microcontrollers, but something like this is nice because you can get it working and start using it without needing a bunch of esoteric development tools. Likewise with that port expander chip from Microchip. It can be a conceptual hurdle for a beginner to master a bunch of disparate concepts, such as basic wiring, microcontroller programming, and the Raspberry Pi, just to reach "hello world" stage. Starting with a few of those things already done can be a comfort.
- ashark 12y agoVery 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
- MarcScott 12y agoWorking in CS and Systems & Control education, this is something I'd back if it were on kickstarter.
- gbin 12y agoI 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 12y agoThe 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.
- vertex-four 12y agoThe issue is your wording. Qt's model says it's licensed under the GPL/LGPL for anyone who wants to use it under the terms of the GPL/LGPL, whether for commercial or non-commercial use - or you can contact them for a license to get out of that. The issue is that if you say "it's GPL so long as you don't use it commercially", that's not actually the GPL (which never mentions the commercial/non-commercial distinction), and users/developers can't combine your work with GPLed work.
- deleted 12y ago[deleted]
- aosmith 12y agoYour licensing scheme is confusing and possibly unenforceable.
- yellowapple 12y agoAlternately, 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 12y agothx for the advice, I gonna look into it.
- damian2000 12y agoI 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 12y agoThere'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 12y agoYeah, 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.
- chrisBob 12y agoWhy 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 12y agoOn 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