I took a hiatus from my darkroom experiments and went down a rabbit hole designing - and having CNC machined - a carrier plate to mount the LCD in anodized black aluminum. It just arrived today, and I’m excited to get back to experimenting. Looks pretty neat!View attachment 411154View attachment 411155View attachment 411156
I took a hiatus from my darkroom experiments and went down a rabbit hole designing - and having CNC machined - a carrier plate to mount the LCD in anodized black aluminum. It just arrived today, and I’m excited to get back to experimenting. Looks pretty neat!View attachment 411154View attachment 411155View attachment 411156
Just to add a few details: the cutout (the recessed area where the display sits) has generous tolerance. This was my first time having something CNC-machined, so I intentionally made it a few millimeters larger than strictly necessary.
The plate also includes mounting holes for a Raspberry Pi 5, which is what I’m currently using.
If it’s helpful, I can send over the STEP files and the technical drawing I provided to the manufacturer. I didn’t model the plate manually - I generated it in Python using the CadQuery library - so I can quickly produce bespoke STEP files if you’d like any changes. Of course, if you’re comfortable with CAD tools, feel free to edit it to your heart’s conten, this is all still pretty new to me, so I’m just sharing how I approached it.
I ended up building a ultra precise rasberry pi5 solution so that I can control latching of time modulated 1bit frames with microsecond precision (from the O/S perspective, the display is running at 20hz, so you are bound by 50ms frame times). I build a bespoke UI that I control projected on the baseboard in the darkroom, using a Nintento switch bluetooth controllerHad a lot of fun building this thing. Last step is to figure out how to generate some good LUTs.
View attachment 414188View attachment 414189
View attachment 414187
I ended up building a ultra precise rasberry pi5 solution so that I can control latching of time modulated 1bit frames with microsecond precision (from the O/S perspective, the display is running at 20hz, so you are bound by 50ms frame times). I build a bespoke UI that I control projected on the baseboard in the darkroom, using a Nintento switch bluetooth controllerHad a lot of fun building this thing. Last step is to figure out how to generate some good LUTs.
View attachment 414188View attachment 414189
View attachment 414187
Shared the mount files by email
Regarding the controller: I just programmed the UI to match the layout of the gamepad, so there’s nothing to set up - you simply press the corresponding button. It makes things much smoother for me in the darkroom.
As for sharing the software, that one has a lot of moving parts, so it’s not something I’m planning to release. That said, I’m happy to provide pointers if you’re looking to build your ownIt also looks like quite a few people in this thread have built their own solutions, and I don’t think there’s really a one-size-fits-all approach here.
The biggest takeaway for me was that 1-bit time modulation is a must (at least with my display). Without it, I was getting visible artifacts in areas with smooth tonality.
I use Rust for the software - most of the logic is written in Rust, some of it is wrappers around the more low level Linux DRM/KMS/GBM/EGL. My approach was to build this as an appliance and take direct control of the GPU to have very precise control of latching of frames (due to the time modulation trick). My observation is with 1bit mode every frame counts when rendering the highlights (as they build up very fast).
My initial experiments was Python, then I wrote a C version, and finally a Rust version.
That's very cool. I'm not quite getting how the additional coating could *increase* the UV transmissivity, I was assuming that the UV not transmitted was absorbed by the LCD material, and why would an additional coating change that? I'm probably missing something.
Also, I'm not quite understanding the benefit of having multiple grey levels. Can't you just simulate it exactly by updating the projected image as the exposure progresses, turning of pixels. You'd need just to update the image 8 times during the exposure to simulate 256 grey levels.
I think they use a different material than the standard intrinsic polarisers in a normal LCD screen - and this different material results in lowered absorption of UV. So, ultimately, your instincts are correct.
My hope is that the 256 levels of grey that the screen can display (block) will be sufficient to give me a workable greyscale without having to resort to the complexities of updating the screen within a single exposure.
I am mostly interested in gum and gum adjacent print processes (SBQ, PMF) - and these have a tiny dynamic range that is extended by application of multiple layers.
I note that the 16K screen only has a 10Hz refresh rate.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?