InMoov Custom Mobile App

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.

20161203_InMoov Display

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.

– Posted by James Novak

Advertisements

InMoov No Longer InPieces

20161018_inmoov-robot-arm

Over the past couple of months my build of the InMoov robotic arm has continued to progress slowly in the background, until now I find myself near the end. So about time for a little update on the build since my last post where I only had the arm and wrist pieces printed and partially assembled.

Now that the hand and fingers are assembled this is really starting to look cool, with a good range of movement and nice details controlling these movements. Let me say (if I haven’t before) that this is really not a project for the feint of heart – sure you might get lucky and be able to 3D print all of the parts without a hitch (although if you 3D print as much as me you know that for all of these successful prints assembled into the hand, there are many more failures!), but much of the challenge is in having the tools and patience to assemble them together properly. Each joint has needed filing, drilling of holes, gluing, even some acetone to clean up some of the rough surfaces to save reprinting, and of course these processes have been repeated numerous times. But that’s what I love about a project like this, you get to understand how every piece works.

20161021_inmoov-hand-shake

Threading the Spectra braided line (I found a roll of 180lb 0.7mm Spectra quite cheap on Ebay) again requires the patience of a surgeon and a nice pointy set of tweezers, but I’m really loving how I can already start manually controlling the fingers by pulling on the lines. When doing this I found that some of the fingers were stiff and required a lot of force to move, so again you need to be prepared to take things apart and file them down before gluing anything into place, or the servo’s just won’t cope. I’ve found a little bit of lithium grease to be useful to help prevent binding of a few of the joints, but most of them are working quite smoothly without, pinned together with 3mm filament as suggested in the build instructions (so simple if you have access to some of the larger diameter stuff).

Next step is to connect the Spectra lines to the servo’s, which I’ll admit I’ve been nervous about since getting this right is critical, and then it should be up and running! I’ve bought an adjustable power supply to give the servo’s the power they need, seems like they can draw a lot of current when they move, far more than the Arduino/computer can give, so hopefully my next post will have a video of it moving 😀

– Posted by James Novak

InMoov First Twitches of Life

20160820_InMoov Arm Servo

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.

– Posted by James Novak

InMoov Robot Hand First Prints

20160812_InMoov 3D Prints

If you’re already following my Instagram you’ve had a sneak peek at one of my side projects – to build the arm/hand for the InMoov robot. No small project! InMoov is the world’s first open-source 3D printable life-size robot, and you can find some excellent instructions and all the files on the InMoov website, a fantastic credit to Gael Langevin the creator of this robot.

Above you can see the first 3D prints I’ve completed for the arm, all printable even on the small print bed of the UP Plus 2. Some of the prints are also done on my Cocoon Create. At a guess it’s taken about 25-30 hours of print time to get the parts shown above, and there are still plenty more to go, so this isn’t a project for the feint of heart. But it is a great challenge that combines 3D printing with electronics and some understanding of mechanics, like an advanced version of Lego.

20160814 InMoov Details

There are other similar open-source projects out there, such as Open Bionics or e-NABLE, but I chose the InMoov because the instructions seem really clear and detailed (very important for a build like this!), and there is a good level of complexity in the movements of the hand. Check out this video to see some of the movements. Hopefully once I get the hand up and running I can have a play around with the design and the method of controlling the hand, but for now it’s just about getting the hand built and working. Keep an eye out for the progress, hopefully with some of the electronics installed once the servo’s arrive from China.

– Posted by James Novak

Cowtech 3D Scanner – The Build

20160729_Cowtech Ciclop Build

3D scanning has featured a few times on my blog (eg. see my custom virtual reality headset which perfectly fits my face), so it was only a matter of time until I bought a scanner for myself. Earlier in the year Kickstarter convinced me to help fund the Ciclop 3D Scanner from Cowtech, a $99 open-source system that was impossible to refuse. Yep, $99!

Well here it is, built over a couple of days and making me feel like a kid again with a new kit of Lego. I bought the cheapest version of the scanner, choosing to 3D print the components myself (naturally!) which can be freely downloaded from Thingiverse. These worked really well, only a few areas where support material was time-consuming to remove, and were all done on the small build plate of the UP Plus 2. The top left photo shows most of these 3D printed parts (12 in total needed).

20160805_Cowtech BrokenAfter receiving the other scanner hardware from Cowtech this week, it was finally time to put this kit together – no simple task after I snapped one of the key parts early in the assembly process! You can see the 2 broken pieces of acrylic to the left, which are both from the long arm connecting the 2 main octagonally-shaped hubs in the middle photo at the top of the page. So far Araldite seems to be holding them, and this snapping seems to be a common problem people are reporting – maybe a bit better tolerances required in the laser cut pieces, or a different material that’s not quite so brittle.

Otherwise the assembly process has been quite straight forward, the video provided by Cowtech is very easy to follow, especially if you’re a little familiar with Arduino’s. There are some really clever details in the way nuts slot into the laser cut pieces and screws slide through the 3D prints that I’ve never seen before, so as a designer it was fun to discover these details. I really appreciate the tolerances for many of the different parts fitting together, from laser cut to 3D print to machined screws, I am honestly surprised how well they all came together for me. So in the top right image you can see the final result – I have to admit I feel like an extra 3D printed part is required to cap off the top above the camera, it doesn’t look right to me so this might be something I make myself soon.

