Published On: February, 8, 2019 By: Erik Welsh | Updated: February 9, 2019 by Cathleen Wicks
With the advent of accurate, inexpensive stepper motors and highly capable, low cost control systems, creating or machining your own high-quality prototype parts has become something anyone can do. CNC (Computer Numerical Control) machines that can perform cutting, carving, machining, and milling have ushered in a new age of low-cost prototyping and manufacturing for hobbyists and businesses, both large and small. To support this burgeoning market, compact, easy to use control systems, like those based on the OSD335x System-in-Package (SiP) family of devices, based on the Texas Instruments AM335x SoC, are necessary.
At its core, a CNC machine converts a CAD (Computer Aided Design) file into a series of instructions that control stepper motors. These motors allow the CNC machine to position the head correctly within 3-dimensional space so that the appropriate material can be removed from the component. Software frameworks like LinuxCNC and MachineKit provide the base functionality that allow CNC machines to operate. Beyond the motor control aspects, it is also important for CNC machines to provide connectivity, such as USB, WiFi or Ethernet, and a user interface, like a touch-screen LCD display, just like a traditional ink or laser printer. Through its power, performance and broad peripheral set, the OSD335x family of devices can provide everything needed for your CNC machine.
A PDF of this Application Note can be downloaded here.
The 1GHz ARM® Cortex®-A8 AM335x processor from Texas Instruments integrated in OSD335x combines great performance, power efficiency with a wide range of peripherals suited for CNC machines:
Peripheral | # Available |
UART | 6 |
MMC | 3 |
USB 2.0 HS OTG | 2 |
Ethernet 10/100/1000 | 2 |
The OSD335x also integrates 2 Programmable Real-time-Units (PRUs) for real time motor control and custom applications. These 200Mhz microcontrollers provide real-time, high throughput custom control and feedback data processing.
OSD335x SiP devices have a touch screen capable LCD interface, which can provide user interfaces for monitoring performance and easy control of CNC machines. The Linux capable OSD335x makes building UIs easy with support for graphic frameworks including QT.
Whether it is Bluetooth, WiFi, USB, Ethernet, or some other communication protocol, you need to get your data to your CNC machine. The OSD335x family easily supports them all.
The OSD335x simplifies development for CNC machines. Its integration allows system designers to skip the tedious parts of hardware design and debug. Like a microcontroller, designing a board is simply connecting a few signals which reduces design effort, manufacturing costs, and time to market by 2x.
There are many Linux distributions available for the OSD335x family of devices. The OSD3358-BAS can be found on the popular open source single board computers BeagleBone® Blue and BeagleBone® Black Wireless from BeagleBoard.org®. The BeagleBoard.org® Foundation is a US-based 501 c3 non-profit existing to provide education in and collaboration around the design and use of open-source software and hardware in embedded computing. This community is active with software updates to Debian Linux images in conjunction with Linux kernel development. This allows for up-to-date base Linux distributions that can be used for development. Abundant resources on the Buildroot and Yocto build systems are also available to make building your own Linux distribution smooth. Additionally, images that include MachineKit are also published.
Begin developing today. There are a number of open-source development platforms available. We recommend looking at the BeagleBoard.org® BeagleBone® Blue or the BeagleBoard.org® BeagleBone® Black Wireless, as starting points for CNC machines.
Octavo Systems LLC all rights reserved
OCTAVO is registered in the U.S. Patent and Trademark Office. OSD, C-SiP, and the Octavo Logo are trademarks of Octavo Systems LLC.
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields