

Siemens Sinumerik840C Maschinensteuertafel Adaptor
Siemens Sinumerik840C Maschinensteuertafel Adaptor for LinuxCNC
- Size
- 235 × 119.4 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 104
- Nets
- 238
- Pads
- 687
- Tracks, vias
- 1,567, 192
- Pours
- 8
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 2 Sep 2024
- Updated
- 22 Mar 2025
Overview
Siemens Sinumerik840C Maschinensteuertafel Adaptor is an open-source printed circuit board by PedPEx, from the PedPEx/Siemens-LinuxCNC-Interface repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 235 × 119.4 mm with 104 parts on 238 nets, routed with 1,567 tracks and 192 vias.
It is built around the STM32L151CCT6, LD1117S33CTR-HXY and SSW-132-24-L-D, with the TS-1187A-B-A-B and KH-TYPE-C-16P among its other parts. Its parts include 27 capacitors, 27 resistors, 11 ICs, 6 connectors and 4 diodes. It belongs with the STM32 boards of this library.
Main components
5STM32L151CCT6
LQFP-48(7x7)-40℃~+85℃ 1.8V~3.6V 12bit 12bit 256KB 32 Bit 32KB 32MHz 37 8KB ARM Cortex-M3 Built-in FLASH LQFP-48(7x7) Microcontrollers (MCU/MPU/SOC) ROHSSTMicroelectronicsMicrocontrollers (MCU/MPU/SOC)LD1117S33CTR-HXY
SOT-223-20℃~+85℃ 1.3V@(800mA) 15V 2mA 3.3V 800mA Fixed Over Temperature Protection SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSHXY MOSFETVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsSSW-132-24-L-D
插件,P=2.54mmFemale HeadersSamtecTS-1187A-B-A-B
SMD-4P,5.1x5.1mm-30℃~+85℃ 1.5mm 1.6N 100,000 cycles 12V 5.1mm 5.1mm 50mA Gold No Round Button SPST Surface Mount,Vertical Without Bracket SMD-4P,5.1x5.1mm Tactile Switches ROHSXKB ConnectionTactile SwitchesKH-TYPE-C-16P
SMD-40℃~+85℃ 1 10,000 cycles 16P 30V 3A 7.81mm Female Surface Mount, Right Angle Type-C SMD USB Connectors ROHSkinghelmUSB Connectors
README
README.mdSiemens Sinumerik840C control panel Interface (WIP! - UNTESTED!)
This interface board is designed to be placed on the backside of an old type Siemens Sinumerik840C machine control panel in order to be used as user input in LinuxCNC. I reverse engineered a control panel of type M (CNC-Mill - 6FC5103-0AD03-0AA0) for this project. All the IOs of these control panels are accessible through the two 64pin pinheaders. You can get these machine control panels pretty cheap on ebay.
Interface:

Sinumerik840C Machine Control Panel:

