New user group name
How about 'Physical Computing Users Group' as opposed to 'Hardware Hacking Users Group'?
I'm jumping in without having heard the earlier conversation -- but, a quick suggestion: Maybe start by listing some of the kinds of topics the group would cover, and then see what the common threads are, in terms of what users will be doing at the meetings. That might help in coming up with a name that people will understand. --Todd
The 5 cent summary of the earlier conversation is that most of the attendees at the meeting last night were more attracted to the hardware activities part of the topic than the linux part of the topic. We were concerned that subsequent meetings on topics like this might seem like an attempt to hijack the linux group away from linux.
-bill
Following from what Todd said, what is the purpose of the group? How about this as a suggestion:
1. To coordinate the development of group projects (presumably one at a time) involving potentially hardware, software and/or mechanical elements to perform some useful/important/fun functions.
2. A forum for sharing information about new and interesting techniques and technologies.
3. An opportunity for group members to learn from each other (I am guessing that we all have quite different skills and backgrounds - perfect for multidisciplinary projects).
4. To promote the activities of the group in order to attract new members. This will lead to more interesting projects that will attract more people etc...
To get out of the linear thinking about names that we all suffer from at times like this, I am going to suggest a few crazy ones :-).
Gizmo Factory
Real World Developers Group
Technology Implementers' Group (a bit dull)
Ok, I'll stick to my day job :-)
Following on from something we talked about last night, how abot the "follow me bot"? The idea is that this would be a small mobile platform that could track a target based on QR codes. As a demo, two people could walk around with targets and the bots could follow them around. The bots follow the correct person using the spefic QR code to identify them.
This would mean:
1. Finding a suitable mobile base. There are loads of these at different cost points. I've been using the Traxxas Stampede for Rocamo but that's more than is required for this. There's this one http://www.pololu.com/catalog/product/1060 but maybe that's a little small. Here's another http://www.lynxmotion.com/c-111-no-electronics-kit.aspx.
2. Getting the QR code to work. http://qrcode.sourceforge.jp/ has some downloads that might be useful.
3. Writing some code to use the QR code data to move the bot around appropriately.
4. We might want to include sonars or something to assist with collision detection but that doesn't matter for a demo.
5. Choosing a processor board to run the thing. We'd need to interface to a webcam or something as input to the tracking code so it needs to be something like an Overo or Beagle.
6. Choose an OS. Maybe Android would be good for this, especially if it has easy QR support but any Linux would be fine.
Could this be done in two months? Probably not in a robust way but a hack might be possible!
So now we have a handle for this particular idea :-). One thing that hasn't come up is where the money would come from. I assume there are no specific funds for TechMaine Groups. Seems there is a simple solution though. The group as a whole develops the concepts and the software and then specific hardware examples can be funded by whoever wants to do that. And they don't have to be the same. The FollowMeBot could take a variety of forms for example.
In terms of moving forward (if that's what seems to be right), some initial steps seem to make sense and could be done in parallel, especially if something is to be produced quickly:
1. Decide on a software architecture (OS choice, basic structure etc).
2. Decide on the core hardware (CPU, interface to peripherals etc).
3. Evaluate the QR code software on a PC to check that it makes sense for this application.
4. Decide on specific short term goals for the project.
Once this is done, the implementation could proceed. Exactly how all this gets done isn't clear though.
I forgot to mention the free software part - absolutely! And everything we do should be GPL or something similar. I hate paying money for software and basically don't.
I agree - we should use either Gumstix or Beagle (BB-xM). I think that the BB-xM would work out a bit cheaper and tihas 4 USB ports on board but they are in short supply at the moment so, although I have a couple, it might not be easy to get more. Either way works.
I am using a webcam on the BB-xM right now using my own code based on a Logitech example. While it can take a Leopard camera module (http://code.google.com/p/leopardboard/) that limits things to the BB-xM. A $20 webcam would work on anything running a decent Linux. OpenCV may not be the way to go IMHO as it works not too well on the Omap (apparently). However, that evaluation could be part of the project.
Regarding the low level stuff, I was thinking that the Arduino would make a lot of sense! You can run non-trivial code on it and it has the interfaces to control stuff. Hey, we could put a BlinkM on it for fun :-).
For basic platform control, just a few channels of servo PWM might be enough - motor/steering (or motor/motor if skid-steer) and then if the webcam wants to go on a simple pan/tilt platform that would require another couple of channels. As we determined at the meeting, it should be possible to write the code on the Arduino so that we can do this in software. If not, there are some very cheap servo controllers out there. I use the Pololu Micro Mastro 6 (http://www.pololu.com/catalog/product/1350) which looks like a virtual comm port and should work with Omap (I will try it out today if I get time - I need it to work like that anyway for my stuff).
If we want sonar for anti-collision then that's I2C typically. Again, the Arduino looks like a good choice. The other issue is power. Typically you'd use a 7.2V or 8.4V battery pack which would need a regulator to get a decent 5V for the BB-xM (not sure what the Gumstix needs). So we might need a little board that has that and maybe also mounts the Arduino and servo controller (if used) neatly. This could be a hacked proto board initially.
You found a C++ QR code port - excellent! I'll take a look.
I did notice that we seem to be talking to each other :-).
> I did notice that we seem to be talking to each other :-).
But some of the rest of us are listening. And there may be places we can help even if we are not in the middle of everything (e.g. we had talked about "packaging" the Arduino I2C code for perl and python to share with the community).
I might be in the middle - but my fall schedule is too ambiguous to make additional commitments at this time.
-bill
At the risk of putting words in Scott's mouth ( :-) ) I think that he's trying to judge if there are enough people interested in contributing to make this whole concept a go - is that right? Right now it seems that Scott and I are in a position to do stuff before the end of the year but if that's it then that probably isn't what you might call critical mass.
Good idea. I have to say that mine is running Linux and my Syntro software very nicely. It's been running the webcam code and the rest of the Syntro system all night without a glitch.
Seems that any Logitech will work - they tend to be UVC cameras these days. I have used C200s and C250s along with older Pro 4000s on Linux. Logitech seem to make an effort to be Linux-compatible which is why I stick with their cameras.
The BB-xM will need a 5V PSU. Although you can power it from the USB this causes a few problems. Apart from that it should just work!
I forgot to comment on the programming languages part of Scott's earlier post. My preference would be to stick to C and C++. These are the most universal languages and so the same code could (in principle) run on anything from the smallest microcontroller to the most powerful PC. Of course, not everything supports C++ in a convenient way so perhaps it makes sense to standardise on C for code that might run on small processors and then either C or C++ for anything that only runs on CPUs that are Omap class or better.
Cool Stuff Developers' Group
RealWare Developers' Group
To keep the spirit of Scott's original idea, how about something as direct as "Robot Hackers' Group" (which I am sure he has already suggested actually). This kind of assumes a robotic focus but does imply it being an active participation thing. The nice thing about robotics is that there is widespread interest in doing things in this direction but most people have no focus. A group like this could provide a focus and the motivation to do stuff.
Incidentally, I came across this web site - http://robotics.meetup.com/. I notice there's a group in Vermont but not even a single registered interest in Maine :-(.
I just thought of something really silly - "maine()".
The 5 cent summary of the earlier conversation is that most of the attendees at the meeting last night were more attracted to the hardware activities part of the topic...
It seemed to me that this was a pretty good indicator of the potential for a "Maker" group. I.e., those interested in creating things out of hardware AND software, or maybe even just out of hardware.
I don't know how many were there. I couldn't come. I wanted to but I had to watch the kids as my Wife worked that night.
Here are a few observations based on my having been lurking in the forums.
- For every active forum participant there are probably 3 or 4 lurkers (IOW don't use forum posts as an indicator of interest.)
- For many who attended, the proposed "Follow Me" robot project might have been a little intimidating involving not only controlling servos and motors but adding video / image processing and probably more. (It was for me, anyway.)
- There may be a perception that attendees might have to invest more than they can afford to get anything out of the group. Can someone who is curious, learn enough just by showing up and watching, listening, and asking questions?
- Use your meetings to communicate with your audience. If you want to know what would keep them coming and participating, ask them. Use a portion of the meeting to solicit feedback and suggestions. Ask for volunteers to present their own projects, etc.
Just thought I'd throw this out here in case anyone is still interested.


I think people will become confused (and hence won't find us) unless Hardware (which is the distinguishing interest after all) is in the name. How about "Hardware Projects Group"?
-bill