Zim RFID emulator

With Zeepro dissolved, this is no longer as useful, but I was just finishing up an RFID emulator to replace the cartridge system this week and thought I would post it anyway. Perhaps someone will still find it useful. This allows ripping out the lower feed stepper and cartridge holder, and has an option to provide infinite filament so the 200m limit won’t run out on large rolls. This is really only useful for the stock Zim A10 software, because the RFID can more readily be bypassed using Repetier, OctoPrint, or some other printing software.

I have uploaded 3 variants to github here: Zimulator
Nano is a single cartridge emulator - use two to simulate left and right.
Mega is a dual cartridge emulator.
Mega LCD is the same as Mega with an LCD interface for setting cartridge settings.

These run an Arduino Nano (1 RFID), or Arduino Mega (2 RFIDs). It emulates the YET-MF2 RFID mifare protocol, and stores the cartridge settings in EEPROM. You can use the manage cartridge menu as before, or there is an LCD version for use with a SainSmart 16x2 LCD that allows you to manipulate the cartridge settings without navigating to the “cartridge” URL.

I mainly did this because I had a mono extruder Zim I wanted to convert to dual, and the only thing I couldn’t find was the YET-MF2 RFID reader. I also wanted to make the Arduino track more than 200m of filament the stock firmware limits us to. So far this is not yet something implmented though, but hopefully soon. Finally, I hated having to navigate to that cartridge screen every time I changed a roll of filament.

Here’s a couple of pics of the hook-up.
Two Nano’s for left and right…

Or a single Mega for left and right…

Removes the need for these things:

4 Likes

Wow. Thats some great work. Impressive.

But with the cloud slicer gone, better drop Zeepro Software alltogether.

1 Like

Yeah, about time to move off Zeepro stuff. Tonight I spent a few hours with OctoPrint. Seems to work so far, but not getting great prints yet.

I printed about 8 kg of PLA on my ZIM just with OctoPrint and fully disconnected the (left) Zimboard: works absolutely great - I’m only stopped by a clogged extruder nozzle every (about) 100 hours.

Even made custom commands in Octoprint so that you can e.g. swith off and on the LED strips and increase/decrease the flow during printing :stuck_out_tongue_closed_eyes:

Do you have the commands list for all that stuff?

@tookys You can turn the LED strips on and off with the “M1202” (on) and “M1203” (off) commands. The extruder head top blue LED is “M1200” (on) and “M1201” (off).

In OctoPrint you can go to “terminal” and try out the gcode directly with the “send” button. You can suppress the temperature readings in the terminal with the default checkbox to suppress M105 requests btw.

There is a section in the “settings” page for GCODE scripts. These are pretty self-describing. I like having M1202 in the “Before print job starts” to automatically turn on the strip LEDs when a print starts. Look through the following file for additional gcodes Marlin_main.cpp. Ones with parameters have a following character to define the parameter and number, like “M106 S255” to turn the left fan on full (“M107” to turn it off).

Looking through the code, it looks like extruder_multiplier might be the flow rate. It appears this is M221 S for the active extruder, or M1663 R for right and M1663 L for left extruders.

Use M2002 to shutdown the Zim (i.e. run function affectionately named “kill_Zim()” in the code).

2 Likes

Side question somewhat related:

Since most of us are not using the extruder stepper on the bottom of the machine and feeding the filament straight on top…
I wonder if we need to adjust the stepper driver input current since the current needed to drive one motor should be lower.

What do you guys think? or is there a hardwired current regulation on board just to be safe that we don’t blow up the stepper motor… (sorry, kind of a noob here)

My educated guess would be, that as for every motor there is a seperate plug, every motor is controlled seperately and so disconnecting any motor should not change anything and you should not have to adjust current or something else.

I have to say I really like where Zeepro was going with the RFID stuff. If you tag your filament reels you can really idiotproof a lot of your prints because all the details (temperatures, color, type etc.) pertinent to that particular roll can be preset. This strategy made a lot of sense.

To the extent that I’m inclined to roll in something similar into whatever we replace Zeeproshare with.