Arlet / Freecut

Free cutting firmware replacement for cricut hardware
Other
67 stars 19 forks source link

firmware from scratch #3

Open garyStofer opened 10 years ago

garyStofer commented 10 years ago

l ported the freecut firmware to newer cake machine. It has a different PIC than the one free cut was originally written for, but the io and the rest of the electronic where pretty much the same, except for the LCD display. I'm planning on adding code for a graphtec interface,so it can be used to cut from PDF. gary

gossiphog commented 10 years ago

wow, very cool!! I have not made any progress on mine since I ran into trouble finding a Serial library that supports software flow control.

I implemented support for a cutter protocol that Make the Cut supports, have you done anything like this, or are you still using the "one command at a time" method of Freecut?

regards David

On Sat, Jan 11, 2014 at 11:53 AM, garyStofer notifications@github.comwrote:

l ported the freecut firmware to newer cake machine. It has a different PIC than the one free cut was originally written for, but the io and the rest of the electronic where pretty much the same, except for the LCD display. I'm planning on adding code for a graphtec interface,so it can be used to cut from PDF. gary

— Reply to this email directly or view it on GitHubhttps://github.com/Arlet/Freecut/issues/3 .

thetazzbot commented 9 years ago

I know this is a year old, but either one of you still toying with these cricut machines? I have added HPGL support to the original freecut but need to talk to someone who has walked these roads for some q&a

Arlet commented 9 years ago

I haven't done anything on this for years, but I'll be happy to help with questions if I can.

garyStofer commented 9 years ago

Thanks for the replies guys!

When porting the stuff to the cake machine I noticed that the LCD on it was of an very different kind. I ended up removing the original LCD and replacing it with a standard 4x40 module, then I got busy with an other project....

I have a Silhouette machine that I use to cut SMD solder stencils with. I want to use the Cricut machine to cut gasket material since it's a much stronger machine mechanical. So my plan is still to make its interface like what the Silhouette has (graphtec).

To thetazzbot : I'd be interested in looking at and possibly incorporating your HPGL code !

Thanks

Gary

thetazzbot commented 9 years ago

Yeah, well I just figured out that Arlet had a Cricut Personal and some how I missed that detail, and have been attempting to port the firmware to the Cricut expression with not much success.

I'm working on the timer code and will have to carefully look at all the other code (Especially the LCD code) to make sure it will function.

The ATMega1281 in the Expression Mk1 is a different beast than the 128...

I'm glad there are still some kindling flames of interest in these machines. They are great lab machines to learn AVR development.

On Thu, Jan 29, 2015 at 10:53 AM, garyStofer notifications@github.com wrote:

Thanks for the replies guys!

When porting the stuff to the cake machine I noticed that the LCD on it was of an very different kind. I ended up removing the original LCD and replacing it with a standard 4x40 module, then I got busy with an other project....

I have a Silhouette machine that I use to cut SMD solder stencils with. I want to use the Cricut machine to cut gasket material since it's a much stronger machine mechanical. So my plan is still to make its interface like what the Silhouette has (graphtec).

To thetazzbot : I'd be interested in looking at and possibly incorporating your HPGL code !

Thanks

Gary

— Reply to this email directly or view it on GitHub https://github.com/Arlet/Freecut/issues/3#issuecomment-72060158.

garyStofer commented 9 years ago

@thetazzbot

Yes the cake machine also has the ATmega1281. But I just noticed that I didn't make a fork on this project yet. I will add that as soon as I can figure out where I checked it in a year ago. Ha !

thetazzbot commented 9 years ago

Arlet,

I've got only one small issue that I haven't identified. I've got the HPGL parser working, serial with xon/xoff, keyboard, etc, all works. No display yet but that's a different problem.

Current problem is the pen. I can't get it to issue any pressure. I can "hear"/"Feel" it clicking like it is going down or trying to but nothing after that. I tied a keypad button to "pen_down" so I could test it over and over, so I can definately feel it clicking, but no pressure.

When you wrote the original code, how did you go about debugging when the PWM didnt seem to be functioning?

I haven't changed this code:

