Unbricking The Da Vinci And Installing Custom Firmware

unbricked

We’ve seen a lot of projects based around the Da Vinci 3D printer, all deserved, because the Da Vinci is honestly a terrible 3D printer; it has chipped and DRM filament cartridges, a terrible software interface, and completely closed firmware. The first two shortcomings have already been taken care of, and now the door is open for open source firmware on the Da Vinci printer.

[Jason] bricked his Da Vinci when upgrading the firmware, and like any enterprising tinkerer opened up the enclosure and took a look at the electronics board. He found an ATSAM3X8E, a very capable ARM Cortex-M3 microcontroller. This is the same processor in the Arduino Due, making it possible to write code for the Due and upload it to the Da Vinci controller.

After installing Atmel Studio 6, he noticed the printer controller showed up in the device manager, making it a snap to upload updated firmware, unbricking his printer.

With the ability to upload firmware, the problem quickly becomes writing new open source firmware, or at least porting existing firmwares; there are a few people across the internet trying to reverse engineer the board schematic from the PCB. Once that’s done, it should be a trivial matter to make the Da Vinci an open device, and teaching a lesson to every company that thinks they can sell a closed device in what is ultimately an open ecosystem.

Comments

  1. Kris Lee says:

    DRM filament cartridges? This is just disgusting.

    • JRDM says:

      I think it’s debatable to call the cartridges DRM-ed. They do have chips, and the people that hacked them managed to get the chips to work by simply changing the remaining filament length data stored, and that value isn’t encrypted last I heard.

      It’s not really a business I’d want to support if I could avoid it. I really need to read up more about it to see if the mechanical structure is good. But having to work around bad firmware, possibly bad electronics and terrible software, in a supposedly finished product, to make it work well puts me off.

      • Josh says:

        The mechanics of the machine are not crap by any measure. Could they be a bit better sure. But consider all parts are machine stamped and injection molded. There is little that will be out of alignment. The electronics are also not bad, they just need a new firmware. That being said the 1.0 board version has the spots necessary for dual extrude un populated. At the same time it will be quite straight forward to drop in a ramps based system. There are at the present a limited number of us working on this machine and already it has become a printer that, well just works. Straight out of the box it is ok to good. With some slic3r or other slicer magic it is very good considering the cost. I don’t have to babysit it or whatever all the time. I hit print and go. I bought it to “get my feet wet” while working on my printer build. Given all my toys and useless crap bought over the past years this has seen the most use by far. And even after the quad or 5 extender build is done it will continue to get used daily. It is not perfect and all issues are covered on the forums linked above.

  2. ERROR_user_unknown says:

    it would be nice to get custom firmware on the 3DS cube gen2+ it doesn’t even remember the wifi pass word why have wifi and forget the pass makes no scene. also i have a secure wifi key that is 26 characters long so this is a non trivial problem for me. this artificial gives me hope that my machine will one day be cracked.

  3. Josh says:

    Jason was not the first to do this. There is another blip about this on the da vinci forums at http://voltivo.com/forum/davinci
    For such a new printer we have a fairly active population. And you will be very hard pressed to find a printer with this large a volume for 500 dollars printing this well, within minutes of un-boxing it. Sure XYZ may suck for the closed repietier they use and cause they have not released the slic3r code they use, and for the chipped filament, but this printer is the right product at the right price at an excellent time to draw in many people to 3-d printing.

    • Kieth says:

      Thanks Josh. AFAIK I was the first to tell of a brick and how to undo it. I did not publish exactly how – although I did detail software/drivers needed- because it will (at least how I did it) erase the serial and that may cause some warranty issues if the need to send the printer back occurs.

      Kieth

  4. g says:

    “it should be a trivial matter to make the Da Vinci an open device, and teaching a lesson to every company that thinks they can sell a closed device in what is ultimately an open ecosystem.”

    – Company sells the ‘ware
    – You immediately void warranty
    – No more warranty burden on company
    – You write new, actually usable firmware
    – Bloke shopping for 3D printers goes “uh, crappy factory firmware, but good free one, I can just buy this printer then”
    – Company sells the ‘ware

    You have taught them a serious lesson, mate.

    • Waterjet says:

      Yeah! Stick it to 3D Systems and Stratasys with their closed ecosystems… that are truly closed.

    • Greenaum says:

      But at the same time the new firmware ignores all the DRM nonsense and makes buying ordinary filament possible. Which was going to be a big income stream in Company’s plans.

      The razors / blades, now better known as the inkjet method of business, really pisses people off. And yet it lets people get hold of stuff they otherwise wouldn’t be able to afford, by subsidising the basic item. Still I understand this, but it annoys me too. I suppose it’s just the excessive profit on cheap things like ink or plastic filament that does it. Even though without it you wouldn’t have the cheap printer at all.

      It’s interesting that people don’t seem to consider the good deal they got on the printer when they’re moaning about the ink. It’d be interesting to see some psychological research into this.

      • Zane says:

        Kodak inkjet vs other inkjets of it’s time- Kodak had the idea of selling a printer that was more expensive, but had super cheap ink. It flopped. In th end, the inkjet world seems to win.

        • fartface says:

          Mostly because the general public is incredibly dumb.

          • ERROR_user_unknown says:

            I personally bought a 3DS cube because it was close to where i live and easy to get a hold of. shipping other machines to perth is a hight mare given it is half way around the world from the produces primarily in America / Europe. when i did need a 2d printer a while back thought my only concern was ink cost and i basically ignored the price of the machine and bought the one with cheapest ink i could find locally.

        • David says:

          Then there’s the Epson method better printer -> better ink -> less expensive printer -> less expensive ink. AKA treating the consumer with respect.

          d

      • Marcus says:

        I hate the inkjet method of business. I also lump it in with mobile phones and new cars. It is a market where the sellers purposely try to create as confusing a “deal” as possible, because by confusing the customer they can get more money out of them.

      • Davron says:

        But considering that, in particular, inkjet printers don’t last much past the ink cartridge, it still isn’t that that good of a deal.

  5. aegoji says:

    3D printers suck, you can’t 3D print a usable stepper, MCU or a cable.

  6. cr0sh says:

    “…teaching a lesson to every company that thinks they can sell a closed device in what is ultimately an open ecosystem.”

    Really? You haven’t been alive long, have you? I mean, if the very nature of Linux didn’t teach that lesson (along with the multitudes of hardware that had to be reverse engineered and open-source drivers and such written – especially web cameras and video cards) – nothing will.

    The fact is, the “masses” that want to buy and print with a 3D printer, don’t want to print things they’ve designed (heck, learning how to design things is just “too hard” and takes “too long”, and “oh, new shiny”, and “when’s the next episode of XYZ showing?”) – no, they want others to design those things, they just want a “custom” (???) iPhone case, or other bauble coming out of the magic box – because it is easier to do that than to actually go to a store and pick it up (or, forbid, wait several days for it to be delivered – they want it “right now dammit!”).

    No – this will likely lead (provided that the “masses” actually want a 3D printer, which remains to be seen) to where its always led: A mass market, low-cost 3D printer DRM’d and locked down to hell and back (possibly with non-replaceable parts, maybe assembled in such a manner that disassembly will cause it to break so that it can’t be fixed) – and then the much more expensive “pro-level” printers for the designers. Of course, the software for designers will be extra (because it has to insert the DRM for the models so that open-source software won’t work). You’ll probably have to always be connected to the internet to use the hardware/software (both the designers and the end-users) – just to make sure nobody is doing anything “wrong”.

    Hmm – while I never got to use one, this makes me think of the Objet 3D printer systems…

    Then there will be the rest of us, playing merrily outside of the walled garden, but unable to sell our wares to those inside; in other words, we’ll be locked out of the system that we helped create.

    This will likely, again, only happen if there is a mass rush on people wanting to buy, own, and use 3D printers; I still don’t think 3D printers are there yet for most people (mainly because 3D printers take a while to print a bauble, and the quality isn’t as good as a store-bought item).

    • Waterjet says:

      “probably have to always be connected to the internet to use the hardware/software (both the designers and the end-users) – just to make sure nobody is doing anything “wrong”.

      Hmm – while I never got to use one, this makes me think of the Objet 3D printer systems…”

      Objet (now owned by Stratasys) does not require this.

  7. ejonesss says:

    usually bricked means you have botched the firmware and it is completely useless

    • Yes. Need to check their definition of “bricked”. If you can upload from a standard IDE, it ain’t bricked.

      • Zac says:

        Just because something you call something ‘bricked’ because YOU don’t have the capability to fix it, doesn’t mean that someone else doesn’t have the capability. Therefore, your definition is stupid.

      • Rob says:

        This. I recall that “bricked” used to have a preceeding coarse word attached to it with a hyphen (ie, “$h17-bricked”), and the definition was certain… if it was bricked, it was dead.

        As to the modern misappropriation of “bricked” it really needs a different word that conveys the idea of something having gotten far enough out of whack that “primates are stumped, but higher life-forms ought to be able to rescue it with enough time/money/resources”.

        Those two ideas are two very different things. This degree of laziness in spoken/written language really galls me. Also, get off my lawn…

    • thantik says:

      Wikipedia disagrees with you: http://en.wikipedia.org/wiki/Brick_(electronics) – “Bricked” as it’s used today, simply means that you’ve gotta drop down to a lower level hardware interface to reflash or fix.

      • That is pretty lame. Someone needs to edit the page.

        • Slartibart says:

          To fit your definition of the word? Isn’t tha even more lame?

          • To fit reality. The incompetent have adopted the word. I didn’t know. What do you suggest we call things that are actually bricked? Bricked beyond all repair? BBAR. Do you know what the word means (did mean)?

        • Truth says:

          I n reality there is no such thing as bricked, unsolder the flash (if needed), stick in a flash writer device and re-flash with a copy of the default factory. To a hacker it ain’t broken until someone smashed the silicon with a brick and even then …

          • “Bricked” is (was) the term for something you can’t fix. For example, a single chip microprocessor with a fused link for access to programming the flash. If you blow the fuse before you program or with bad code loaded, you have a brick. Or a device with a software loader and no other way to access after the chip is in epoxy and you overwrite the loader. Yes, there have been devices like that. A device that is programmed during die test and the JTAG lines are not bonded out to pads. You can interface through serial but you wipe out the resident u-boot. Bricked. You get the picture I’m sure.

        • David says:

          Your level of negativity is LAME.
          d

    • Andrew says:

      That’s absolutely correct, and that’s exactly what the OP did.

      Luckily, we coined the term ‘unbrick’ to describe what he did next.

  8. pcf11 says:

    Here’s an idea. If you do not want to buy into a closed ecosystem then don’t.

    • Mike says:

      Right? No one is forcing anyone to buy this printer. XYZ just chose to use this business model. But this business model is precisely the reason that this printer is really top quality for it’s price. People are willing to pay more overall to get things cheaper now (or better things for same price). Look at your average Rent-a-Center, there’s no shortage of business for them.

      I don’t know how many times I’ve heard people complain about the cell phone business model. You either get your phone cheaper now, but pay for it (and then some) over the life of your contact, or you pay for the phone up front with no contract. People want it both ways and you can’t.

      Yes, ink jet printer ink is expensive, but how else do you think you can buy a new printer for $30?

      I just hope that when people open source some new da Vinci software, the number of people that use it stays below a level that XYZ can absorb. Otherwise one of two things will happen:
      XYZ goes out of business since they can’t stay afloat without the residuals. (No more great printer at that price point.)
      XYZ increases the cost to cover the losses. (No more great printer at that price point.)

      If people want to have their cake and eat it, too, (get subsidized 3d printer price without paying it back on the filament) they better hope that enough people are willing to cover for them.

      That being said, if I had it I would definitely reflash it with open source firmware given the chance. The primary reason that I went with another printer instead of the da Vinci was community support.

      • pcf11 says:

        I always feel it is best to invest in those who you feel most aligned with. When a few folks game the system everyone ultimately loses. I mean spend the couple extra bucks and buy a printer with saner firmware. That extra money might just go towards those printers getting even better someday.

        Or buy the da Vinci and let the other printers wither, and die. Yeah, that would be the best thing to do. Everyone pursuing their own selfish interests is what makes this world so great.

  9. dave says:

    Does this allow you to use 3rd party filament without resetting the cartridge?

  10. Aceeeco says:

    I just got my Da Vinci on Friday. I immediately unboxed it and after fixing a small problem with the y axis not homing on start up (see below) I was able to print one of the demo prints on the first try. I would say that the quality is on par with the Cubex duo I have at work. And that is after adding a 3rd party heated bed.

    I need to tension one of the y axis belts and the x axis belt. When I first powered on the printer the x axis homed and then the y axis returned and started grinding. I moved it back out and replicated the results again. I read a few amazon reviews of people having wires pop loose during shipping so I opened the back panel and traced the y endstop. It was plugged in. I checked the continuity on all the wires which was fine. Then used a magazine to interrupt the photogate SUCCESS! I tried to re-align the bracket. But it can’t be done. So I used some tape to extend the tab a little bit. Sad that I would have to do that but for the price it’s hard to argue about something so small. So I loaded my sample cartridge and printed the keychain. It started to print fine. I noticed that the y axis belt is loose on the right side. I think this sloppy belt is causing the other side to not reach the end stop. Luckily it looks like I just need to pop off a side panel and loosen 2 screws to tension the belt.

    I haven’t tried the software yet but I was aware of the issues when I ordered. I was not going to order the davinci at first until I found out it was easy to reflash the cartridge. I am currently planning to work with the printer as is for a little while and then replace the electronics with ramps/raspberry pi combo.

    All in all I would say the printer itself is worth the money as a ready to go out of the box printer. The construction is pretty sound. I am very impressed with the extruder. I’m not a fan of the drm’d cartridges (especially after the $99 cubex cartridges at work). But I have the parts to work around that. If they fix the software or somebody can get an open source software to work I think the da vinci could easily develop a large market share

  11. Andrew says:

    “We’ve seen a lot of projects based around the Da Vinci 3D printer, all deserved, because the Da Vinci is honestly a terrible 3D printer;”

    Seriously Brian, do you even *read* what you write?

    • A few weeks ago he wrote the following in regard to the Da Vinci:
      “The Da Vinci printer from XYZprinting is turning out to be one of the best buys in the world of cheap, consumer printers”

      I tipped and bought one because I thought it was a good sign that it was featured by Hackaday

  12. capcouillon says:

    “The da Vinci 1.0 3D Printer will revolutionise the way you live.
    da Vinci allows you to create and customise your home with the push of a button”….

    The opening sales blurb from DaVinci does not sound like their business plan is geared toward penetrating the “open ecosystem” / hacker / nerd / nerdette market, but rather the mass, disposable income ,market. As stated in others comments, if you dont’t like it, take your money elswhere… as in vote with your dollars. Oh, and if you can buy an adequate 3D printer on the cheap and reset the cartriges and reflash the firmware, good on ya.

    But, I don’t think your market impact will “succeed in “teaching a lesson to every company that thinks they can sell a closed device in what is ultimately an open ecosystem.”. Last I looked, the Borg-Gates and his minions aren’t on the soup line.

    • David says:

      “Teaching a lesson to every company that thinks they can sell a closed device in what is ultimately an open ecosystem.”
      Come on. I bought it for the convenience of plug-in/turn-on. It worked out of the box and still does. I love it!
      However, I’ve never seen a design I couldn’t improve, especially my own. It’s mine now and I will do with it as I will. I realize there are repercussions (warranty) but I used it to print my new printer. Too cool.
      There is a line between cheap/selfish and innovative/creative and you sir are responding to someone that is on the cheap/selfish. Let him live alone.

      d

  13. dave says:

    Can someone post a youtube video before i wipe the firmware

  14. hyperjer says:

    Has anyone upgraded to a due for use with a ramps board yet?

    • Josh says:

      If I had a second printer I would have already done so, but this thing seems to get no break for the work. But a ramps/mega is in the plans, the sticking point is the LCD at this stage. That and just getting a free moment to do so. The goal is to do it as a direct drop in “kit” with matching plugs for the da vinci and matching plugs and wires for the ramps.

  15. Chuck says:

    $28 for 240m (600g) of plastic in a chipped cartridge doesn’t seem ridiculously more expensive. I know ~$30 will get me 1kg but that extra subsidy in each cartridge got me a nice printer for under $500. And the continued income stream for XYZ allows them to improve the design (built in scanner, dual extrudes, etc.)
    I just don’t see the evil in this.
    They aren’t preventing anybody from buying an open source design. They are giving beginners who don’t want all the open source work ( fun for some, pain for others).
    Then again, this is the hackaday blog so it my point may be meaningless.

    • David says:

      Actually, you’re preaching to the choir. I expect the negative responses are from someone that doesn’t have a working printer.
      I love my xyz, I hope they put out new products, I hope to improve my xyz and I have bought a few cartridges and I like knowing I’ll be printing instead of fiddling with the filament.
      d

  16. Nevaar says:

    Loving my DaVinci, especially knowing I can hack the carts. Changing colors is real easy and they really aren’t much more expensive than other sources, but colors and options are limited. Going forward, I’ll hack chips and refill empty carts with 3rd party stuff. Working on a 3d printable frame/spool (will just move the chip) and arduino based refill station (wind spool and set variables, reset chip, etc). Then I’ll have cartridges for pretty much anything I want.

  17. Nevaar says:

    It would seem that rev ‘G’ is the best option for cart reset compatibility (from browsing the threads here, YMMV). I likely won’t get an actual test until I get the cart frame and reset/reload dock built out. I saw a link to the Arduino reset source floating about. Connectivity seems to 5v, Gnd, and a DataPin. I should have plenty of chips from “proprietary-empties” to play with by then.

    In passing, I should mention that the only real issue I have with DaVinci is that the calibration was just a bit off – first layer or two in one corner would just scrape the buildplate. Easy fix, sweet prints now. Some de-lamination issues, mostly related to my own impatience; fast speeds + thick layers = delamination

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 98,246 other followers