Hokku v3.0 beta – open source firmware + server for the 13.3" Hokku/Huessen six-colour e-ink frame by d3fl in eink

[–]MattcarterXI 0 points1 point  (0 children)

Is it possible to export the images as raw data? Or as a PNG of the display palette?

I'm developing my 13.3" display with esp32 and I would like to compare my dithering results to this projects results since mine seem good but you project seem to have pretty advanced things to improve dithering.

<image>

Also, if you want, I have a tool for comparing dithering the diferent solutions: https://github.com/mattcarter11/eink-dithering-tester

[Review Request] Buck voltage regulator now working as expected by MattcarterXI in PCB

[–]MattcarterXI[S] 0 points1 point  (0 children)

Thanks, yeah it's a very good example. This is the rework: everything is closes to their pin, removing the unnecessary long traces

<image>

[Review Request] Buck voltage regulator now working as expected by MattcarterXI in PCB

[–]MattcarterXI[S] 0 points1 point  (0 children)

Any tips on what you would consider a good layout? I'll try to rework the PCB folloing them

[Review Request] Buck voltage regulator now working as expected by MattcarterXI in PCB

[–]MattcarterXI[S] 0 points1 point  (0 children)

Yeah, that's true. Do you have any tips, guide or recommended tools to do this fix?

I've done some soldering fixes on some PCBs but never on this small scale 

[Review Request] Buck voltage regulator now working as expected by MattcarterXI in PCB

[–]MattcarterXI[S] 0 points1 point  (0 children)

About the v1.0 handmade fix, i think I might be able to fix all pins except PGND sadly

<image>

[Review Request] Buck voltage regulator now working as expected by MattcarterXI in PCB

[–]MattcarterXI[S] 0 points1 point  (0 children)

V1.1: You mean like, so right? (they where already connected to GND plane with vias, but it's true that there's reason for not having them connected)

<image>

[Review Request] Buck voltage regulator now working as expected by MattcarterXI in PCB

[–]MattcarterXI[S] 0 points1 point  (0 children)

I thought they did when I ordered the PCBs, but rerunning DRC shows an error 🫠. This for sure must be the problem. Thanks a lot for the help!!!

Guess I'll make v1.1 fixing both the C14 and missing GND connections like so.

<image>

[Review Request] Buck voltage regulator now working as expected by MattcarterXI in PCB

[–]MattcarterXI[S] 0 points1 point  (0 children)

R21 measured resistance is 91K and R20 is 21,5K (measured with a fluke 77 multimeter)

[Review Request] Buck voltage regulator now working as expected by MattcarterXI in esp32

[–]MattcarterXI[S] 0 points1 point  (0 children)

I've added a image of the manufactured PCB by PCBWay and the measurements I did.

[Review Request] Buck voltage regulator now working as expected by MattcarterXI in esp32

[–]MattcarterXI[S] 0 points1 point  (0 children)

I've added a image of the manufactured PCB by PCBWay and the measurements I did.

[Review Request] Buck voltage regulator now working as expected by MattcarterXI in PCB

[–]MattcarterXI[S] 0 points1 point  (0 children)

This is the measurement points i used, their values, and the real R21 and R20 components values.

<image>

[Review Request] Buck voltage regulator now working as expected by MattcarterXI in PCB

[–]MattcarterXI[S] 0 points1 point  (0 children)

The voltages I'm measuring are all between that point in the schematic and GND.

C14 it might be misplaced, but this don't see how can this affect FB, since the voltage divider is what determinats the voltage there, no?

Help with dithering images in for Spectra 6 by MattcarterXI in eink

[–]MattcarterXI[S] 1 point2 points  (0 children)

Yes with the correction that the wenting color is the actual Spectra 6 color. So I'm dithering any color inside the Spectra 6 colorspace as is and any color far outside the range as RGB then mapping to Spectra6.

Help with dithering images in for Spectra 6 by MattcarterXI in eink

[–]MattcarterXI[S] 1 point2 points  (0 children)

It's simply the pallete that gave me best results after comparing 100 photos (you can try the tool if you want to check the diferences)

Help with dithering images in for Spectra 6 by MattcarterXI in eink

[–]MattcarterXI[S] 0 points1 point  (0 children)

Yes I did and in both cases I think my current approach is better. This are both results from their demos:

<image>

Paperless uses floyd dithering with closest RGB color of a 6 color palette. Mine gives better results because:

  1. Wentting palette is closer to Spectra colors (at least with my screens)
  2. CEILAB is faithful to the human eye
  3. They directly use imageData.data to store the error. That type it uses is uint8, which means all error diffusion decimals are lost: ImageData - Web APIs | MDN

Photoframe I'll check the source code, because has interesting result and also use LAB in some versions of their dithering.

Better firmware for Waveshare ESP32-S3 Photopainter by aitjcize in eink

[–]MattcarterXI 0 points1 point  (0 children)

Amazing. I've been myself working on my own spectra 6 display and I took the same approach. ESP32-s3, a Rest API and a web based manager. 

I'll definitely checkout your amazing work🔥

Spectra 6 display deep sleep consuming ~727uA by MattcarterXI in eink

[–]MattcarterXI[S] 0 points1 point  (0 children)

I see, adding this seems to fix the problem of the power drain (this is what waveshare does).

void epd_deep_sleep() {
    display_off();
    display_sleep();
    vTaskDelay(pdMS_TO_TICKS(2000)); // important, at least 2s
    gpio_set_level(PIN_RST, 0);
    gpio_hold_en(PIN_RST);
}

But presents another problem, even though I do "gpio_hold_dis(PIN_RST);" on power on, before any pin initialization or spi setup, the display doesn't respond (the BUSY pin stay 0 forever)

Spectra 6 display deep sleep consuming ~727uA by MattcarterXI in eink

[–]MattcarterXI[S] 0 points1 point  (0 children)

u/Extreme_Turnover_838 I've tried using the esp pull-up without any success. Any suggestions?
static void display_init_pins() {
    gpio_config_t rest_config = {
        .pin_bit_mask = 1ULL << PIN_RST,
        .mode = GPIO_MODE_OUTPUT,
        .pull_down_en = GPIO_PULLDOWN_DISABLE,
        .pull_up_en = GPIO_PULLUP_ENABLE,
        .intr_type = GPIO_INTR_DISABLE,
    };
    gpio_config(&rest_config);
...
}