The challenge I’m having now is that I can’t get my camera to be recognised by the recommended open-source software for the scanner, Horus. I’ve spent hours installing software and drivers, rebooting my computer, uninstalling, installing in a different order, rebooting… Nothing is working. Hmmm, a bit frustrating but as I’ve learned with these sorts of new products from Kickstarter, sometimes it can take some time for people to start posting solutions and updates as my order was dispatched quite early and there is just not much up on the forum yet. Hopefully soon!

Keep an eye out on my blog for updates, and hopefully soon some successful 3D scans!

– Posted by James Novak

Update 7/8/2016:

Settings That Work CroppedAfter some ideas from the Cowtech Facebook Group, I have solved the connectivity problem – hopefully it helps anyone else that reads this. Firstly the Cowtech Scanning Guide says to plug in the camera to set it up in Horus – but you actually need to plug in the entire scanner – 2 USB’s and power. I then went into the preferences, selected the appropriate camera and serial, then changed the Arduino type to “Arduino Uno” and clicked “Upload Firmware” (shown left). I had to close and then re-open Horus, but now it’s all up and running. Hopefully the rest of the calibration goes a little smoother. I think the instruction booklet from Cowtech needs to make this clearer, and include these preference changes.

Design a 3D Printed Snap-Fit Enclosure

20160623_Pine64 Enclosure

Today I’m pleased to share a tutorial that I’ve written for my new friends at Formlabs called “How to Design 3D Printed Snap Fit Enclosures.” Follow the link to read all the details, but in short, this tutorial will guide you through some of the important steps to designing your own custom enclosure suitable for 3D printing, and featuring a snap-fit detail so that you can easily open and close the enclosure without needing any tools. The tutorial is done using Solidworks, however you should be able to follow along no matter which 3D CAD software you use, even the free ones like 123D Design – the process and tips are exactly the same.

For this tutorial I used a PINE64, the famous $15 64bit computer funded on Kickstarter in 2015. The enclosure is designed to offer something unique and exciting to complement the computer, and of course take advantage of 3D printing. You can access all of the ports and features with the enclosure fitted, and there’s a great spot on top to store SD cards, USB sticks etc.

By the way, if you just want the enclosure without following the tutorial, of course I’ve uploaded the design to Pinshape, Thingiverse and Cults so you can download it and print it for yourself!

– Posted by James Novak

3D Printing A Breadboard Cover

2015-05-30 Scala-tronToday 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.

– Posted by James Novak

Documenting Arduino Experiments

150514 FritzingOver 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.

– Posted by James Novak

Arduino 102

150329 Arduino ProjectsFinally another chance to spend some time learning my new Freetronics Eleven (aka. Arduino). Some of the basics are starting to sink in, the project guide that came with the kit is actually quite good at explaining the reasons why certain things must be done for both hardware and software. The projects pictured above are:

  1. Project #4: using a light sensor to dim an LED.
  2. Project #6: controlling a servo.
  3. Project #6 Customised: adding an LED that turns on when the servo spins in one direction, and off in the other.

Again not the most exciting projects, but at the moment it’s all about making sense of this ‘new world.’ I have included the code for the custom project #6 if you want to build it yourself.

int led = 13;
int delaytime=5;
int angle=0;

#include <Servo.h>
Servo myservo;

void setup()
{
  myservo.attach(11);
  pinMode(led, OUTPUT);
}

void loop()
{
  while (angle <=180)
  {
      myservo.write(angle);
      delay(delaytime);
      angle = angle + 1;
      digitalWrite(led, HIGH);
  }
  while (angle > 0)
  {
      myservo.write(angle);
      delay(delaytime);
      angle = angle - 1;
      digitalWrite(led, LOW);
  }
}

Happy hacking!

– Posted by James Novak

Arduino 101

150324 Arduino ProjectsFor something new outside the normal 3D printing stuff I post here, I have now started experimenting with the Freetronics Eleven Kit (essentially an Arduino). This has been something I’ve wanted to try for a long time now, and I’ve finally found an excuse through my PhD research to make time to learn about the electronics and coding of this system. Admittedly I feel like a child when it comes to my knowledge of circuits, so I’m starting out nice and simple!

Pictured above are photos of the first 3 projects supplied with the kit:

  1. Firstly creating a basic LED circuit with coding to control blinking.
  2. Controlling 8 LED’s and using coding to control a ‘scanning’ effect progressing through the LED’s.
  3. Adding a button to allow pausing of the LED’s during scanning (reminds of of arcade games where you have to stop the lights in a certain spot to win a prize).

Now I admit it’s far from exciting like a robot would be, but for someone with no electronic skills it’s a great way to get started with an understanding of both circuitry and coding. As a designer used to using 3D modelling tools to produce what I imagine, using text-based code to control this is quite a side-step, requiring a new way of thinking. But what I like about the Arduino is the community surrounding it – there is a tutorial and free code for almost anything you need to create. I don’t know how well I’ll pick it up, but it’s great to begin learning something totally new! Stay tuned, I’m sure there will be some 3D printed enclosures or something coming very soon.

– Posted by James Novak