Announcement

Collapse
No announcement yet.

Announcement

Collapse
No announcement yet.

Let's make a closely MXT like detector!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Altra
    replied
    I am on the road until the beginning of June. So I can't check which pic processor I have. I'll pm you when I can get the number. It will be interesting to see what AI can do to generate a C listing from the assembly. Thanks

    Leave a comment:


  • KRinAZ
    replied
    Originally posted by Altra View Post
    Great work KR. Have you tried cloning and testing a new pic in the mxt? In my cnc controller it is a F series. Do you think it is readable also?
    Thanks. MPLab also generated a .HEX file but it didn't appear to be a binary file, but I only glanced at it, so I still need to verify it is a ready to burn file. If so I'll burn one and see if it operates in my MXT. The PIC16C76's that I have on hand are SOIC-28's but my old version C MXT board takes a 28 pin DIP, so I'll also need to see if my SOIC to DIP adapter will fit into the MXT...

    ...and I think the F series would be easier to read than the C series chip...can you tell me specifically which PIC18Fxxx it has?

    Leave a comment:


  • Altra
    replied
    Great work KR. Have you tried cloning and testing a new pic in the mxt? In my cnc controller it is a F series. Do you think it is readable also?

    Leave a comment:


  • KRinAZ
    replied
    Well here it is - attached - the disassembled file of the PIC16C76 from my MXT - for your viewing pleasure. Has a column of the ascii of the binary, and a column of the PIC16Cxx assembly code - complete from memory location 0x0000 thru 0x1FFF - hoping someone can prep this with some regex magic and then turn the assembly into C.

    Also, if the column with ascii representation of the binary was turned back into a binary 8k x 14 bit hex file it could be burned back to a PIC (I also have the configuration bits needed at burn time) - as Altra may find interesting for his CNC...off topic though...
    Attached Files

    Leave a comment:


  • KRinAZ
    replied
    Originally posted by Altra View Post
    Hi KRinAZ, can you tell us what your "fun tools" are? I have an old cnc machine controller that uses a pic18f. The company that made the controller has been out of business for at least 15 years. I would like to build a back up controller if I can dump the hex. Thanks
    First a note - again - this project going forward will use a STM32 micro, the below is just for those who want to try to access the code burned into a PIC....

    The tools that I was able to use to produce (disassembled from program memory) assembly code from a 16C family PIC (e.g. the code from the PIC16C76 in my MXT) are:
    One of
    PICStart Plus - beige p/n 10-00157 Revision 10 thru 19 (I have r10, had to burn another PIC17C44, then install it, to do a firmware upgrade) running v3.11.00 firmware (called Picstart Plus OS 3.11.00, included with MPLab IDE v5.7.4)
    PICStart Plus - beige p/n 10-00157 Revision 20 thru 22 (better, can download firmware directly to update it)(should work? but I haven't tested)
    PICStart Plus - black p/n 10-00379 any Revision (best, can also download firmware directly to update it)(should work? but I haven't tested)
    no other programmer, or debugger, to my knowledge, will work

    MPLab IDE v5.7.4 - (still accessible at Microchip site) which is ancient and requires true Win95 or Win95 emulation (Win98 is too new and doesn't work) via Win10x32 with NTDVM - but includes tools that are removed from later versions of the MPLab IDE (like outputting usable disassembled assembly code).
    ​no other newer MPLab, to my knowledge, will work.

    I have not yet found a way to copy out the binary code directly into a .hex file, but I believe the assembly code can produce a binary file if needed via MPLab...
    Last edited by KRinAZ; 05-06-2026, 05:46 PM.

    Leave a comment:


  • KRinAZ
    replied
    Originally posted by Carl-NC View Post
    Why would you want to use a C-series micro? They are OTP and non-debuggable. If you want to stick with PIC use a more modern chip with plenty of flash and MPLabX support.
    Agreed 100%
    This bit of the conversation - with any talk about a PIC or MPLab - is purely about the effort to get the code from the PIC16C76 from my MXT. Believe me, I am sold on using a modern micro for this project, and over in post #113 I cover my choice of STM32's for this project, and why I chose the ones I did. If I do ever mess around with PIC micros it would be with F (flash based) ones, but I don't see myself messing with PICs - other than trying to read code from them when the need arises - e.g. Altra's desire to get the code from the PIC in his CNC machine...but that is off topic for this thread...

    The talk about the debugging capabilities of the PIC16Cxx only relates to an easier vs harder route to getting the code from the PIC (if possible) for potential use of code bits in this project.

    Thanks for making this point - this project is STM32 based for sure, 100%, no worries, I already have a NUCLEO-F303K8 to use for the early breadboarding and prototyping for this project. The schematic and control board won't use a NUCLEO though, but a (currently) STM32F303K8T6 LQFP32 chip.

    Leave a comment:


  • Carl-NC
    replied
    Even then, use an F-series chip that is reprogrammable and debuggable.

    Leave a comment:


  • Altra
    replied
    I believe He is attempting to extract the hex from some old pic16c chips

    Leave a comment:


  • Carl-NC
    replied
    Why would you want to use a C-series micro? They are OTP and non-debuggable. If you want to stick with PIC use a more modern chip with plenty of flash and MPLabX support.

    Leave a comment:


  • KRinAZ
    replied
    Well the better news is that since I upgraded the firmware in my PICStert Plus I can now run the latest (and last, before MPLab X IDE) version of MPLab IDE - v8.9.2

    The less than better news is that the PIC16C76 appears to not have any debugging capability designed into it's silicon, and therefore is not supported by any of Microchip's debuggers as seen in the attached screenshot. Just the same I'll take a shot at my PIC and see what I can do...

    Click image for larger version  Name:	IMG_2586.jpg Views:	0 Size:	493.0 KB ID:	448025

    Leave a comment:


  • KRinAZ
    replied
    Originally posted by Hristo View Post
    Dont bother you already have it "The PICSTART Plus"... ... ...working development device.
    ...
    When learned microelectronics PIC16C76... ... ...Now RIP.
    Hmmm...

    Leave a comment:


  • Hristo
    replied
    Dont bother you already have it "The PICSTART Plus" is a legacy Microchip development programmer designed for programming old PICmicro microcontroller devices. Its Just not have an in circuit debbuger capabilities like MICD2 has with special daughter board and 6pin piggy cable. The daughter board is inserted into the chip socket on the MXT PCB motherboard, and on the daughter board itself there is a socket for the PIC Microchip MCU controller and 6pin cable connector RJ-11 type to MICD2. Then MPLAB IDE can debug software with hardware stop points for program and in real time debug&edit firmware of the working development device.

    When learned microelectronics PIC16C76 is a with Eprom type memory inside, but don't have quartz window for deleting with UV-C light lamp for 20-30 min. So there is not posibble to hack it PIC16C76 with software, after the fuse CP write read protected bits are set. And is one simple brute force solution, but you will need - a microelectronic microscope with more than 2000-5000 optical zoom this will need to use to locate place where these fuse cell are on die crystal in chip first then with a laser emiter UV light or focused UV light Lamp in to thiny beam to locate and charge capacitors of Eprom type memory and with that disable CP protection bits. Rest is to simply read hex-code from chip with any programmer you have will be suitable. Of course you first need to dessolve plastic epoxy resign case to get access to chip die. And there are specialized china's who ask only 1000$ for all that work Original PIC16C76 with code and three blank samples of PIC16C76 required to do all that up described briefly just order, send and pay - and within a week or month you recieve one PIC16C76 with hex program on him coded but not code protected bit set and is up to you to read and share hex code or debug if you like and dissanssemble to source and rewrite algorithm of auto ground balance and other program secrets MXT have like good discrimination for example. Or Just Ask Carl to Explain how is done by memory recall and write new source then to broke enchanted loop ot authors Right's s.h.i.t.y need to go open source by Creative Common like license of this first will get benefit china copier who search for DIY free project on this forum and get you new program source and build "MXT" in serial mass production to flood the market world-wide with a fraction of price of original dead White's who to same end fight with a wind mill's like Cervantes characters and don't give nothing for free or reduce high prices so they re goone Now RIP.
    Last edited by Hristo; 05-02-2026, 05:08 AM.

    Leave a comment:


  • KRinAZ
    replied
    Originally posted by Hristo View Post
    You Will Need MPLAB InCircuit Debuger 2 who has exclusive option to download and debug firmware a developer mode programmer:
    It only 2 has a unique feature to download firmware from PIC and dissansembler in IDE MPLAB

    Overview created by AI(google):
    Yes, MPLAB X IDE, when used with Microchip programmers (like PICkit 3/4/5 or ICD 3/4/5), provides functionality to read/download firmware from a PIC MCU and disassemble that code, which is a key feature for debugging and firmware recovery.
    https://stackoverflow.com/questions/...pilers-for-pic
    AI responses may contain errors. Learn more AI responses may contain errors. Learn more
    Ok many thanks for that.

    The ICD2 requires MPLAB IDE v6 or higher, I'm running v5.7.4, I'll have to see if the firmware in my PICStart Plus programmer will work with MPLab v6 or higher (hope so). If so I'll look into getting an ICD2. I see there are some ICD2's on eBay...

    I'll make another Win10x32 To Go drive and install MPLab IDE v6 and see what support looks like. One problem may be PIC16C76 support - I already saw an ICD2 overview doc stating the ICD2 does not support the PIC16F76 (and therefore PIC16C76 also?), but maybe it was an early version doc?...Best way to know is to install the newer IDE to get the readme's and check the support...I'll do that this weekend...

    Leave a comment:


  • Hristo
    replied
    You Will Need MPLAB InCircuit Debuger 2 who has exclusive option to download and debug firmware a developer mode programmer:
    https://www.microchip.com/en-us/deve...-tool/dv164005
    Click image for larger version  Name:	MICD2.jpg Views:	0 Size:	26.0 KB ID:	447981
    It only 2 has a unique feature to download firmware from PIC and dissansembler in IDE MPLAB

    Overview created by AI(google):
    Yes, MPLAB X IDE, when used with Microchip programmers (like PICkit 3/4/5 or ICD 3/4/5), provides functionality to read/download firmware from a PIC MCU and disassemble that code, which is a key feature for debugging and firmware recovery.
    https://stackoverflow.com/questions/...pilers-for-pic
    AI responses may contain errors. Learn more AI responses may contain errors. Learn more

    Leave a comment:


  • KRinAZ
    replied
    An update -

    1) On the PIC Programmer - I have finally got the ancient PICStart Plus PIC programmer, and it's MPLab IDE, working, and have used it to burn (and then read) a PIC17C44 in order to do a firmware update of the PICStart Plus programmer itself. If anyone else decides to get one of these working this will save you hours of time - it (MPLab IDE v5.7.4, no newer version, no MPLab X IDE) requires either actual Win95 or a true Win95 emulation in Win10-x32 (but not x64) via NTVDM, directly on a PC with at least one of each - a real Com port (as Com1, 2, 3, or 4) and a real LPT port (as LPT1). The Win install cannot be in a VM (I tried VirtualBox) - as MPLab must have direct hardware access - no virtualization will work. Win98 is too new!!!, a true Win95 install, or true Win95 emulation must be achieved for the MPLab IDE to operate. Since I have largely avoided using Win for the last 25 years I had to really dig into old memories of using Win95 to get things working correctly...if you decide to try to get one of these old PIC IDE and programing platforms working - feel free to ask me Q's - especially which hardware version of PICStart Plus you would want...
    .
    The K150 PIC programmer was much easier to get working but doesn't have nearly the features the old MPLab does...

    Turns out my MXT is an older version - has control board p/n 505-0224-C with an actual socketed PDIP PIC16C76 with marking 1.0 in pen (v1.0 of firmware) - I am under the impression 1.0 marking is MXT firmware and 1.1 marking is GMT firmware, both plugged into the same control board part number. In other words a GMT also has a control board of the same p/n but a different firmware. I believe Carl at some point also as made this point - relying on memory. Observing the schematic - the PIC firmware determines the TX frequency - I find it curious how the same board tunes either the 14khz MXT coil or the GMT 48khz coil...especially doing it so well...

    I will apply my MPLab environment to my MXT PIC soon...


    2) On the STM32 selection - the criteria I came up with:
    a) Only LQFP packages - to make hand soldering realistic, preferrably LQFP32
    b) There is a Nucleo board with the selected processor - so that breadboarding can be done on sections of the MXT instead of having to build the whole control board first, and then chunks of the firmware developed.
    c) Select the highest end version of each of these
    With these criteria there are two choices:
    STM32F303K8T6 as LQFP32 - and it's NUCLEO-F303K8 dev board - in the NUCLEO-32 family.
    STM32H503RBT6 as LQFP64 - and it's NUCLEO-H503RB dev board - in the NUCLEO-64 family.

    Since the STM32F303K8T6 / LQFP32 will be much easier to hand solder I'm trying this first. My NUCLEO-F303K8 arrived today, and I rummaged around and found I have a LCD 4x80 I2C display, and a color touch screen I2C TFT display, so will begin with these (the LCD 4x80 first) as I breadboard bits of the circuit.

    Processor comparison:
    Click image for larger version  Name:	image.png Views:	0 Size:	29.2 KB ID:	447970

    Current active component list:

    MXT Active Components List v1b
    U1 LP2951-50 SOIC8 100ma 5v LDO Voltage Regulator
    U2 TLE2426 SOIC8 Voltage Reference
    U3 LQFP-32 STM32F303K8T6 Microprocessor
    U4 74HCT4053 SOIC16 MUX
    U5 ADS8320 VSSOP8 ADC
    U6 74HC4351 SOIC20 MUX
    U7 TLV9362 SOIC8 Dual Op Amp
    U8 LTC1446 SOIC8 DAC
    U9 TLC555 SOIC8 Timer
    U10 TLV1842 TSSOP8 Dual Comparator
    U11 TLV9362 SOIC8 Dual Op Amp
    U12 TLV9362 SOIC8 Dual Op Amp
    U13 TLV9362 SOIC8 Dual Op Amp
    U14 TLV9362 SOIC8 Dual Op Amp
    U15 LP2951-33 SOIC8 100ma 3.3v LDO Voltage Regulator - added - to power STM32
    Q1 MMBT3906 SMT PNP BJT
    Q2 MMBT3906 SMT PNP BJT
    Q3 MMBT3906 SMT PNP BJT
    Q4 MMBT3906 SMT PNP BJT
    Q5 MMBT3904 SMT NPN BJT
    Q6 MMBT3906 SMT PNP BJT
    Q7 MMBT3904 SMT NPN BJT
    D1 IN4148
    D2 IN4148
    D3 IN4148
    D4 N/A
    D5 IN4148
    D6 N/A
    D7 IN4148
    TH1 10K NTC Thermistor
    X1 WAS 8mhz
    X1 NOW 16mhz? 24mhz? 32mhz?
    Attached Files

    Leave a comment:

Working...
X