Monthly Archives: April 2015

Video: LVBots April 2015 line following competition

via Pololu Blog

LVBots held a line following competition at Pololu on April 16th. The goal was to make an autonomous robot that does three laps of the course the fastest. Seventeen robots faced off in a head-to-head double elimination tournament. The video above shows the robots in action and the full results of the contest.

Ben’s Mostly Red Racer won the line following competition for the second time in a row with an average speed of 1.2 m/s, but the competition was more fierce this time. Brandon secured second place with The Chariot, which had an average speed of 1.17 m/s and had a best course time that was only 0.7 seconds slower than Ben’s.

There were also some fun exhibition robots. Kevin made a hovercraft named Full of Eels that was able to sometimes follow the line. Kevin and Jeremy made The Next Level, a line follower on top of a line follower.

Here are posts about some of the robots in the contest:

Are you in the Las Vegas area? Check out the LVBots Meetup page to get involved.

LulzBot Mini 3D Printer Review

via Open Source Ecology

We have received a LulzBot Mini 3D Printer for review from our friends at Aleph Objects – an open hardware company in Loveland, Colorado. We respect Aleph Objects as a company true to the open source ethic – while developing one of the best 3D printers on the market.

We are not the only reviewers with a high and positive impression. LulzBot TAZ 5 has just been listed in April by 3DPrint.com as the first of the top 3D printers on the market. Just this week, the LulzBot Mini has been named the Best Intermediate 3D Printer by Tom’s Guide. Other distinctions include PC Mag Editor’s Choice this February, a great review in Computerworld in January – and solely 5 star reviews on Amazon.

For OSE, the advantages are that the LulzBot Mini is open source. Because it is open source, one can build the printer from its design files, available for free download (link?). Last year, we collaborated with Aleph Objects and ran a workshop where we built 12 of the older versions of LulzBot – KITTAZ – from a kit provided by Aleph Objects.

Now the moment of truth. Before starting the first LulzBot Mini print, I asked myself – “On this printer with auto bed leveling – will I finally enjoy this as my first experience where I simply click a button on the computer, and a complete print job will come out the other side without me making any sort of adjustment or tweak?” Upon starting a print – the print head wipes itself automatically against a cleaning pad. Then – the machine performs automatic bed leveling. And I printed the Rocktopus sample print just like this:

My hopes were redeemed. It just works. I pay a lot of attention to auto bed leveling because leveling is a process which gave us trouble with all other printers last year, including the earlier LulzBot TAZ. Things would be going fine on a given 3D printer, and then at some random point, the print would fail, typically due to issues with bed leveling. The situation is that if the height of the print head is not at the exact required level for the first printing layer, then the nozzle can clog if the head is too low, or the first layer won’t stick to the bed if the head is too high. This requires the user to watch the start, and abort and calibrate the height by moving the print head across the bed while measuring the height off the bed with a sheet of paper. To adjust the print bed, one manipulates adjustment screws on the base. While this process is easy and quick for experienced users, we found out with 18 interns over the entire summer last year – that this was a significant challenge. Out of our 4 3D printers, we had a max of 2 running at one time and typically only 1 – due in significant part to issues related to bed leveling. Typically, people would just take the easy way out and rely on the working printers without fixing the leveling. Experienced users may laugh at this – but that was our reality when a significant number of people without prior 3D printing experience are let loose on a 3D printer cluster with little oversight. I personally feel that the bed leveling issue is the single item that keeps 3D printers in the hacker world, not in the popular world.

This is all history with the LulzBot Mini because of its auto bed leveling capacity. The print head touches the 4 corners of the print bed upon startup – closing an electrical connection as the means of detection – where depending on these 4 touch-off points – the height of the head is adjusted by the software. To us, that is a significant and critical improvement for making 3D printing accessible to anyone – as something that Just Works.

