Roland iModela iM-01

I was given one of these teeny tiny mills, it is adorable, but comes with weird and ancient windows software. (I am on OSX and could use a pi if nec).

Dave Griffiths made a python script for controlling them from a pi using straight gcode, and there is a 2D driver in liblasercut so it seems reasonable that it would be doable to set it up in millmage, and that millmage will be enough like Lightburn that my learning curve is easier..

This may all be very obvious, but I’ve never had much cause to talk to a mill, so not sure if the below are things that millmage would handle, or I’ll need to add custom gcode etc.. Am just going through the create device process atm trying to match up things I’ve found in these drivers to the things I’m finding in millmage.. So either, someone will reply and save me a bunch of effort, or I will stab about randomly to see what happens and then report back..

I suppose the TL;DR: is.. Has anyone set this tiny mouse furniture device up in millmage and finessed the settings?

  • some technical details about the iModela IM-01:
  • max. part dimensions (x,y,z): (86mm, 55mm, 26mm)
  • operating speed x and y axis: 6 to 240 mm/min
  • operating speed z axis: 6 to 180 mm/min
  • software resolution: 0.001mm/step (in NC-code mode), 0.01mm/step (RML-1 mode)
  • mechanical resolution: 0.000186mm/step
  • This driver controls the mill using NC codes.
  • Reference: http://icreate.rolanddg.com/iModela/download/dl/manual/NC_CODE_EN.pdf

Dave noted a few things in his code like

Need to insert M3 code to actually turn the motor on!
(Tiff note: have selected GRBL M3, vaguely assuming it is a common gcode command for turning on motors and that’s what this means..)
Need to convert feeds to floating point (add .0) to get the imodela to read them as mm.
IMPORTANT DISCOVERY: Numbers of the form 0.0 (mm?) are treated differently to decimals only (thousands of inch?) 1000
filtered codes `G04, G64

After clicking around, it appears the Roland uses an ARM based controller, indicating a special driver for the machine. I do not think MillMage supports this controller.

Does your machine have a USB input?
Does it support the GRBL controller language?

Yes, I know it definitely can take straight gcode, Dave’s python script works on this premise. The docs state it uses NC codes and the liblasercut driver mentions 'RML-1 mode’ however this device was set to NC Mode using the windows driver to enable the python script that sends g-code over USB

Untangling the internals of the iModela IM-01 CNC machine so we can have a simple free software driver to run on a raspberry pi. It seems fairly simple as the usb device accepts plain g-code, no data back though, so it’s a lot of guesswork.

It seems all the difficult/important/safety things are taken care of by the imodela firmware, e.g. shutting down when the motor overheats so you don’t need to worry too much about that.

Referring to reference from the manual pdf - this covers all Roland equipment so not all of it is useful, but it seems better than relying on generic g code documentation.

Sending commands via echo "G00 X10.0" > /dev/usb/lp0 with the im-01 set to ‘NC mode’ in windows driver.

Dave noted a few things in his code like

Need to insert M3 code to actually turn the motor on!

(Tiff note: have selected GRBL M3 in the MillMage ‘g-code flavour’ dropdown, vaguely assuming it is a common g-code command for turning on motors and that’s what this relates to)

These are things I don’t know that millmage will handle

Need to convert feeds to floating point (add .0) to get the imodela to read them as mm.

IMPORTANT DISCOVERY: Numbers of the form 0.0 (mm?) are treated differently to decimals only (thousands of inch?) 1000 (tiff note think he means integers here)

filtered codes `G04, G64

I’m sure you’ll be friends in no time… :slight_smile:

I recommend you install Roland’s ‘iModela Controller’ software if you have it:

The software only starts if the machine is connected by USB. And will allow to set your origin and use overrides. If you click on the ‘Cut’ button you should be able to select and start a gcode.nc file that was generated from MillMage.

I have a different model Roand SRM-20 machine and it has a similar control interface but it’s called “VPanel for SRM-20” . It has options for how it will interpret decimal places, yours should be similar:

1 Like

It’s windows only, though, right? I’m linux/OSX only here..

Yes. Sorry I didn’t realize you were looking for a solution that excludes Windows?

You can still run Millmage on the Mac, however I’d still recommend a Windows PC (an old laptop would be perfect) using the Roland supplied software to connect to the machine and send it the job.

There may be other methods, I can only speak for what I know works well with my Roland.

Yeah no, I’d rather not faff about with multiple bits of software, and definitely not a special windows machine for this one tiny device. Kind of ruins the portability aspect for a start! Let alone all the other drawbacks. I’ll use one of the pis to send with the python script if necessary. Might see if bCNC will do the job actually, a friend just sent me that. I was just hoping millmage would do all the magic for me like lightburn does, so I could have everything in one place. Thanks

If it uses USB, download the RC4 MillMage and see what happens with your Mac machine.

Also, try GRBL vs GRBL-M3 too.

Although I may just have a go at talking to it from millmage anyway..

Yeah I think I will. I think I have the latest release let me check.. yup MillMage 0.8.00-RC-4 @ 08d0b7c Qt6.5.7

Ah the M3 doesn’t refer to the manual spindle start-stop M3 M5 commands?

oh I’ve just found all the custom g-code stuff for the device. I think this is totally doable. I will have a stab over the weekend

2 Likes