Wider Pins, Same Lean Analog
The PIC16F1707 is the 20-pin version of the analog-light 1703: 2,048 words of flash (0x0000-0x07FF), 256 bytes of SRAM, eighteen I/O lines, twelve channels of ten-bit ADC, and – per the family table – zero comparators, zero DAC, zero op-amps and zero zero-cross detect. The COG, one Configurable Logic Cell, two CCP plus PWM modules and the MSSP make up the peripheral set; there is no EUSART. Boards built on it drive power stages through the COG while the ADC handles feedback in software.
Lock And Sweep
CONFIG1 at 0x8007 with the single CP bit; ID at 0x8006; no EEPROM, with the High-Endurance Flash window at 0x0780-0x07FF. Rules:
– 0x0000-0x07FF: array, 0x000 under CP, 0xFFFF when erased. – 0x0780-0x07FF: HEF, inside the sweep. – Above 0x07FF: unmapped, 0x000.
The 2K boundary is shared with the PIC16F1703 and separates the pair from the 4K PIC16F1704 and PIC16F1708 – same packages across tiers, so identification runs through the ID word first.
Image Anatomy
The listing is compact: COG dead-band and polarity configuration from a PWM source, a twelve-channel ADC loop with software trip decisions, MSSP setup for board-level SPI or I2C, and a short main loop – the peripherals do the steady-state work while the core sleeps. The 256-byte SRAM holds control state and averaging accumulators. HEF contents – feedback setpoints, thermal limits – are the region most changed over the product’s life and the most valuable part of a clone.
The Session
A two-kiloword array on an eighteen-pin body is small enough that the whole image is decoded and reviewed in one sitting, and that is how this part is handled: configuration words, then 0x0000-0x07FF, then a manual walk of every branch target. Where the part has been in service for years, the high-endurance tail is sampled twice because that is where the accumulated state sits.
Deliverables
HEX at word addresses, annotated disassembly with COG, ADC and HEF regions labeled, configuration report, checksum tied to the die. Clone policy documented as found and applied.
Same Memory, No Analog Blocks
Where this part appears, it is usually sequencing something: a relay order, a valve delay, a heater interlock. Those designs reduce to a table of states and delays, and the delays are the interesting content – they encode the mechanical time constants of the load, which nobody records in a schematic. The report reproduces the delay table in milliseconds alongside the raw timer counts.
What Its Absence Tells You
Because the analog blocks are missing, the initialisation code is short and the image reads as pure digital logic: timers, serial ports, and a state machine. That makes the 1707 the easiest part in the line to interpret, and it also makes a useful comparison target when a client has both the 1707 and the 1708 in a product family – the common blocks stand out immediately and the differences point at the analog handling.
– Flash: 0x0000-0x07FF (2K words), 0x3FFF erased, 0x0000 protected. – Configuration: 0x8007-0x8008, device ID 0x8006.
Small Array, Real Products
Two thousand words is enough for a fan controller, a battery monitor or a smart relay, and those are exactly the products this part turns up in. Because the array is small the dump fits into a single review pass, and the deliverable can include a fully annotated listing rather than a summary – a level of detail that is impractical on a 64K part but routine here.
Handover Package
HEX at word addresses, a fully annotated disassembly, configuration report, checksum tied to the die. Original protection untouched and the part returned serviceable.
Sending The Part
An eighteen-pin part is trivial to socket, so a loose device is the fastest route. Where the board comes instead, note whether the analog front end is still connected, since that affects the functional check afterwards.
To schedule a 1707 recovery, use the services desk or the contact form with the part marking and the board’s function.