reflow946 icon indicating copy to clipboard operation
reflow946 copied to clipboard

HW 1.1 wrong segment display referenced in BOM and schematics

Open Quas7 opened this issue 1 year ago • 3 comments

Hi,

first of all to the devs: thanks for sharing the design!

I am currently debugging my build and besides reading temperature 0°C (SPI issue?) I think the segment display is wrongly referenced as a FJ4301BH image

but it should be an FJ4301F or similar to make use of Q2-Q4 common anode configuration: image

My FJ4301BH is currently just overlaying the digits but can show clean "0 0 0" ;)

Quas7 avatar Nov 13 '23 23:11 Quas7

After exchanging the segment display with a LTD040BUE-101A and I still did not get proper characters displayed.

I checked the correct pinout of GPIO_OUTPUT_SEGMENTS and it seemed not to be a hardware issue. So, at that point I was close to replacing the segment LED with an OLED display. ;)

As I understand the code, the segments get scanned (updated) every few milliseconds based on a GPTimer. But looking at my Oszi on the cathode pins I see most of the time a PWM signal with 1:2 or 2:1 millisec high:low and a few constant low and high levels - that looked odd and somewhat timer related.

By shifting GPTimer functions and timer-ISR into IRAM via the sdkconfig this issue is now fixed.

Adding to sdkconfig.defaults these lines should do the trick:

CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM=y
CONFIG_GPTIMER_ISR_IRAM_SAFE=y

Quas7 avatar Nov 16 '23 01:11 Quas7

Hi @Quas7, thank you very much for the tip.

I will update the sdkconfig.defaults accordingly. Do you confirm that the correct reference is FJ4301F? There are tons of segment displays with similar size/pinout with different references.

I am also looking to update the design to an ESP32-C3/C6 and use a dedicated segment controller. It will slightly increase the BOM but the ESP32-C3 flash has a wider temperature tolerance (unless you take the high temperature version which is not alway available). I noticed some issues/reboots with the 85°C version when you try to heat something with a large mass such as a cheese fondue.

DurandA avatar Apr 10 '24 19:04 DurandA

Hi @DurandA,

yeah, I noticed the possible confusion with the swarm of segment displays during my search as well. Was close to just using an OLED with I2C but it would likely not have survived that long with the temperature exposure. ;)

Maybe just adding a little fan into the housing onto the venting slots is also a solution to the temperature problem instead of temperature hardening the microcontroller? Of course, most elegant with a mosfet output to just switch it on when needed. Might also extend the lifetime of the other components.

I think, the FJ4301F should work exactly as the LTD040BUE-101A does that I used as drop-in replacement. Maybe you can take both into the BOM and mark the LTD as an alternative?

LTD040BUE-101A (confirmed as working, see datasheet) image

FJ4301F (see datasheet) image

Quas7 avatar Apr 10 '24 19:04 Quas7

Fixed in bcea8101d5b6173054b414c2065849a1132cd23a for BOM.

DurandA avatar May 04 '24 23:05 DurandA

Fixed in 11e58e171e20f5fd29d601baf653828abd1b1b3d to force GPTimer function to run in IRAM. Surprisingly, I did not encounter this issue. Maybe the default was changed after ESP-IDF 5.1.

Thank you very much @Quas7 for raising this.

DurandA avatar May 05 '24 00:05 DurandA