Note: This is copied from a 2018 EEVBlog post by Luiz Renault for posterity. https://www.eevblog.com/forum/manufacture/neoden-tm245p-teardown-and-upgrade/ # post Hi. Tired of the painful process to setup the Neoden TM245P Pick and Place, I decided to make a mod to OpenPNP to export a CSV file compatible with the Neoden machine. This way I can reuse component database and check if required components are present or need to be installed on free feeders. But that isn't enough. I really want to install a vision system and make it compatible with OpenPNP to control the machine. Today I opened the bottom plate and collected some information to check if the upgrade is possible using the original electronics. Here I share my findings... The guts of the TM245P consists of: a motherboard (model TY164) with TFT LCD and resistive touch a power supply and control board (model TY131) two microstep driver two vacuum pumps one air blower a transformer ![overview](./images/picture716-1.jpg "overview") The motherboard have a STM32F407ZGT6 and a RA8875L3N TFT LCD Controller. The SD card slot can be seen on the left side of the board. At the center there is a 26 pin IDC connector that goes to the power supply and control board. On the top a 3 pin SWD connector and on the right side a 2 pin connector that powers the vibration feeder can be seen. The board uses as power supply 24V that comes from the power supply and control board. There is a 5V step down regulator (LM2576S-5.0) that supplies the uC through a 3.3V Linear reg. The 5V rail are sent back to the power supply and control board. ![overview](./images/picture716-4.jpg "overview") This is the microstep driver: ![overview](./images/picture1-1.jpg "overview") The power supply and control board have 4 diode bridge rectifiers (GBU808 on bottom layer) with +100V, +30V, +12V and -12V labels. There are four step down regulators (LM2576T-ADJ): +30V->+24V, +30V->+24V, +12V->+9V e -12V->-9V And the following connectors: P1 -> Transformer (label 220V) P2 -> air blower (connected to AC input) P3 -> Transformer (label 110V) P4 -> AC input and on/off switch P5 -> Transformer taps labeled 70V, 23V, 11V, 11V P6 -> To motherboard P7 -> Power Supply to step controller X axis (connected to 100V labeled line) P8 -> Power Supply to step controller Y axis (connected to 100V labeled line) P9 -> X axis step controller signals (EN, DIR, STEP) P10 -> Y axis step controller signals (EN, DIR, STEP) P11 -> To DB9 connector at the back of the equipment (CAN-H CAN-L JTMS e JTCK P12 -> Endstop Y axis switch P13 -> Pick and place head P14 -> Vacuum Pump A P15 -> Vacuum Pump B P16 -> Endstop / origin Y axis switch P17 -> Feeder block 1 P18 -> Feeder block 2 The feeders and the head are controlled through a CAN bus connection. The same bus goes to the back DB9 connector. ![overview](./images/picture716-2.jpg "overview") ![overview](./images/picture393-1.jpg "overview") This is the 26 pin connector pinout from the motherboard: ![overview](./images/picture476-1.jpg "overview") I tried to read the firmware but the uC have Level 1 Read Protection. The next step is to log the CAN communication while sending simple commands using the equipment GUI. Then I will check if the X and Y axis can be controlled through CAN messages. Does anybody have the CAN message specification? Anybody tried to mod this machine? Best Regards, Luiz Renault ------------------------------------------- Hi today I placed a scope on the CAN_H and CAN_L signals on the DB9 back connector. But they are too noisy to be useful and I had open the Pick and Place head and monitor on the inner (uC) side of the CAN transceiver (SN65HVD230). I assumed a bit rate 512 kbit/s because the smallest pulse length. But the oscilloscope wasn't able to decode it. The problem is that the CAN bit stuffing is not present. Does anyone have any clue? ------------------------------------------- Although it uses a CAN transceiver, I could see on the Placement Head board that the CAN_TX and CAN_RX signals were connected to the USART signals of the STM32F103C8 (PA9 and PA10). Then I was able to decode de USART 512kbit/s signal. It uses a binary format. ![overview](./images/picture618-1.jpg "overview")