It’s been a while since posting about the InMoov robot hand I started building last year. Previously I had everything assembled and was using some direct controls in Grasshopper (plugin for Rhino) to test and tweak the movements of the fingers and wrist (click here to see the last video). That was fun, but not as fun as being able to control the fingers wirelessly from across the room!
Using MIT App Inventor, I’ve created a very basic mobile app that now allows the fingers and wrist to be controlled on my phone using a Bluetooth connection to the Arduino board. It’s nothing fancy right now, just some simple sliders that control the servos, but now that the basics are working some more automated movements could be set up eg. by using the built-in sensors of the phone, movements could be controlled by simply tilting the phone.
In order to display the working InMoov hand at the CreateWorld Conference last year, I also built a display box from plywood since the arm is not really attached to anything and there are a lot of electronics dangling around that are a bit too messy for display. It actually makes moving the hand around and working on it quite a bit easier now since it’s raised up as well. If I had files for this case I would share them, but I went old-school for this one and just created it freehand with a jigsaw – I’m not completely reliant on digital manufacturing (yet!). Inside the box on the right are all the messy electronics, and a hole for the Arduino USB cable to reach through to connect to computer when needed.
I’ve also 3D printed a stamp with my name and the edditive logo to “tag” this project. Using 3D printing to make custom stamps is something I wrote about in one of my first ever blog posts, click here to take a trip back in time. It’s always the little details that bring a project to life for me.
Yes finally the InMoov robot arm I’ve been slowly printing and assembling is complete and functioning with only the occasional little hiccup. I thought I was really close in my last post where I had assembled all the 3D prints and electronics, but it is definitely the last 10% that takes the most work.
Tensioning the braided lines just right and tying them to the servo’s is a painstaking task, especially in the heatwave we’ve been having in Australia, where you’re trying to resist the urge to wipe sweat from your face while you tie the knot just right… I felt a bit like a surgeon out in a humid jungle performing emergency surgery. A few little broken bits along the way as well from prints splitting or glue not holding, so it’s a relief to finally iron out all the kinks and start playing with the controls.
As you’ll see in the video, I’m using Grasshopper (plugin for Rhino) with the addition of Firefly to control the hand movements at the moment – if you’ve followed my blog for a while you’ve seen multiple demo’s of this software and why I think it’s so good, so I won’t bore you here (if you’re interested check out my project which was displayed at Design Philadelphia 2015). But it basically means I can manually adjust the servo’s in real-time using a simple slider for each finger, or connect fingers to the one slider to control them all at once and create a fist for example. It really makes those final tweaks to the servos easy.
I hope you enjoy seeing this arm come to life – it’s quite inspiring when you see it in real life, especially if you’re familiar with 3D printing and the time it takes just to print all of these parts. Now I can finally start modifying this project and experimenting with the controls, the build is only just the beginning for this robot.
The 6 servo’s needed to build the InMoov robotic arm/hand arrived since my previous InMoov post, and are now installed and working individually. All up they cost about $35AUD on Ebay. The Meshmixer hack for the stands I discussed in the last post also worked quite well, and luckily no other stands to mount the servo’s have needed re-printing – just a few spots of super glue to prevent any minor splitting between the printed layers. This means that most of the assembly of the arm and wrist is now complete, other than running all the lines to control the fingers (a big job I’m not looking forward to). Below is a video of the wrist movement using a MG 996 servo – sounds like it means business!
Nothing particularly exciting just yet, although it’s nice to see the InMoov showing the first signs of life (Frankenstein anyone?). As you can see I’ve connected this servo to an Arduino Uno, and am manually controlling the movements using Grasshopper and Firefly, both plugins for Rhino 3D CAD software. I’m not sure if any other InMoov makers have done this, but if you’ve followed my blog for a while you’ve probably seen previous demonstrations of how you can use what is essentially a 3D CAD program to control the Arduino in real-time, something I’m very excited about. I certainly aim to continue using this visual programming language (VPL) to interact with the arm, perhaps making it more intuitive and interactive to control. Next step: 3D printing the fingers.
Yes it’s as simple as the title says; I can now control the movements of my useless Solidoodle Press (and probably almost any other 3D printer) using a Wii Nunchuk!
Don’t ask me why. It’s more of a personal challenge to see if it could be done, and now that it can, I have a few fun ideas for this. The whole thing was surprisingly simple, and builds upon some previous work where I used Wii Nunchuk’s to customise a 3D CAD model, and of course my work using Rhino CAD software combined with the Grasshopper and Firefly plug-ins. In simple terms, I’ve managed to convert the X and Y signals from the Wii Nunchuk’s joystick into the X and Y G-code commands used by most 3D printers. It’s a little clunky, but at the same time it’s pretty cool to directly control this machine.
With a couple of buttons on the front of the Wii Nunchuk it won’t be hard to add some extra functionality to this, although my intention is certainly not to try printing plastic using this controller, there’s just no real reason to. You will just have to check back in later to see where this experiment goes!
**Research from this class has been published as a paper**
I just wanted to quickly post a video showing some of the great projects to come out of a class I taught this semester at Griffith University called Human Machine Interfaces. These particular projects are presentations after 6 weeks of development combining research, design and prototyping into this short time-frame. I was super impressed to see things like exo-skeletons and products bringing gamification to life, of course combined with 3D printing, Arduino’s, Rhino CAD with Grasshopper and Firefly, and of course anything else the students could get their hands on.
Watch out designers, these guys will be changing the world! Some of these students will also be exhibiting these projects at the upcoming 3D Printing Forum in Brisbane on November 24 (click here to read my post), so come and say hello 🙂
My last post showed a video of my experiment modifying and controlling a 3D CAD model using nothing but Wii Nunchuck controllers plugged into an Arduino. Click here to take a look. The image at the top left is the circuit used for that experiment, which is great for prototyping, but definitely looks a bit rough to be part of an exhibition coming up at Design Philadelphia in October. So of course it’s no surprise that 3D printing was my logical next step!
Last year I 3D printed a cool baby NES Nintendo enclosure for a Raspberry Pi B+, and wanted to create a similar enclosure for this project. Firstly I simplified the electronics as much as possible, and stuck the Arduino to a breadboard to create a compact little unit. Next I dusted off the calipers and got stuck into 3D modelling the enclosure around the electronics using Solidworks, ensuring to allow plenty of clearance around the 3 plugs I needed to access – the Micro USB and the 2 Wiichuck adapters. A bit of text and some ventilation holes inspired by the original Wii console, and voila!
Unfortunately the bottom part lifted a little in the corners while printing on an Up! Plus 2 3D printer, which meant the internal dimensions aren’t quite right. I had to file a few millimeters off the top of the plug holes to compensate, but you’d never know. Of course the raised text has been painted to bring it all to life, and there is 1 hidden screw holding it all together.
And with that I officially christen this enclosure Wiiduino, long may you entertain and inspire 🙂
As discussed in a recent post about generative design, I’ve been working on an interactive, generative CAD model to be exhibited at Design Philadelphia, in the Crane Arts Center. Well here is a preview of the [nearly] complete CAD model created using Grasshopper and Firefly within Rhino. Using 2 Wii Nunchuck controllers, 2 people can work together to customise the design of a 3D printable light cover in the form of a lightbulb – in essence, CAD modelling has been turned into a game that requires no instruction and is learned through play.
The biggest challenge with this has been getting the signal out of the Wii controllers. While Firefly has built-in Wii Nunchuck compatability, unfortunately I learned the hard way that it is only compatible with genuine Nintendo Wii Nunchuck’s – and I already bought 3rd party ones off Ebay for a fraction of the price. For some reason 3rd party controllers use a slightly different signal/code, and while the Wii console has no problems with this, the Arduino code is a little more particular. Thankfully after an entire day of messing around, ripping apart controllers, tweaking code and swearing, I managed to find a way in! I had to modify some Arduino code and also use the Serial Read tool in Firefly, running the Arduino IDE in the background and listening in to the readings.
As mentioned in the video I am 3D printing 6 examples of what these outputs look like in real life – this model is not just for fun, it is actually designed to create real products suitable for 3D printing, based off a previous design of mine for a Shattered Faceted Lightbulb which you can download for free on both Pinshape and Thingiverse.
Stay tuned for a look at these 6 prints, which have been printing for the last 94 hours on a Fortus 250mc 3D printer. Yes, 94 hours!
It’s been a little while since I posted any of my experiments using Rhino + Grasshopper + Firefly with an Arduino – but that doesn’t mean I haven’t been busy behind the scenes continuing to experiment! The last video I posted was actually the first showing how it can all come together, and it’s definitely come a long way since then. Time for something new.
This video shows the latest experiment to control the opening of some panels using a light sensor. While relatively self explanatory, the idea is that as more light is detected, the panels open, like a flower opening as the sun rises. This is a very rough prototype to simply test how the system would work and prove an idea I’ve had in my head for a week now. I’d call this a success!
There’s something fulfilling about hacking together a proof-of-concept model like this – it doesn’t have to be pretty, but gets the idea out of your head in the shortest amount of time so you can be confident developing it further, rather than investing a lot of time into a really nice (potentially 3D printed) model that might not even work. With this I can now move on to thinking through both the application and detailing of the concept into more of a product. If you’re interested in finding out more about how this system works, check out the Firefly website. It’s definitely the coolest bit of CAD software I’ve come across lately.
Today has been a bit of a breakthrough day for some of my PhD research – while I’m keeping the details a bit hush hush for the moment, part of the process has included 3D printing a simple cover for the breadboard which I’m happy to share. To date this is the most complex circuit I’ve cobbled together with my Arduino (Freetronics Eleven) and in preparation for discussing my work with some colleagues, I realised I could tidy everything up and make it seem more like an actual product by 3D printing a cover.
As I’ve mentioned before, these quick little projects where you can go from idea, to CAD model, to 3D print, to testing within a matter of hours is one of my favourite benefits of owning a 3D printer. The design is essentially just a large snap detail which clicks around the breadboard and highlights the 3 buttons used by the operator. It also allows a secure mounting position for an Infra-red sensor on the right. The model took about 30 minutes to create in Solidworks with my trusty calipers, and 87 minutes to print on my Up! Plus 2 3D printer using the 0.2mm layer thickness.
Unfortunately 2 of the snaps broke while removing the support material, I guess I should’ve thickened them a little considering the layer orientation… but nothing a little superglue can’t fix. And just to jazz it up I added some paint onto the embossed text with a tiny little brush. I have to admit I’m really happy with the result! Just another application of 3D printing I hadn’t considered until today.
Over recent months I’ve experimented with so many open source tools including Arduino, Processing, MeshLab, and FreeCAD. The latest one on my list is called Fritzing, and with many of my recent posts featuring experiments with Arduino (or specifically the Freetronics Eleven), this is a fantastic tool to begin clearly documenting the schematics of these.
Fritzing includes a library of standard electronic components, along with of course Arduino boards and blank breadboards, replicating the physical hardware in a graphical ‘sketch.’ It’s a simple matter of dragging and dropping components, and then drawing wires to connect everything together. In a matter of seconds you have a clear record of your layout to come back to at any time. The images above start with a photograph of the simple potentiometer circuit I used for a previous post combining the Arduino + Rhino + Grasshopper + Firefly, followed by a diagram from Fritzing (called ‘breadboard’ view), and finally another automatically generated view of the schematic. That’s the great thing about Fritzing – everything you do in one view translates across to all the others. You can even design your own PCB’s from scratch ready for manufacture!
It also looks like there is a section to add your Arduino code and upload directly, although according to the website this is a new experimental feature. But looking into the future it seems a fantastic tool to combine everything you need to both program and digitally test your project in one place, along with just sharing your design with others. I’ll use this for any future posts detailing Arduino experiments so you can also replicate them easily, or at least understand what’s been done.