// set timer 1, WGM mode 7, fast PWM 10 bit // PWM, Phase Correct, 10-bit //Clear OCnA/OCnB/OCnC on compare match, set OCnA/OCnB/OCnC at BOTTOM (non-inverting mode)
DDRB |= (1 << 6); // PB6 is PWM output //DDRE |= (1 << 2); // PEN OUTPUT TCCR1A = (1 << WGM11) | (1 << WGM10) | (1 << COM1B1); TCCR1B = (1 << WGM12) | 1;
OCR1B = MAX_PEN_PRESSURE; // lowest pressure

// Timer 3, WGM mode 15 (1111), Fast PWM using OCR3A 
TCCR3A = (1 << COM3A0) | (1 << WGM31) | (1 << WGM30);
TCCR3B = (1 << WGM33) | (1 << WGM32) | 1;   

I have verified to the best of my knowlede that PE2 and PB6 are correct. One being the control transistor that turns on/off the power transistor. I attached my meter to the output on the power transister and when i press the "pen down" button, the voltage changes only briefly then goes back to nominal. So it feels like the timer1 is not staying on long enough....

Any advice would be appreciated

Arlet commented 9 years ago

timer1 should stay on all the time. It's not related to the pen up/down mechanism. You could try turning PB6 into a regular GPIO output, and set it manually for maximum pressure, and then check the outputs with a voltmeter.

TrendMend commented 5 years ago

I know this is years old, but I am having trouble flashing any cricut firmware, and I was wondering if anyone experienced the same issue. So I try to flash the cricut when it is on using my avr pocket programmer and avrdude, but everytime, the microcontroller restarts and avrdude errors out. any ideas?

garyStofer commented 5 years ago

