The D in R5F35L33DFF is not decoration. These parts belong to the M16C/5LD group, which is the low-voltage branch of the same silicon family: 2.7 to 5.5 V instead of 3.0 to 5.5 V, 16-bit timers reduced from nine channels to eight, and a temperature window of -40 to 85°C. Everything about the flash – the 96 KB array, the 16 KB program ROM 2, the two 4 KB data flash blocks – is unchanged. The difference shows up when a replacement is programmed and the board is run at the bottom of its supply range.
Suffix Decoding, Because It Costs Money To Get Wrong
R5F35L33DFF#U0 reads as: group 5LD, pin digit 3 = 64 pins, capacity digit 3 = 96 KB, property code D, package FF = LQFP64. The #U0 tail is an ordering and packing code, not a silicon variant. Three separate customers have sent boards described as “the 5L part” that were in fact 5LD, and in each case the tell was the supply rail on the schematic, not the marking.
What Changes At 2.7 V
A lower minimum supply means the analog front end and the oscillator start-up were characterised differently. For a read, nothing changes: the same array, the same addresses, the same protection mechanisms. For a rebuild, two details matter. The OFS1 low-voltage detect setting is likely to be more aggressive, and the on-chip oscillator may be the clock source rather than the external crystal, which changes the timing constants throughout the application.
Array And Memory
| Region | Range | Size |
|---|---|---|
| Program ROM 1 | E8000h to FFFFFh | 96 KB |
| Program ROM 2 | 10000h to 13FFFh | 16 KB |
| Data flash | 0E000h to 0FFFFh | 8 KB, two blocks |
| RAM | 00400h to 023FFh | 8 KB |
The 64-pin body brings out sixteen analog channels on the 10-bit converter and four serial channels. The 80-pin sibling with the same capacity exposes twenty-seven and five.
Reading And Reporting
Four duplicated passes, then a merge at true addresses including the option window. ROM code protect and the ID code check are configuration, not damage; the array is never erased, and the unit returns with the same bytes it arrived with. The configuration page lists the ID code, OFS1 and OFS2, and states which data flash block was in use at the moment of the read.
Where 2.7 V Shows Up In The Code
A lower supply floor changes more than the datasheet. Designs built around it tend to run the core at a lower clock for part of the time, use the on-chip oscillator rather than a crystal, and set the low-voltage detect closer to the operating rail. Each of those leaves a trace in the image: a clock control register write early in start-up, a calibration constant for the internal oscillator, an OFS1 value that differs from the 3.0 V sibling.
Reading those three traces is how a rebuild avoids the classic failure of a 5LD board that works on the bench supply and resets on the real one.
Reading A Part That Is Still In Production
Unlike most of this family, the 5LD devices are still orderable in some markets. That changes the job: a customer may be recovering firmware for a product that is still being built, and the replacement part may be a new-die device with a different errata set.
The extraction is the same. The advice afterwards is not. When the part is available, it is worth buying a sample and confirming that the recovered image runs on current stock before committing to a batch, because a silicon revision change can surface timing assumptions that the old die tolerated.
When To Choose This Part’s Page
If the board runs from a 3.3 V rail with a tolerance that never dips below 2.9 V, the J-grade 5L part is the right reference and this page is not. If the rail can sag to 2.8 V under load, the D-grade documentation matters, and the low-voltage detect values in OFS1 become the first thing to check after a rebuild misbehaves at cold start.
Send the board with the supply rail written on the bag. The services page has the packing list; the contact form is faster for a technical question. The J-grade 96 KB part is R5F35L33JFF; the 80-pin 5LD part is R5F35L23DFE.