3 Attachment(s)
Canon MW10 Marv - Reverse Engineering
Hello,
A while back I "build" a 3d printer out of a cnc mill and some maker bot parts. This was very time consuming, so I didn't want to start a new hobby, I only want to print some things. I bought myself a Canon MW10 Marv which was introduced with a retail price of 800€. The printer was on sale for 200€, so I could not resist :) .
Unfortunately you have to use the bundled windows software, which takes a stl-file as input. The software is quiet limited and I want to use at least my own slicing software and set some parameters on my own. With different PLA colors, I would prefer to change the printing temperature for better results.
So what to do? I try to reverse engineer this thing (yaya I didn't want to find a new hobby :D ) and document the process here. I know some basics about reverse engineering and 3d printing at least, so I am happy about any recommendations/hints/help.
I have some ideas how to archive my target. I will update my progress here in the thread.
1. Idea:
The printer accepts also SD-cards with the printing files. STL objects must be opened with the windows application and saved as *.marv file. I hoped that there is something mentioned for the printing temperature.
2. Idea:
The printer is connected via USB/Serial. I could check if the communication could be reverse engineered to use a third party software to communicate with the printer.
3. Idea:
Install a custom firmware on the board and use a third party tool to print.
4. Idea:
Replace the controller with some different one.
Current Information:
Here are two example files, which are generated by the software:
https://dl.dropboxusercontent.com/u/...Dspool_v2.marv
https://dl.dropboxusercontent.com/u/...backplate.marv
Both files have the same header, but the rest is at the moment not readable for me:
Attachment 10158
Additionally, I captured the USB traffic of the 3d printer port with wireshark.
If you want the check it on your own:
https://dl.dropboxusercontent.com/u/..._Dump_MARV.rar
Use wireshark filter usb.transfer_type != 0x1
On the first look, the data seems to be the same as in the *.marv file.
Attachment 10159
Attachment 10160
The controller seems to be a custom board with an Atmel 90usb1286:
https://s24.postimg.org/iz5es3jj5/IMG_9229.jpg
The firmware can be found here.