No problems like that here. Cheeked the obvious already ? broken wire, bad VCC, etc ? Gary From: TrendMend Sent: Monday, February 18, 2019 6:10 PM To: Arlet/Freecut Cc: Gary Stofer ; Author Subject: Re: [Arlet/Freecut] firmware from scratch (#3)

I know this is years old, but I am having trouble flashing any cricut firmware, and I was wondering if anyone experienced the same issue. So I try to flash the cricut when it is on using my avr pocket programmer and avrdude, but everytime, the microcontroller restarts and avrdude errors out. any ideas?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

TrendMend commented 5 years ago

not that I know of, I was thinking it was contacting the microcontroller to quickly, but that wasn't the case. I am going to try another programming cable.

TrendMend commented 5 years ago

@garyStofer I was wondering how you reprogram the cricut, do you use the isp port? and do you reprogram it when it is on, when there is nothing connected to it? etc. Thanks

garyStofer commented 5 years ago

I think I used the JTAG interface. I modified the port where the cartridge plugged in so that I can directly plug in my JTAG-ICE. The unit must be powered of course, USB doesn't matter since it is just a USB to UART device.

I have the "cake" machine, it had a slightly different micro in it, but basically the same. I'm using it often ...I might have some notes on the jtag hookup that I never put up on GIT, but I'm not home right now.

On Feb 19, 2019, at 10:00 AM, TrendMend notifications@github.com wrote:

@garyStofer I was wondering how you reprogram the cricut, do you use the isp port? and do you reprogram it when it is on, when there is nothing connected to it? etc. Thanks

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

MrTev commented 5 years ago

@garyStofer I'm about to try to get this to work on a Cake Mini. Do I need to use the version of FreeExpression on your page or will the Tazzbot's version also work?

garyStofer commented 5 years ago

Hey,

For the Cake machine you need the FreeExpression version from my github page. Arlet’s machine had a different CPU and LCD. Also you will need a different LCD for the CAKE machine then what came with the machine. I used a 4x40 “standard LCD” display with a spi interface. See the Read.me and the file hacknotes.pdf under the src folder. I also added a simple G-code interface so I could cut from simple CNC files as well. Not tested much and the G-code implementation is not complete but it does the simple things I needed it to do. Great machine, I’m using it to cut gaskets and other thick material. Have fun making it go !

Gary

From: MrTev Sent: Friday, March 01, 2019 9:22 PM To: Arlet/Freecut Cc: Gary Stofer ; Mention Subject: Re: [Arlet/Freecut] firmware from scratch (#3)

@garyStofer I'm about to try to get this to work on a Cake Mini. Do I need to use the version of FreeExpression on your page or will the Tazzbot's version also work?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

MrTev commented 5 years ago

Thanks. My machine has the ATMEGA1281 chip. The biggest difference I saw between my circuit board and Tazbot's pictures was a large black relay near the power jack.

On Sat, Mar 2, 2019 at 12:16 AM Gary Stofer notifications@github.com wrote:

Hey,

For the Cake machine you need the FreeExpression version from my github page. Arlet’s machine had a different CPU and LCD. Also you will need a different LCD for the CAKE machine then what came with the machine. I used a 4x40 “standard LCD” display with a spi interface. See the Read.me and the file hacknotes.pdf under the src folder. I also added a simple G-code interface so I could cut from simple CNC files as well. Not tested much and the G-code implementation is not complete but it does the simple things I needed it to do. Great machine, I’m using it to cut gaskets and other thick material. Have fun making it go !

Gary

From: MrTev Sent: Friday, March 01, 2019 9:22 PM To: Arlet/Freecut Cc: Gary Stofer ; Mention Subject: Re: [Arlet/Freecut] firmware from scratch (#3)

@garyStofer I'm about to try to get this to work on a Cake Mini. Do I need to use the version of FreeExpression on your page or will the Tazzbot's version also work?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Arlet/Freecut/issues/3#issuecomment-468890347, or mute the thread https://github.com/notifications/unsubscribe-auth/ATarNGvkLLrNKy5ZR2bHk-Bl2wKvsDtAks5vShc1gaJpZM4BZFPs .

garyStofer commented 5 years ago

If you get stuck I can take my machine apart and take some pictures for comparison. I don’t think I saved any pictures in the GIT.

G

From: MrTev Sent: Saturday, March 02, 2019 12:14 PM To: Arlet/Freecut Cc: Gary Stofer ; Mention Subject: Re: [Arlet/Freecut] firmware from scratch (#3)

Thanks. My machine has the ATMEGA1281 chip. The biggest difference I saw between my circuit board and Tazbot's pictures was a large black relay near the power jack.

On Sat, Mar 2, 2019 at 12:16 AM Gary Stofer notifications@github.com wrote:

Hey,

For the Cake machine you need the FreeExpression version from my github page. Arlet’s machine had a different CPU and LCD. Also you will need a different LCD for the CAKE machine then what came with the machine. I used a 4x40 “standard LCD” display with a spi interface. See the Read.me and the file hacknotes.pdf under the src folder. I also added a simple G-code interface so I could cut from simple CNC files as well. Not tested much and the G-code implementation is not complete but it does the simple things I needed it to do. Great machine, I’m using it to cut gaskets and other thick material. Have fun making it go !

Gary

From: MrTev Sent: Friday, March 01, 2019 9:22 PM To: Arlet/Freecut Cc: Gary Stofer ; Mention Subject: Re: [Arlet/Freecut] firmware from scratch (#3)

@garyStofer I'm about to try to get this to work on a Cake Mini. Do I need to use the version of FreeExpression on your page or will the Tazzbot's version also work?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Arlet/Freecut/issues/3#issuecomment-468890347, or mute the thread https://github.com/notifications/unsubscribe-auth/ATarNGvkLLrNKy5ZR2bHk-Bl2wKvsDtAks5vShc1gaJpZM4BZFPs .

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

thetazzbot commented 5 years ago

Relay is probably just for the power on off.

I was working on merging Gary's changes and the necessary changes for the new compiler. It's been so long. I do need to make the LCD a compile time pragma. I would like to support gcode and at least be able to use sure cuts a lot with it. Inkscapes cutting add-ons are a but cumbersome.

Thanks for your interest and contributions

On Sat, Mar 2, 2019, 2:14 PM MrTev notifications@github.com wrote:

Thanks. My machine has the ATMEGA1281 chip. The biggest difference I saw between my circuit board and Tazbot's pictures was a large black relay near the power jack.

On Sat, Mar 2, 2019 at 12:16 AM Gary Stofer notifications@github.com wrote:

Hey,

For the Cake machine you need the FreeExpression version from my github page. Arlet’s machine had a different CPU and LCD. Also you will need a different LCD for the CAKE machine then what came with the machine. I used a 4x40 “standard LCD” display with a spi interface. See the Read.me and the file hacknotes.pdf under the src folder. I also added a simple G-code interface so I could cut from simple CNC files as well. Not tested much and the G-code implementation is not complete but it does the simple things I needed it to do. Great machine, I’m using it to cut gaskets and other thick material. Have fun making it go !

Gary

From: MrTev Sent: Friday, March 01, 2019 9:22 PM To: Arlet/Freecut Cc: Gary Stofer ; Mention Subject: Re: [Arlet/Freecut] firmware from scratch (#3)

@garyStofer I'm about to try to get this to work on a Cake Mini. Do I need to use the version of FreeExpression on your page or will the Tazzbot's version also work?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Arlet/Freecut/issues/3#issuecomment-468890347, or mute the thread < https://github.com/notifications/unsubscribe-auth/ATarNGvkLLrNKy5ZR2bHk-Bl2wKvsDtAks5vShc1gaJpZM4BZFPs

.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Arlet/Freecut/issues/3#issuecomment-468956191, or mute the thread https://github.com/notifications/unsubscribe-auth/AAJN6HzvkejeNQRGxEzooGVGCQFlq7m_ks5vStu3gaJpZM4BZFPs .

garyStofer commented 5 years ago

If you find a better tool than Inkscape to generate HPGL output let me know.

From: thetazzbot Sent: Saturday, March 02, 2019 2:30 PM To: Arlet/Freecut Cc: Gary Stofer ; Mention Subject: Re: [Arlet/Freecut] firmware from scratch (#3)

Relay is probably just for the power on off.

I was working on merging Gary's changes and the necessary changes for the new compiler. It's been so long. I do need to make the LCD a compile time pragma. I would like to support gcode and at least be able to use sure cuts a lot with it. Inkscapes cutting add-ons are a but cumbersome.

Thanks for your interest and contributions

On Sat, Mar 2, 2019, 2:14 PM MrTev notifications@github.com wrote:

Thanks. My machine has the ATMEGA1281 chip. The biggest difference I saw between my circuit board and Tazbot's pictures was a large black relay near the power jack.

On Sat, Mar 2, 2019 at 12:16 AM Gary Stofer notifications@github.com wrote:

Hey,

For the Cake machine you need the FreeExpression version from my github page. Arlet’s machine had a different CPU and LCD. Also you will need a different LCD for the CAKE machine then what came with the machine. I used a 4x40 “standard LCD” display with a spi interface. See the Read.me and the file hacknotes.pdf under the src folder. I also added a simple G-code interface so I could cut from simple CNC files as well. Not tested much and the G-code implementation is not complete but it does the simple things I needed it to do. Great machine, I’m using it to cut gaskets and other thick material. Have fun making it go !

Gary

From: MrTev Sent: Friday, March 01, 2019 9:22 PM To: Arlet/Freecut Cc: Gary Stofer ; Mention Subject: Re: [Arlet/Freecut] firmware from scratch (#3)

@garyStofer I'm about to try to get this to work on a Cake Mini. Do I need to use the version of FreeExpression on your page or will the Tazzbot's version also work?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Arlet/Freecut/issues/3#issuecomment-468890347, or mute the thread < https://github.com/notifications/unsubscribe-auth/ATarNGvkLLrNKy5ZR2bHk-Bl2wKvsDtAks5vShc1gaJpZM4BZFPs

.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Arlet/Freecut/issues/3#issuecomment-468956191, or mute the thread https://github.com/notifications/unsubscribe-auth/AAJN6HzvkejeNQRGxEzooGVGCQFlq7m_ks5vStu3gaJpZM4BZFPs .

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

adl2494 commented 1 year ago

I know this is years old, but I am having trouble flashing any cricut firmware, and I was wondering if anyone experienced the same issue. So I try to flash the cricut when it is on using my avr pocket programmer and avrdude, but everytime, the microcontroller restarts and avrdude errors out. any ideas?

@TrendMend - I had an issue with my cricut personal I had not seen documented elsewhere, there are 2 resistors and a diode pulling pins high on the icsp port. I had to remove R80, R81, and D1 so the pins could go low and receive the programming from the isp. I know this is old but maybe it will help someone else.