Skip to content
/ Freecut Public
forked from Arlet/Freecut

Free cutting firmware replacement for cricut hardware that supports gcode and hpgl

Notifications You must be signed in to change notification settings

emente/Freecut

 
 

Repository files navigation

Freecut v0.1g (=forked firmware that eats GCode and HPGL)

Free firmware replacement for Cricut(tm) Personal paper cutter.

*******************************************************************************
IMPORTANT: REPROGRAMMING THE AVR WILL PERMANENTLY ERASE YOUR ORIGINAL FIRMWARE 

         !!! THERE IS NO WAY TO GET THE ORIGINAL FIRMWARE BACK !!!

*******************************************************************************

Original firmware cannot be copied from another machine (it has been
locked and cannot be read from the CPU)

Original firmware cannot be restored through any PC application used for
normal firmware upgrades.

This Freecut firmware has only been tested on the machine that I have. It
may not work on your machine.  It may cause permanent damage, and it
will certainly void your warranty.

Freecut cannot read your original cartridges and may never read them in
the future.

Cricut is a trademark of PROVO CRAFT. 

Freecut is not a PROVO CRAFT product. Freecut was developed completely 
independently, without any documentation to PROVO CRAFT products, and without
any original firmware. If you have problems with Freecut, do not consult
PROVO CRAFT. 


If you still want to proceed:

Attach an AVR programming cable to cartridge connector on the main board (J5):

 J5   |  AVR
------+-----
  1   |  PDO
  3   |  SCK
  4   |  PDI
  5   |  RESET
  6   |  GND

Top view of connector:

       J5
+----        ---+
| 9  7  5  3  1 |
|10  8  6  4  2 |
+---------------+

===edge of board======

Alternate, if J5 did not work:

Attach an AVR programming cable to atmega128:

 PIN |  ISP   ||  AVR   | PIN 
-----+--------++--------+------  
  9  |  MISO  ||  PDO   |  3
  7  |  SCK   ||  SCK   |  11
  1  |  MOSI  ||  PDI   |  2
  5  |  RESET ||  RESET |  20
  10 |  GND   ||  GND   |  22/53


Top view of male ISP connector: 

       ISP
+----        ---+
| 9  7  5  3  1 |
|10  8  6  4  2 |
+---------------+


Top view of Atmega128:

     64     49
    +--------+
  1 | o      | 48
    |  M128  |
 16 |        | 33
    +--------+
     17     32
	 

And upload the freecut.hex file.

After reprogramming, the machine should beep. Use keypad to load/unload paper.
Use the USB cable to communicate. Speed and pressure dials are not working.
USB uses 115200 baud, 8N1.

Keypad key functions:

up/down/left/right: move paper or head
cut: computer control only (default)
stop: manual control only 

 S P
[L|L|_|_|_|_|_|_|_|_|_|_|5|6] 
[_|_|_|_|_|_|_|_|_|_|_|_|_|_]     ()
[_|_|_|_|_|_|_|_|_|_|_|_|_|_]   ()
[_|_|_|_|_|_|_|_|_|_|_|_|4|3]
[H|H|_|_|_|_|_|_|_|_|_|_|1|2]

S=Speed (top=low, bottom=high)
P=Pressure (top=low, bottom=high)
1=load mat
2=unload mat
3=set as 0/0 coordinates
4=center x
5=arrow keys move in millimeters
6=arrow keys move in centimeters

Following gcodes are available:

G4 Px
	wait for x milliseconds

G91
	relative positioning

G90
	absolute positioning (default)

G92 [Xx Yy]
	set current position (0/0 if X/Y ommitted)
	
G0 Xx Yx Zx
G1 Xx Yx Zx
	move axis (feedrate is ignored)

G28
	home all axis

M106
	load paper

M107
	unload paper
	
M300 Sx
	0=pen down 255=pen up (same as Z, for mb unicorn)

	
	
replies are reprap-standard:

start
	machine boot up

ok
	command received, checksum ok
	
rs xxx
	checksum mismatch, resend line xxx
	
//
	debugging info

	
	
NOTE: This is the first quick & dirty version. User interface may experience
sudden changes (like a more sensible speed/press syntax)

e-mail: <freecutfirmware@gmail.com>

About

Free cutting firmware replacement for cricut hardware that supports gcode and hpgl

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 92.8%
  • C++ 4.9%
  • Shell 2.3%