Jump to content

RFC: CNC BoosterPack

Recommended Posts

I have recently been working on a CNC BoosterPack that I will make available on Github when completed later in the spring.




Current specifications:

Support for my HALified version of GRBL (based on 1.1), currently drivers has been made for MSP432 (black version), Tiva C and MSP430F2955.
NOTE: firmware is built with CCS 6.1, MSP432 driver is 100% CMSIS based.

Opto-coupled inputs, NC switches recommended.

Opto-coupled outputs with 200mA open drain drive for spindle on, spindle direction, flood and mist.
Can drive most relays and solenoids directly.
Output section can be powered from internal 3V3 or 5V source, or from external source.
If powered from external source outputs can be made opto-isolated via jumper setting.

PWM-output for spindle speed currently directly connected to MCU pin (could be changed to open drain).

I2C (IIC) interface with selectable voltage level (3V3 or 5V) via level shifter, dedicated interrupt input.
I2C pinout compatible with my 4x4 keyboard project, supports jogging etc.

Optional EEPROM for configuration settings for MCUs with no internal EEPROM.

Polulu 8825 motor driver breakout board compatible. Fault signal routed to GPIO input.

Considered for later revision:

Break out SPI interface and add full support for Trinamic motor drivers.
Optional (SPI) DAC for motor speed (laser power) control.

This might require a 4-layer PCB and also solving the pinout cabal...


Anything you want changed?


Share this post

Link to post
Share on other sites
6 hours ago, terjeio said:

Anything you want changed?

I put IC's on the board center position without breaking (too much) ground layer with other lines. Better heating dispersion and easier connection / layout with other components.

Share this post

Link to post
Share on other sites

@bluehash Thanks. This is not a commercial project, only a small batch of boards will be made and my plan is to make a few available at cost.

@jazz I am not sure I understand your point, the ICs will be run well below their max power rating and output transistors are placed close to the connectors so that the connector pins acts as heat sinks. The motor drivers will be the only components with significant power draw/dissipation, this may cause a bit of heating above ambient for the pcb tracks going to the motor connectors. Shorter tracks would be better but (IMO) lead to a more messy design. Also, when routing, I was a bit surprised that I ended up with relatively few vias and fairly clean ground planes.

I could have dropped support for the MSP430F2955 launchpad to allow more flexible pin assignments and thus made routing easier. However, since I was able to make a driver for GRBL I wanted to add it. This also means the design follows the BoosterPack design guidelines more closely (but still not 100% compliant).


Share this post

Link to post
Share on other sites

Driver code for a few boards is available from my github account. A PCB design with reduced size allows two boards to be mounted to the EK-TM4C1294XL LaunchPad providing up to 6 axes of control (needs to be verified). I have also added TCP streaming to the EK-TM4C1294XL LaunchPad but usure if I can publish the code due to the "viral" clause in many of TIs files - even the startup code 🙁. Grbl is released under GPL and I have a hard time understanding the legalese related to that...

I am currently working on a DRO/MPG for my lathe with Grbl running on a MSP432, and the DRO/MPG code on a Tiva C/MSP430 combo. Threading support is a part of that work and hopefully I'll be able to get it working reliably - looks promising this far.



Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now