As I’m waiting for my first Gadgeteer device, I’ve spent a lot of time thinking about how this changes my process. One thing I haven’t seen mention of is how to go about taking a Gadgeteer design and drawing it in a schematic that would port to a more permanent design. Since the Gadgeteer dynamically allocates pins, what is the best practice here when trying to draw a schematic? Do you just basically have a parallel design that maps to static pin numbers or is there a more elegant way? Has anyone got to this point with a Gadgeteer yet?
I would not say Gadgeteer dynamically allocates pins. The pins are tied to the socket.
Do you mean right clicking on the graphic designer, and letting VS assign the pins? This can be done manually if you want better control.
Think of it as if you designing a device that was going to hook up to a serial or parallel port. You would draw your schematic showing connection to that port, not a specific pin on an uC. You can do the same thing use a 10pin connector symbol for each type of Gadeteer port.
According to the Gadgeteer module guidelines they can be dynamically allocated. In reality, this probably isn’t happening but it could especially for DaisyLink.
@ Jeff_Birt I see what you’re saying but that doesn’t seem useful unless your schematic is supposed to show you how to hook up another Gadgeteer. Suppose you demo up a design using Gadgeteer - for simplicity let’s say you use a button module to light an LED module. Although you’re module has a 10-pin connector on each, you’re really only using two (data) pins. So, if you wanted to move out of design and into a “production” design that used a FEZ Mini on a PCB you wouldn’t want all 10 of the wires from the module in this design. You would want a schematic that shows the LED going to digital pin #1 and the button going to digital pin #2.
I understand the difference between proof-of-concept (Gadgeteer) and final design. I guess what I’m getting at is there is potentially a good opportunity for a tool that could take the schematics of the mainboard and those of the modules and automagically generate an optimal PCB design that someone could then produce w/o having to go through a traditional design cycle once they’re ready to move beyond the Gadgeteer design.
I think you are over complicating things. Anytime you move from a dev board to a custom board you wind up moving some I/Os around. The important thing is that you know what type of I/O you need, i.e. does the Gadeteer port provide a digital I/O, SPI bus, analog, etc. Then when you make your own board you just need to use the same type of I/O, typically 99.99% of the time the exact pin of the uC you use makes not difference and it is common practice to swap pins to make routing easier.
Your code should be written so that it makes changing specific I/Os easy. When I designed a custom board earlier this year it only took about 5min to change a few lines of code so I could move from a Panda II to the new board.
Yea, I’m kinda intentionally doing that… What I’m thinking is that with Gadgeteer you end up snapping together a lot of proven circuits but when you get ready to move beyond Gadgeteer you basically have to start over with a schematic. I know for an experienced EE this is no big deal. But imagine you’re a hobbyist who goes and picks up a Gadgeteer as his first microprocessor. He won’t really know what it means when you reference a “pin”. I think there’s a good opportunity for Gadgeteer v2 or v3 to be able to take a VS project and turn it into a “real” working circuit that could be manufactured on a PCB. This would of course require some schematic metadata from the modules.
There’s a gap there that can only be filled by experience. It’s also very unlikely that you could prototype a system that would need its own board made just by using Gadgeteer modules. At some point, you’re going to need to wire up a few LEDs or resistors, or some ICs. When that happens, they’ll start to learn how to make things work.
FWIW, a year ago I knew nothing about electronics. I started with NETMF (http://10rem.net/blog/2010/09/02/first-experiences-with-netduino-and-the-net-micro-framework) and over the year learned enough later on to even have my own simple board fabricated (http://10rem.net/blog/2011/07/03/building-a-midi-thru-box-part-5-circuit-board-assembly-and-final-parts-list). I don’t think I’m unique that way or anything
PS. What’s the syntax for URL markup here? Url= doesn’t let me do like on phpbb or something.
Pete, you look like to be a fan of digital audio. You will love the contest coming tomorrow
Looking forward to it.
My interests are varied, but synthesizers are definitely in the mix. Here’s what’s to the right of me in my home office (soldering bench is behind me)
Wow! Maybe we shouldn’t allow you in the contest kidding
Gus, you definitely need to watch out for Pete. Definite polymath.
I just wish I knew where he’s hiding his time turner…
Very interested to hear about the contest, even if I’m not quite as far down the geek road as Pete.
Nice, Pete! But where do you hide all the paper??? So, much crap on my desk at any point in time I have to spend an hour making room to work for 1/2 an hour… Maybe that’s what’s to the left…
Sorry to have hijacked this thread with OT stuff. Last picture, I promise.
Here’s where the real work (and woot-off watching) happens. No paper around, but I have a printer behind the left-most display. I write books/articles/posts, speak at events, and record videos for developers so I rarely need paper or hand writing space. Gus or Andrew might fight me for it, but pretty sure it’s the best job ever
So, here’s the pic. With all the shuffling this week, this is definitely a bad organizational day, but at least you know I didn’t just pretty it up for a photo shoot
I don’t mind one bit. Keep 'em coming! Not sure if I really want to know what’s overhead… I’ve been to your blog many times over the last several years. Always great stuff. This thread wasn’t really going anywhere anyway
What about just designing a kind of uber module that contains all the electronics that’s needed and
then just snapping in an emx or even a spider or hydra mainboard. I suppose just like a traditional shield but I guess I’m missing the point :-[
Yea, I think you’re missing the point. The discussion is about the most optimal way to get from a Gadgeteer design using Gadgeteer modules & mainboard to a traditional electronics schematic that would be optimal for production. What you’re suggesting is that we start with a traditional design and modify it to work with a Gadgeteer. That kinda eliminates all the benefits of using a Gadgeteer
What would be neat is a plugin or add-on for Fritzing which, similar to its ability to take a breadboard circuit and show you the schematic view, as well as help you lay it out for PCB creation, would take as input the gadgeteer modules you’re using, and the relevant sockets, and figure out the needed pins, etc.
You read my mind. I put in a request to Fritzing just last week for the ability to allow a “part” to have a subcircuit as it’s schematic definition instead of just a static schematic part. If that feature were added then what we want to do would be very easy