PDA

View Full Version : Interesting reading (on the Cube3 hack)



bolsoncerrado
09-14-2017, 09:03 AM
ReCube: Story of Cube3 hack part 2






http://www.haxtom.com/wp-content/uploads/2017/09/RAM_view.jpg


Further hacking work went to step were I had to find how firmware uses cartridges memories. So I check possible text outputs and I have found:



http://www.haxtom.com/wp-content/uploads/2017/09/Logs_view-300x53.jpg (http://www.haxtom.com/wp-content/uploads/2017/09/Logs_view.jpg)



Especially this one: “UpdateCartridgeQntCheckPresent: eWriteCartridgeStatus=%i” was very promising. Actually all this logs was also visible via UART terminal.


So when I went to function which called this log file, I was sure that one of the called functions there do a memory writing magic:



http://www.haxtom.com/wp-content/uploads/2017/09/WriteQuantity_function-300x70.png (http://www.haxtom.com/wp-content/uploads/2017/09/WriteQuantity_function.png)



To understand how reading and writing to secured memory is working I read carefully (few times ) documentation for DS1963S:




http://www.haxtom.com/wp-content/uploads/2017/09/Read_auth_page-268x300.jpg (http://www.haxtom.com/wp-content/uploads/2017/09/Read_auth_page.jpg)



It was very hard but crucial to find all responsible functions used during writing of current quantity. Generally printer is using 2 banks of cartridge memory, both have 32 bytes length. Bank 0 consist information about material type, material color and max amount of cartridge. All of this information is additionally secured with special checksum. Bank 1 have only information about current quantity status.


It took me around 1 month to find how to read cartridges memories, 1 week more to find how to write them and 2 month more to find how to calculate checksum. Finally I have constructed ReCube v1, special tool to “refill” Cube3 cartridges:


http://www.haxtom.com/wp-content/uploads/2017/09/IMG_20170912_230732-300x225.jpg (http://www.haxtom.com/wp-content/uploads/2017/09/IMG_20170912_230732.jpg)http://www.haxtom.com/wp-content/uploads/2017/09/recube_v1_opened-300x225.jpg (http://www.haxtom.com/wp-content/uploads/2017/09/recube_v1_opened.jpg)


This small “stick” is based on Arduino Nano and is able to “refill” fully cartridge with just 1-click or much more via UART console. Some short movie showing enhanced possibilities of this device you can find here:

