Carvey Controller Upgrade

Hi All. First post here.

My Carvey unfortunately has a fried X Axis driver and despite replacing the driver chip I’ve been unable to get it working.

With the cost of a replacement board at well over AU$1000 plus shipping (ouch). The logical solution (to me) is to replace the board with a generic GRBL CNC controller. This is cheap, accessible and a path well trodden.

There are many capable GRBL based solutions out there, many of which I have used before, so my post is not about what hardware to use, but just simply reaching out for some wiring info before diving in.

If anyone is interested I’ll probably likely use an ESP32 with CNCV3 Shield running ESP32GRBL or FluidNC. I have this exact setup on my Mill One and it works great. Wifi + offline operation are a big bonus not to mention that it’s easy to add a laser.

So, what I’m after is a schematic of the Carvey, or any info that might be of assistance with making the swap.

The generic stuff like axis limits is pretty straightforwards but the machine specific stuff like Spindle / LEDs / Button / Door switch controls etc needs to be figured out, which to do properly may take a complete tear down to access some of the components, which I would like to avoid if possible.

I have already reached out to support but at this stage I am waiting for a reply.

So if you have traced wires, sketched the wiring, figured out how the LEDs are hooked up or even just have photos of a disassembled machine, specifically the electrical connections / wiring, it will likely save me a heap of time.

I think that basic XYZ movement and spindle operation will be simple to get running but integrating the machine specific features needs a bit more care.

I suspect that the Spindle is simply a basic brushed DC spindle and that a generic DC speed controller can be used but some confirmation on actual specs / wiring / etc would help.

Thanks in advance


All wiring terminates at the controller. Isn’t it labeled?

Hi Neil.

Unfortunately my machine wiring is not labelled and there’s no PCB markings that identify the individual terminal / wire designation.

Support did however get back to me with a schematic which does include the pin designations for the molex connectors. It’s a short step from there to create a basic wiring terminal pin-out.

I won’t share the schematic just in case that is not appropriate but I’ll correlate the pin-outs and share it here should anyone else need it.

Other basic info from the schematic:

There’s two power supply stages - one from 48v down to 24v and then another from 24v down to 5v.

Interestingly my PSU unit is only 3.34A which is not actually big enough to cater for two steppers and the spindle all simultaneously at full load (which is a foreseeable scenario). I think this is definitely one area I will address.

It appears that the LEDs are 0-5v PWM controlled and look to be fed from the 24v supply. I’m guessing that there may be some local circuitry for the door and spindle LED clusters. Will definitely need to verify this with some testing.

The cover switch looks to be a simple volt-free switch with the electronics included on the main board to inhibit the spindle and steppers and provide feedback to the ECU.

The button LED appears to be 5v and fed direct from the ECU via PWM (note: signal conditioning is present)

Spindle control is via MosFET similar to most basic DC motor control circuits.

I have most parts but need to order a 24v PSU buck and DC Speed controller.

Will keep you posted.

I guess what I’m saying is that if you have a new controller, you’ll be making your own connections based on THAT schematic. You won’t be able to match the circuitry exactly.
The Carvey uses a custom fork of Grbl and the multi function button on the front is a big part of that custom firmware. The magnetic door interlock is just connected to grbl’s feedhold (door enabled in firmware).

Yes indeed. The request was to understand what each of the Carvey wires do, where they go and how they are connected to the field devices. Integration of the new shield is pretty straightforwards once I know this info.

The magnetic door interlock is actually a bit more complex than being connected to the feed hold input. Electronically it is connected to the spindle controller and each of the axis. Opening the door electronically drops the spindle relay out and holds the X,Y and Z step signal lines low via transistors, which physically kills all movement. This is exactly as it should be - a hardwired safety circuit, not a software based safety circuit. Whilst it is not quite up to required SIL or CAT safety levels for this type of machine, it is heaps better than simply initiating a stop in software which is what 99.9% of hobby CNC’s do.

Inventible’s have been very thoughtful in how they have implemented this and I assume that it was driven by the requirements for using this type of machine in schools and collages. Of course, more complicated control systems means more things to go wrong, but that’s the trade off.

In addition to the hardwired stop, a signal is also sent to the cover_switch input of the uC most likely to halt the program operation as well. (haven’t looked at the gCarvin code)

