Author Topic: Leica Coding  (Read 1657 times)


  • Just arrived
  • *
  • Posts: 1
Leica Coding
« on: May 10, 2018, 09:39:57 PM »
This is a long shot...

I want to write code for my Leica camera similar to magic lantern. I have never coded anything except MATLAB for engineering projects. I plan to learn multiple languages over the course of this project. The goal is to increase speed. The Leica S2 is very slow, not just the capture rate, but the entire UI. After each button is pressed, it takes roughly .25-.5 seconds to see a change. Here are my questions:
1. Which language should I learn if the goal is to keep the UI exactly the same, but increase the speed of the overall system? How much of the bottleneck is hardware based?
2. If I wanted to completely change the UI to something like the Hasselblad X1D or the Canon 5dXX, (without touch function of course) where would I start?
3. Most importantly, is it possible to program an "electronic shutter" through firmware alone?

When the X1D came out, it was slow and buggy, and terrible. Through a couple updates they introduced an electronic shutter and fixed the bugs/lagginess.
I can't find any info on the ACTUAL firmware of cameras on the web. Which languages are used the most? If Sony can produce a camera like the A9 with roughly the same hardware as most other cameras, it stands to reason that the advances in speed are mostly software based. My particular model has a CCD. From my reading it seems that the move to CMOS by almost the entire industry was based on the slow readout of CCD. Is it even possible to use an electronic shutter with a CCD? The camera has mirror up mode but it still uses the mechanical shutter which introduces vibrations. Normally it wouldn't matter but I shoot astrophotography and I'd like to get cleaner shots in this regard.


  • Contributor
  • Member
  • *****
  • Posts: 111
Re: Leica Coding
« Reply #1 on: May 14, 2018, 10:19:05 AM »
I would say this is a very, very, long shot... but I do not want to discourage you, so here are my humble two cents:

* You will probably need to understand assembler, because you are not going to have access to the source code for the current firmware, and you will need that to do lots of reverse-engineering.
* You will also need to be able program in C, so you can write your own code.
* But before you can do anything useful with that knowledge, you will need to figure out how to execute your own on code on the camera's processor; Canon cameras have a nice mechanism to boot a program from the card, you should probably try to figure out whether there is something similar for Leica.
* One good starting point are firmware updates, if there is one available for your camera, but you will have to figure out how to interpret the file yourself.
* Only after you have understood the internals of the current firmware you will be able to answer questions 1 and 2.
* As far as I know, electronic shutter requires dedicated hardware.