This is a long way from the early days of 3D printing. It seems to me that the bed leveling function is the single most important improvement that can take a 3D printer from the realm of hackers to the realm of It Just Works. Surprisingly, the 2 leading 3D printers, Makerbot and Ultimaker, do not appear to provide auto bed leveling. Thus, LulzBot appearst to be leading the way with auto bed leveling in the overall world of 3D printers. LulzBot is the first consumer 3D printer that is both open source AND has bed leveling.

Is auto bed leveling really necessary? It’s a controversial topic – and the answer depends on who you ask. See an interesting thread on Reddit. To an experienced user, one minute of bed leveling every so often on a multi-hour print job is not much to ask for. To OSE, auto bed level is absolutely indispensable when you have multiple people using the same 3D printer, especially when the 3D printer users haven’t been trained properly. It’s the difference between having a print created and not having one – or the difference between a machine that is consumer grade vs. hacker grade. I personally do not look forward to whenever I have to level a print bed. How many thousands, if not millions, of hours will have been spent on bed leveling for the 200,000, and growing, 3D printers that ship yearly, if they do not feature auto bed leveling? Auto level should be just a standard feature, because it Just Works.

For those of you steeped in open source lore, you may find it interesting that Makerbot is not currently on some of the lists of top 3D printers. Makerbot, formerly open source, is the goliath that currently holds the largest market share in the consumer 3D printer market. Makerbot sold out to Stratasys in 2013 for $403 million, spurring criticism from the open source community as Makerbot turned from open source to proprietary. One of Makerbot’s founders, Zach Hoeken, shared his insights regarding the negative effect of open source enclosure by Makerbot – formerly the world’s largest open source hardware company:

“Yes, OSHW [Open Source HardWare] is viable as a business model, look at how successful MakerBot is.” If they close those doors, then it would give people who would say OSHW is not sustainable ammunition for their arguments. It would also discourage new OSHW companies from forming.”

My observations indicate that the open source chilling effect of Makerbot’s enclosure is real and undeniable, as Zach Hoeken predicted. I have had several conversations with various entrepreneurs where I was suprised by their generally-assumed-as-true position that Open Source Cannot Provide a Viable Business Model. That is a short-sighted blanket statement. It appears to be influenced by the case of Makerbot. And this negative notion of OSHW is ubiquitous in the mainstream world – if one can read the writing on the wall.

LulzBot is fully open source, and in fact, recipient of the Respects Your Freedom hardware product certification from the Free Software Foundation. You can download official release Mini files here. You ca also download the ongoing development work here. The source of the Cura control software is here.

Growing rapidly, LulzBot is in a good position to increase the open source share of the market drastically. When I visited LulzBot in early 2014, they just got a new factory space. They currently have 75 employees. OSE looks forward to further collaboration with Jeff Moe, LulzBot founder and CEO – as he supports the open source community and is interested in open hardware in general.

It appears to me that the automatic bed leveling function of the LulzBot Mini sets it apart from the competition. It makes our life much easier in terms of eliminating setup time before any print.

Is setup time required when switching spools of filament? To switch a spool, just heat up the nozzle, and insert the new filament into the extruder. Switching to PLA plastic from the initial HIPS plastic test run, there was no issue. I tried a model tube shape to test the stability of printing tall, columnar objects – such as scale model tubing like for our open source tractor. There was no visible wobble in the print at the very top:

hello

The print at rough setting looks like this:

print

Note that this was done at the fastest, lowest quality setting – we are just interested in scale models, where we are not looking for part strength. And here is a result of a larger batch:

hello

And comments about the print:

The LulzBot Mini can print with many different materials. An extruder for printing with rubber is currently available for the LulzBot TAZ, and is in development for the LulzBot Mini. We plan on 3D printing this extruder once the open source design becomes available from LulzBot. The development version of this extruder – the Mini Flexystruder – can be downloaded here.

For OSE purposes, we are particularly interested in the following applications of 3D printing:

