Acme-PyCNC draft

This page contains all the project notes related to the project Acme-PyCNC

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. 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.

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:

In this video Nikolay shows a fully working 3D printer using this solution:

To implements the hardware of Acme-PyCNC we will start from the Acme Systems board 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

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:

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

This is wiring scheme used by PyCNC

RAMPS 1.4 schematic

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

Links