# Acme-PyCNC draft <abstract> This page contains all the project notes related to the project Acme-PyCNC </abstract> Acme-PyCNC is a work-in-progress hardware design. If you like to follow it and give any contribute please subscribe the Telegram group <https://t.me/acmepycnc>. ## What is the Acme-PyCNC ? Acme-PyCNC is an application board designed around the [Raspberry Pi Compute Module 3](https://www.raspberrypi.org/products/compute-module-3/). The main target of this board is to provide a compact and reliable hardware to run the PyCNC software developed by Nikolay Khabarov. In the following video Nikolay explains the basic idea of this software. <iframe width="560" height="315" src="https://www.youtube.com/embed/vcedo59raS4" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> This software uses the DMA capability of Raspberry Pi CPU to generate the realtime signals requested to drive the stepper motors and extruder leaving all the powerful of the 64 bit quad core @ 1.2 GHz of the Broadcom CPU for the user application avoiding the needs to use an Arduino based CPU (usually 8 bit @ 16 MHz) to do that. PyCNC is open source, written in pure Python language and already available here: * <https://github.com/Nikolay-Kha/PyCNC> In this video Nikolay shows a fully working 3D printer using this solution: <iframe width="560" height="315" src="https://www.youtube.com/embed/41wdmmztTNA" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> To implements the hardware of Acme-PyCNC we will start from the Acme Systems board [CM3-Panel](https://www.acmesystems.it/CM3-PANEL) with a motor driver add-in. In this way will be possible to have a 7 inch display with capacitive touch to implemens a GUI interface, The GUI interface is still not developed but we hope that someone will start to develop it when the hardware will be available. ## GPIO map on CM3-Panel <abstract> __To do__: This is the actual signals available on the CM3-panel. We are checking how to adapt this pin out with the actual pinout used by the PyCMC software: </abstract> GPIO 0 - LCD PCLK GPIO 1 - LCD DE GPIO 2 - LCD VSYNC GPIO 3 - LCD HSYNC GPIO 4 - LCD B2 GPIO 5 - LCD B3 GPIO 6 - LCD B4 GPIO 7 - LCD B5 GPIO 8 - LCD B6 GPIO 9 - LCD B7 GPIO 10 - LCD G2 GPIO 11 - LCD G3 GPIO 12 - LCD G4 GPIO 13 - LCD G5 GPIO 14 - LCD G6 GPIO 15 - LCD G7 GPIO 16 - LCD R2 GPIO 17 - LCD R3 GPIO 18 - LCD R4 GPIO 19 - LCD R5 GPIO 20 - LCD R6 GPIO 22 - Backlight GPIO 23 - Camera led GPIO 24 - IO24 e Camera shutdown (portarlo con R0 a shutdown) GPIO 25 - GPIO 26 - GPIO 27 - GPIO 28 - (PCM_CLK) (SDA0) GPIO 29 - (PCM_FS) (SCL0) GPIO 30 - (PCM_DIN) GPIO 31 - (PCM_OUT) GPIO 32 - (TXD0) (TXD1) GPIO 33 - (RXD0) (RXD1) GPIO 34 - GPIO 35 - (SPI0_CE1) GPIO 36 - (SPI0_CE0) (TXD0) GPIO 37 - (SPI0_MISO) (RXD0) GPIO 38 - (SPI0_MOSI) GPIO 39 - (SPI0_SCLK) GPIO 40 - (PWM0) (TXD1) GPIO 41 - (PWM1) (RXD1) GPIO 42 - Touchscreen INT GPIO 43 - Touchscreen RST GPIO 44 - Touchscreen & Camera I2C SDA (SDA0) GPIO 45 - Touchscreen & Camera I2C SCL (SCL0) ### PyCMC scheme <abstract> This is wiring scheme used by PyCNC </abstract> <img src="https://user-images.githubusercontent.com/8740775/28233650-d64060e0-6900-11e7-8605-6475384fd2f7.png" class="img-responsive center-block" width="80%"> ## RAMPS 1.4 schematic <abstract> This is the schematic of RAMPS 1.4 used by PyCNC. This hardware will be fully replaced by a smaller hardware designed by Acme Systems </abstract> <img src="http://reprap.org/mediawiki/images/f/f6/RAMPS1.4schematic.png" class="img-responsive center-block" width="80%"> ## Links * <https://www.dfrobot.com/wiki/index.php/TB6600_Stepper_Motor_Driver_SKU:_DRI0043>
2018 Ⓒ TanzoLab