ToDo
- ✅ finished prototype PCB (v0.9.5)
- 🔲 finished prototype PCB (v0.9.6)
- ✅ firmware for STM32L151CC (technically 100% - needs cleanup and timeout detection on LinuxCNC side)
- 🔲 tested intensively with LinuxCNC
- 🔲 example config for LinuxCNC
Powering
The board needs no seperate supply voltage and is fully powered by the USB Interface. A power distribution switch deactivates the whole interface in case of an overcurrent (set to 1.0 A).
USB port
Plug in a USB-C cable and use the provided strain relief with the help of a 5mm cable tie. With this USB connection a virtual serial port is used to send the data to the host. More information in the software details.
Terminal blocks and general IO
Most of the IO on the three terminal blocks is directly wired into the microcontroller. They can be used for analog inputs or for further expansion in general.
As terminal blocks Weidmüller 1824460000 - LSF-SMT 3.50/06/90 3.5SN BK TU were used - because i had them at hand. But any headers or screw terminals with a 3.5 mm pitch can be used here.
Usage/Software
This interface board is meant to be used in combination with the software LinuxCNC_ArduinoConnector. It does not operate with an Arduino, but with a much more capable STM32L151C8. The STM32 just emulates a serial port and sends the same signals to the LinuxCNC component like the Arduino would. The L1 series of STM32 was chosen because of its bootloader
Limitations
Do not use this board for any time critical porpuses!
Online Preview / BOM
Detailed schematics preview (KiCanvas)
LinuxCNC config (TODO)
When finished, an example config for LinuxCNC can be found in the correspondig folder.
An example of a whole machine fitted with this Interface can be found in my other project Maho400E-LinuxCNC
Note
The pictures were rendered with the help of Blender and the pcb2blender plugin and the HTML BOM was created with InteractiveHtmlBom.
Parts
104| Qty | Value | Footprint | References |
|---|---|---|---|
| 13 | 100n | Capacitor_SMD:C_0603_1608Metric | C10, C11, C13, C14, C15, C19, C20, C21, C22, C24, C25, C26, C27 |
| 12 | 4x680R | project_library:RES-ARRAY-SMD_0603-8P-L3.2-W1.6-BL | RN1, RN2, RN3, RN4, RN5, RN6, RN7, RN8, RN9, RN10, RN11, RN12 |
| 10 | 10k | Resistor_SMD:R_0603_1608Metric | R9, R11, R14, R15, R16, R17, R18, R19, R20, R21 |
| 8 | PCA9555PW,118 | project_library:TSSOP-24_L7.8-W4.4-P0.65-LS6.4-BL | U4, U5, U6, U7, U8, U9, U10, U11 |
| 5 | 1k5 | Resistor_SMD:R_0603_1608Metric | R8, R12, R13, R22, R23 |
| 4 | 0 | Resistor_SMD:R_0603_1608Metric | R24, R25, R26, R27 |
| 3 | 0.1u | Capacitor_SMD:C_0603_1608Metric | C4, C5, C7 |
| 3 | 4u7 | Capacitor_SMD:C_0603_1608Metric | C9, C18, C23 |
| 3 | LED | LED_SMD:LED_0603_1608Metric | D2, D3, D4 |
| 3 | MountingHole_Pad_MP | project_library:MountingHole_3.2mm_M3_DIN965_Pad | H1, H2, H3 |
| 2 | 100k | Resistor_SMD:R_2512_6332Metric | R1, R2 |
| 2 | 10u | Capacitor_SMD:C_0603_1608Metric | C3, C8 |
| 2 | 1u | Capacitor_SMD:C_0603_1608Metric | C2, C12 |
| 2 | 470 | Resistor_SMD:R_0603_1608Metric | R7, R10 |
| 2 | 5k1 | Resistor_SMD:R_0603_1608Metric | R3, R4 |
| 2 | 8p | Capacitor_SMD:C_0603_1608Metric | C16, C17 |
| 2 | SSW-132-24-L-D | project_library:SAMTEC_SSW-132-24-L-D | J111, J121 |
| 2 | TS-1187A-B-A-B | project_library:SW-SMD_4P-L5.1-W5.1-P3.70-LS6.5-TL-2 | SW1, SW2 |
| 1 | 0.1u | Capacitor_SMD:C_2220_5750Metric | C1 |
| 1 | 100R@100MHz | easyeda2kicad:L0603 | FB1 |
| 1 | 100u | Capacitor_SMD:CP_Elec_5x5.8 | C6 |
| 1 | 16MHz | project_library:CRYSTAL-SMD_4P-L3.2-W2.5-BL_SIT8008BI | X1 |
| 1 | 25k | Resistor_SMD:R_0603_1608Metric | R6 |
| 1 | 27nH | Inductor_SMD:L_0603_1608Metric | L1 |
| 1 | 680 | Resistor_SMD:R_0603_1608Metric | R5 |
| 1 | AP22652AW6-7 | project_library:SOT-23-6_L2.9-W1.6-P0.95-LS2.8-BL | U2 |
| 1 | Buttons | project_library:1824460000 - LSF-SMT 3.500690 3.5SN BK TU | J3 |
| 1 | GND | TestPoint:TestPoint_Pad_D1.0mm | TP1 |
| 1 | JTCK-SWCLK | TestPoint:TestPoint_Pad_D1.0mm | TP4 |
| 1 | JTDI | TestPoint:TestPoint_Pad_D1.0mm | TP2 |
| 1 | JTDO-TraceSWO | TestPoint:TestPoint_Pad_D1.0mm | TP5 |
| 1 | JTMS-SWDIO | TestPoint:TestPoint_Pad_D1.0mm | TP3 |
| 1 | KH-TYPE-C-16P | project_library:USB-C-SMD_KH-TYPE-C-16P | USB1 |
| 1 | LD1117S33CTR | project_library:SOT-223-4_L6.5-W3.5-P2.30-LS7.0-BR | U3 |
| 1 | LOGO | project_library:QR_CODE | G*** |
| 1 | LOGO | project_library:LOGO | G*** |
| 1 | Power | project_library:1824460000 - LSF-SMT 3.500690 3.5SN BK TU | J2 |
| 1 | ProgHeader | project_library:HDR-SMD_6P-P2.54-V-M-LS4.8_R2 | J1 |
| 1 | RESET | TestPoint:TestPoint_Pad_D1.0mm | TP6 |
| 1 | Reserve2 | project_library:1824460000 - LSF-SMT 3.500690 3.5SN BK TU | J4 |
| 1 | STM32L151CCT6 | project_library:LQFP-48_L7.0-W7.0-P0.50-LS9.0-BL | U1 |
| 1 | TPD4E05U06DQAR_C138714 | project_library:USON-10_L2.5-W1.0-P0.50-BL | D1 |
Questions
How big is the Siemens Sinumerik840C Maschinensteuertafel Adaptor PCB?
It measures 235 × 119.4 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Siemens Sinumerik840C Maschinensteuertafel Adaptor use?
104 parts, built around the STM32L151CCT6, LD1117S33CTR-HXY, SSW-132-24-L-D and TS-1187A-B-A-B. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Siemens Sinumerik840C Maschinensteuertafel Adaptor KiCad files?
From the PedPEx/Siemens-LinuxCNC-Interface repository on GitHub, at the commit this page was made from: the board is 1_hardware/Siemens-Sinumerik840C-Maschinensteuertafel-Adaptor.kicad_pcb and its schematic 1_hardware/Extender-IO.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Siemens Sinumerik840C Maschinensteuertafel Adaptor design in my own project?
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 2 layers43.2 × 45.7 mm