I’m not sure if I am going to replicate the door control electronics for my build. It’s not necessary for my environment and use case and does over complicate things, however I do want my kids to be able to use this so I will definitely implement a software hold as a minimum. Cutting the 48v via a relay is the simplest option, but this does not bring the machine to a controlled stop, it also makes recovery difficult as the machine will be in an unknown position (due to inertia). All of these issues are addressed with the original design. Will have to ponder this a little more before deciding.

1 Like


OK. So I’ve had a chance to go through the schematic and pick out the board connections. Each of the molex plugs is labelled J followed by a number, i.e. J1, J2 etc.

The wiring is grouped together by function and area. Spindle / gantry / base / etc.

I’ve overmarked a photo of my board with the plug designations which you can cross reference with the attached pdf.

Hopefully these may be of use to someone else as well.

PINOUTS.pdf (32.6 KB)

The following will also help to decipher the individual molex pin locations. The image shows the pins sockets looking at the board from the same view as above.

1 Like

I edited the above post as I noticed that I had omitted the details for J12 which connects to the smart clamp. The schematics also show this signal available on J7-5. THis is not a mistake it appears to be connected to both sockets.

I have some adjustable power supply bucks on order along with a generic 300w DC motor controller. I have seen this style used with the same style of spindle as I’m pretty confident it will work, plus it accepts a PWM input so it can be controlled from the uC. The only issue may be the PWM signal matching as I’m pretty sure it requires a 0-10v signal whereas the ESP32 is a 3.3v device. With my Mill One I used a logic level converter to generate a 0-5v PWM signal but I may need to use a transistor coupled to the 24v line to get the needed 10v.

Here’s the DC controller I ordered.

Here’s the uC I’m using - an ESP32 with a Protoneer style CNC shield

I’m using 8825 stepper drivers as these will happily work at 48v and also provide 2.5amps compared to the 2amp of the Trinamic driver. Technically both the 8825’s and the TMC26’s are 40v devices but they both happily withstand being overdriven.

The processor I’m using is an arducam ESP32. I’ve also used Wemos D1 ESP32’s in the past as well. These are commonly referred to as ESPDuino’s. The Arducam is good in the respect that it includes the SD card. To get either to work requires creating a custom machine file for GRBL_ESP32 / FluidNC

I did previously publish a pin out for GRML_ESP32 - ESPduino + Protoneer CNC Shield | DeeEmm

I’ll create a new one for this setup once I have it working


1 Like

Hey, I’m interested in your progress with this, our motherboard is also nonfunctional and needs a replacement.

At the moment I’m just waiting on the PWM spindle controller but unfortunately it’s taking an age to get here. I do have another spindle controller but I think that it’s not quite powerful enough so I’m holding out for the correctly rated one before getting stuck in.

I did briefly take a look at the layout of the components, obviously they all need to fit within the same enclosure. So I cut out some veroboard that fits inside the case to use as a base. There’s two buck style dc-dc power converters to regulate the 48v supply down to 24 and 5v. (The ECU uses 5v and the LEDs are 24v.) Then there’s the ESP32 ECU along with the CNC shield and lastly the PWM spindle controller. At this stage I don’t think I need a relay as sending 0v to the PWM should stop the spindle but I may need to add one. If you want to electrically isolate the spindle when the machine is in stop mode then you’ll need to add one.

If you do not want spindle speed control you could simply replace the PWM control board with a relay and run the spindle at full speed (48v). I guess this is largely governed by what materials you cut.

My basic plan is to use the veroboard to mount everything on using PCB standoffs, and use the tracks for the 48/24/5v DC supply busses that all of the components can tap into. Most of the enclosure wiring connects direct to the CNC shield so for that I plan to change the existing molex connectors to 2mm pin connectors. The pin connectors might not as robust as the clip in style molex connectors but they can easily handle the current and are working absolutely fine in millions of CNC’s and 3D printers worldwide (are there millions of them?? who knows :smiley: ). Of course you could get fancy and add molex style sockets to the veroboard and then connect the veroboard to the shield but all that’s really doing is doubling the work and doubling the number of potential failure modes. A better option would be a purposed made PCB that everything plugs into but it’s simply not worth the effort.

I’m going to try and repurpose the existing USB socket so that from the outside there is no physical change, I should be able to mount this to the veroboard, hence the reason that the copper side of the board is upwards. I’ll connect the pins to a cut down USB cable which I will simply plug into the ESP-32. Ultimately the machine runs untethered via WiFi so the USB is little used, but it’s handy for updates or those times you might need to connect direct.

@BrookesModesitt hopefully this gives you some idea of the direction I’m heading in with this. I’ll post some more up when there’s some progress to report


This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.