I decided to share Light version of this device and you can find it here: RecubeV1 (http://adf.ly/1o9ihC)


In given zip you have all needed files, binaries together with KiCad project for PCB board and STL file for cover.


Read carefully Readme.txt file and if you like it do not forget to donate. Paypal Link: Tomuro (https://www.paypal.me/tomuro)


Here is schematic:


http://www.haxtom.com/wp-content/uploads/2017/09/ReCube_schematic-300x293.jpg (http://www.haxtom.com/wp-content/uploads/2017/09/ReCube_schematic.jpg)

And part list:
R1, R2 – 1k
R3 – 100k
R4 – 4,7k
D3 – LSG_T670
SW1 – micro, tact switch SMD 2,5 mm







http://www.haxtom.com/?p=33 (http://www.haxtom.com/?p=33)

bolsoncerrado
09-14-2017, 09:05 AM
Perhaps someone tech oriented wanna do a mobo run here? :D

Mythandar
09-15-2017, 05:10 AM
It really opens up the possibilities.

MegaloDon
09-15-2017, 06:26 AM
From the readme:

"Light version offer you fill maximum possible value with just one click or set any percentage you like. Pro version offers additional setttings like: material type, material color, increase or decrease maximum material amount in cartridge."

I wonder how much the pro version costs.

Also:

3; - Get material type
0 = PLA
1 = ABS
2 = NYLON
3 = EKO
5 = WUD
6 = FLX
7 = MET

Not sure what good it would do to change it to say NYLON because the Cube Print software doesn't have that option. If you wanted to print nylon with another slicer, you could just set the material type to PLA for example. It wouldn't matter to the Cube as long as it has a PLA chip in it. The temperature, etc. are set by the slicing program. This is how I printed PETG. I set it to ABS and had an ABS chip in the hub.

Not knocking it though. It would be nice to change from PLA to ABS or vice-versa.

iimac13
09-18-2017, 04:25 PM
Well, I downloaded the light version and -had to- get an arduino nano clone, then I was going to assemble the suggested circuit but then I recalled I had a circuit of my own already for 1-wire so I hooked that one up instead. Voila! it works! spent a good part of the weekend 'reprogramming' some cartridges that I had at 0%, to a newly 98%(I told the software to put 99% but what the heck, 98 is just fine :) ) Tomuro is very responsive both via the blog and email.

bolsoncerrado
09-18-2017, 05:18 PM
So you made the circuitry on a breadboard typeż

MegaloDon
09-18-2017, 08:13 PM
Well, I downloaded the light version and -had to- get an arduino nano clone

Will it only work with the Arduino Nano? I have an Arduino Uno and was wondering if it would work with that. I'm not worried about having a case or whatever for it. Once I program the chips I won't need it anymore. Also do you know what the difference is with the Pro version? Is it a hardware or software difference, or both?

Mythandar
09-19-2017, 04:13 AM
Will it only work with the Arduino Nano? I have an Arduino Uno and was wondering if it would work with that. I'm not worried about having a case or whatever for it. Once I program the chips I won't need it anymore. Also do you know what the difference is with the Pro version? Is it a hardware or software difference, or both?

You should be able to make it work with the Uno, but i think the pinouts are different. You may have to change the program so it calls for the needed pin properly. Of course you'd need to compile it for an uno. I think he just wanted to use a nice small arduino so the device is small and compact, and only needs the usb cord from the pc for it's power and data.

JackMeoff
09-28-2017, 05:37 PM
You should be able to make it work with the Uno, = Yes
but i think the pinouts are different. =No
Of course you'd need to compile it for an uno. =No

Both use the Arduino 328 chip. The (PB5) SCK pin is the same on both, which is the 1-wire.
I have a RPi Alamode with a 328 chip on it. Used Avrdude running on the RPi to program the 328. Then attached a FTDI to the Alamode
as a stand alone to gain access via PUTTY, Serial Mode, breadboard to the DS28E01 chip.

The software works like a champ. If you program the chip, command "6", then follow with a command "7" with no arguments. It sets the
chip value back to zero. This was confusing to me. But, then again I'm getting senile....

Fuganater
09-29-2017, 06:41 AM
sadly I'm at work and can't see all the parts needed for this. I have a spare Uno at home and I'd love to try this out. I'll deff be back with questions.

JackMeoff
12-18-2017, 06:15 PM
Bump to the top.... I have Tom's ReCube Pro. It works great and does exactly what it's supposed to do. With this software you can change the chip to PLA, ABS, Nylon, whatever the printer can handle. Able to change the color name of the filament also. No more buying cartridges when you need only need the chip. Use what you have. Since the hack is chip based and not firmware specific it works on Cube3, CubePro and possibly the Eco. Runs on the Arduino 328 processor. Any board having this processor chip will work. I used it on a Pi Ala mode, piggybacked on a RasberryPI 3 running Linux. NP. I highly recommend it. G70

APCollyer
03-07-2018, 08:21 PM
OK been reading this thread. Had the Firmware hack on my Cubepro Trio and worked fine until had few issues and 3DSystems suggested upgrading to Version 2.02 and no way to revert back!!! Looks like there maybe a fix for that so may try now the Cubepro is working again after 2 months diagnostics with 3D Support

Anyway as I have LOTS of cartridges sitting around, mostly ABS though and no electronics or computing skills other than typical plug and play. Can this 'ReCube Pro' be purchased and from whom?
Will it work on cubepro Trio? it updates the chips to whatever IE ABS to PLA etc and is it in a ready made tool / device as i said no skills in constructing electronics

Appreciate your help

Andrew

JackMeoff
03-07-2018, 09:12 PM
Read this thread>>>http://www.print3dforum.com/showthread.php/1099-Interesting-reading-(on-the-Cube3-hack)
Contact Tomuro (Tomas) directly, I am sure he will be more than willing to assist you.
G70

TommyDee
03-07-2018, 10:05 PM
Yea, this seems like a good "product" for Bo to pick up on too.

I still have to assemble mine. It is definitely not a cost prohibitive device.
A little shopping will get circuit board fabrication cheap (as low as $2- each for a reasonable #!).

boilerbots
03-16-2018, 05:43 AM
I just tested recube from Tomuro on my Cube Pro Trio and can confirm that the version on his website did not work for the Cube Pro but after I send him a dump of my chips he made a modification and it now works. I can reprogram the capacity of the cartridge to full again.

I too am working on an idea to bypass the chip and have invested several nights so far working and inching closer to a proof of concept however I ran into a brick wall and basically have to start over again. I am not sure it is worth 40 plus hours of work given recube is functional although not super convenient. The question is how often does a person exhaust a cartridge and would be resetting the chip?

TommyDee
03-16-2018, 06:55 AM
Welcome to the forum boilerbots.

I would prefer to mess with the chips over the printer.
I'd be resetting a chip every 3 days.
But I'd pay for the Pro version.
Basically I am future-proofing my investment (FW upgrade).
Maybe not for the Cube 3 but any of the other supported printers.
Tomuro has made great advancements that 3DS is sure to take notice of, as will Maxxim.
Right now it just needs productizing into the everypersonsolution.

boilerbots
03-18-2018, 05:40 AM
Here is an explanation:

http://www.print3dforum.com/showthread.php/1239-Cube-printer-hack-my-approach?p=43870