1. Plumbing fittings – custom, low pressure, water tight connections for irrigation ponds and aquaponics.
2. High pressure tractor hydraulics – using rubber printing for high pressure seals, gaskets, and o-rings for hydraulic cylinders, valves, and motors. This blends precision manufacturing with 3D printing for high pressure applications.
3. Scale modeling – prototyping of the Tractor Construction Set and other machines of the Global Village Construction Set
4. Agriculture – printing useful tools such as the grafting tool – which I discussed in a blog post from 2009 when 3D printing was just getting off the ground.

Now what are the disadvantages of the LulzBot Mini? I don’t like that the print bed moves, as this can cause wobble in certain tall objects that are being printed. I have not seen this be be an issue on the Mini yet, but it probably means that the structure being printed can wobble in certain cases, and possibly come off the print platform. This may be true for very thin and tall structures, or for top-heavy structures – where extra support or slower print speed would have to be used to prevent any issues. I’ve seen this issue in the LulzBot TAZ. The only other issue may be that the USB print connection requires one to have a computer connected to the 3D printer for the duration of a print, as opposed to using a memory card without a computer connection. This means that one can’t take their computer with them if they want to leave when a long print job is running.

As far as the sofware, Cura is simple and it works well. I was pleasantly surprised at the bonus visual effect upon opening up of print files. One sofware glitch was that after installing Cura on my Ubuntu 12.04, the computer did not detect the printer through the USB port. Turning the computer on and off solved the connection issue – it appears that the computer must be reset after the initial software install. I then heated up the nozzle via Cura to remove the filament piece that the Mini ships with, then inserted new filament. I began the first print as in the video. The printer brushed the nozzle to clean it, and then the auto leveling took a few second. Then the print started. Walking away from the computer, I had to disable power saving so the computer would not go to sleep.

All in all, I am looking forward to finally having a turnkey 3D office printer for scale modeling – free from any demand of bed leveling. This allows us to run various test-driven design proofs-of-fabrication. It is useful to examine not only how 3D printed scale models of machines will look in physical shape – but also – we can test assembly and bolting sequences of scale models fully before doing so in real life. Before any multi-ton heavy machine is built, there is no reason why a complete scaled-down prototype cannot be not done prior to the build. This seems obvious that this would be a wise thing to do, but we are just now evolving our development techniques to the point where scale model prototyping becomes fully integrated into our workflows as a normal operating procedure.

New products: 40×7 mm wheels

via Pololu Blog

New products: 40×7 mm wheels

We now have 40mm-diameter wheels (available in black, red, and white) in the same thin style as our 32×7 mm wheels, which help fill the void between those and the 60×8 mm wheels that were previously our next size up.

Black Pololu wheels with 90, 80, 70, 60, 40, and 32 mm diameters (other colors available).

Like the rest of the Pololu wheels, the 40×7 mm wheels press-fit onto the 3mm D shafts on many of our motors, including the micro metal gearmotors and mini plastic gearmotors.

Pololu 40×7mm wheel on a micro metal gearmotor.

For more information, take a look at one of the items listed below, or check out all the Pololu wheels category page for more options.

Video: Setting the Current Limit on Pololu Stepper Motor Driver Carriers

via Pololu Blog

One of my many roles here at Pololu is overseeing technical support, and I have seen countless cases of customers who have problems with their stepper motor systems because they have not properly set the current limit on their stepper motor driver. To address the issue, we have made a new video that demonstrates how to set the current limit on our stepper motor driver carriers. The video also provides helpful tips and points out a few common pitfalls.

A DRV8825 carrier is used for the demonstration, but the video also applies to our A4988, DRV8824, and DRV8834 stepper motor driver carriers. In the demo, signals for the driver are provided by an Arduino-compatible A-Star 32U4 Prime SV. Here is a simplified version of the Arduino code from the video that can be used to step a motor in both directions:

/* Simple step test for Pololu stepper motor driver carriers 
This code can be used with the A4988, DRV8825, DRV8824, and 
DRV8834 Pololu stepper motor driver carriers.  It sends a pulse 
every 500 ms to the STEP pin of a stepper motor driver that is 
connected to pin 2 and changes the direction of the stepper motor
every 50 steps by toggling pin 3. */