- 2 layers90 × 90 mm

PocketPSU elec main
jarrod89/pocketPSU
Input1: - Output1 can be used to supply pocketPSU via a battery - Optional battery charging capability (addon board with BMS)
97 parts2 - 4 layers49 × 40 mm

Blackmagic
aeremin/firefly_zephyr
Firmware (Zephyr RTOS / nRF Connect SDK, with Pigweed libraries), custom boards and KiCad hardware projects for a few small nRF52-based devices.
63 parts - 4 layers94.5 × 39.7 mm

STM32L4Q5CGT AudioSpectrumAnalyzer
OscarBazylewich/STM32_Audio_Spectrum_Analyzer_CustomPCB
This repository contains a 4-layer KiCad board for the STM32 Audio Spectrum Analyzer. The board has an STM32L4Q5CGT6 MCU and an I2S MEMS microphone (ICS-43434).
39 partsGPL-3.0 - 4 layers91.8 × 92 mm

- 2 layers80 × 50 mm

- 4 layers76.1 × 70.7 mm

Usb sp dev
Ismael034/usbsp
Have you ever tried to plug a USB device into a computer that has USB restrictions enabled? It's frustrating, isn't it? You can't use your USB devices, and you have no way to bypass the restrictions.
79 parts2MIT - 2 layers70 × 70 mm