#define STEP_PIN 2
#define DIR_PIN 3

bool dirHigh;

void setup()
{
  dirHigh = true;
  digitalWrite(DIR_PIN, HIGH);
  digitalWrite(STEP_PIN, LOW);
  pinMode(DIR_PIN, OUTPUT);
  pinMode(STEP_PIN, OUTPUT);
}

void loop()
{
  // Toggle the DIR pin to change direction.
  if(dirHigh)
  {
    dirHigh = false;
    digitalWrite(DIR_PIN, LOW);
  }
  else
  {
    dirHigh = true;
    digitalWrite(DIR_PIN, HIGH);
  }

  // Step the motor 50 times before changing direction again.
  for(int i = 0; i < 50; i++)
  {
    // Trigger the motor to take one step.
    digitalWrite(STEP_PIN, HIGH);
    delay(250);
    digitalWrite(STEP_PIN, LOW);
    delay(250);
  }
}

Pattern language icons

via Open Source Ecology

One of the issues of open source hardware development is the fragmented nature of documentation materials which vary not only in clarity and quality but are also spread out across a host of different platforms. This situation contributes to a general sense of disorientation when newcomers want to contribute to projects they’re interested in but also makes tracking the development of existing projects and especially derivative works so convoluted that many people choose to start from scratch. It takes special attention to turn Open Source Hardware into Useful Source.

In order to streamline our development processes, we are creating sets of icons that will grow into a visual pattern language that can be used for anything from conceptual design to machine documentation and other learning materials in print and online. This builds upon Christopher Alexander’s Pattern Language, and our early work on technology pattern language icons.

OSE icons

Using icons as visual aids in communicating ideas helps readers absorb and understand complex information which we expect will lower the barriers to entry even further for people interested in participating and contributing to new and ongoing projects. Another benefit of having these icons will be in making navigating existing documentation more efficient by visually punctuating extended tracts of text and helping readers find the specific information they´re looking for more quickly.

Why not just use icons from The Noun Project (TNP)?

First, the OSE icon set is totally fluid and open source – we upload SVG source files. This way, if you don’t like a particular icon, you can help us immediately – by downloading the icon and editing with open source software, Inkscape, according to Style Guidelines discussed below. We have created a how-to for how anyone can do this.

Although TNP is a great resource, there are many icons, especially of the more technical variety, that are simply not available there.

Another reason we decided to create our own icon sets is that even if we could find all the icons we need they would most likely not share a common visual style. Even small differences in line weight, line endings, corner radii etc, would become especially distracting when using the icons in combination.

Lastly, while TNP´s focus is on establishing themselves as a platform for creators to license their work, we go a step further. We encourage and support people in learning basic vector graphics editing software skills – to create their own icons – more info below.

Goals and next step

Our goal is to create 1000 icons in six months and in the process start building a team of people with the necessary skills to contribute in creating OSE graphics throughout the year. We have started compiling a list of icons that includes development process steps, all fifty GVCS machines, agriculture icons, and safety + quality control icons, among others.

The next step will be to host a crowd sourced effort (design sprint) to generate icons as a larger collaborative team starting next week. To join, please sign up to our Design Sprint team by filling out a skills survey. We send Design Sprint invitations to this list. Future design sprints are announced on the Design Sprint page if you miss the email. If you would like to participate, please go through the Style Guidelinese and How-To below. Design Sprints will be held for the next 6 months starting this Monday, April 12, 2015, 1 PM CST. See Design Sprint page for details.

As OSE’s Graphics Lead, I have created Style Guidelines that cover some general rules and concepts to keep in mind when creating OSE icons.

Icon Style Guidelines

I have also created a basic tutorial for how to create icons using Inkscape, an open source vector graphics editor software.

Inkscape tutorial sample

We will work through a list of icons, which includes model icons that can be used as a reference for what the OSE icon should look like.

Related reading: Open Source Hardware Documentation Jam and recent blog post on the Open Source Hardware Development Method.