It is a huge simplification, because you don't have to build Linux, MacOS and Windows versions. It is also cost efficient, because the cost of supporting downloadable desktop software over time is enormous (speaking from experience).
There are no limitations. Modern ARM-based Linux boards are no different from a PC from just a few years ago.
@Adrian Bacon it works in your case because your usb3 devices are engineered to be made backwards compatible with older usb2 hosts. This backwards compatibility is however not a given in building a new device; it's compatibility that needs to be added specifically along with native usb3 support. Please have a look at the differences in hardware connectivity and protocols. Usb3 adds complexity for the engineer of in this case the scanner while not constituting any added value in return for it.
Usb2 support is relatively easy; use any of the e.g. stm32 platforms with USB support and you're pretty much set. Usb3, not so much; count on having to add peripheral hardware for your uC of choice, be restricted to the few uC's that have native usb3 support (I guess those exist ...?) or be forced to not get away with a uC and use the sledgehammer approach of integrating an actual computer into the device as Steven Lee suggested. Which is massive overkill for again very little benefit (at least in terms of the USB connectivity).
Don't be fooled by your user-perspective experience which is NOT representative of the engineer's perspective!
Pretty much every USB3 capable chip designed to go into a device
Hand-offs
Based on talks with mechanical engineers involved with scanning film, and my own experience, I know that hand-offs can be a problem with this type of design. A hand-off occurs when the film enters or leaves a roller.
Assume that you have a design like the one I posted a picture of above: A large rubber-lined roller with three small rollers on top. Let's call the small rollers L (left), M (middle), and R (right). Film moves left to right, so it will be fed using roller L, and scanned using roller M. There are two hand-off problems with this design:
I envision two possible solutions to these anomalies caused by hand-offs between rollers:
- Part way through the frame, the film will touch roller R. This disturbance can create an anomaly (artifact) in the scan.
- Further in the frame, the film will come out from roller L, a second hand-off, creating a second anomaly.
Mark
- Use only one roller, eliminating hand-offs. This solution works well for an entire roll, but might make scanning the edges of a strip difficult. Strips are often cut poorly, cutting a bit into the image area, making the user want to scan to the edge.
- Put a rubber belt around all three rollers, similar to the tread-belt on a tractor. This solution also eliminates hand-offs, but the mechanics are a little more complex.
I think only labs wants to scan a whole roll, people usually scan frame by frame looking for maximum quality all least is my case. What i search in a scanner really exists , for example the now difunt hasselblad scanners or the heidelberg topaz drum scanners.
No it doesn't. I actually have a fair amount of experience doing embedded stuff. Pretty much every USB3 capable chip designed to go into a device (i.e. not be a USB host in a computer) does all the negotiation for you and provides a standardized hardware interface that the rest of your device talks to. Most of the time, the rest of the device has no idea what version of USB is being used unless it's paying attention to how fast the data is coming in. This is how it has worked going from USB 1.0 to 1.1 to 2.0, to the plethora of 3.0/3.1/3.2 to the soon to be common 4.x variants of USB. You might have added complexity just due to the fact that you now have to be able to actually handle data at gigabit+ speeds, but the actual device interface is really not much more than talking to a USB chip using whatever fixed internal bus specification it uses. On the PC side it's literally a PCI express lane on one side of the chip and a USB port on the other. On the device side, it's a USB port on one side and one of several common embedded hardware interfaces on the other. Over the course of my career, I've written a fair amount of embedded code that talks to many kinds of devices over those hardware interfaces, and believe it or not USB anything is just one kind of all kinds of stuff that uses those embedded interfaces.
Here is a great example of what I'm talking about: https://www.ftdichip.com/old2020/Products/ICs/FT600.html. A single chip that provides USB3 and USB2 to either a 16 or 32 bit wide FIFO interface. It doesn't matter if you're connecting to a USB3 or USB2 host, your device talks to it the same way. This is just one of many that can be had.
Sure.
However, compare two use cases:
1: USB2 support. Just a single STM32 connected to the outside world through its own USB2 interface. Only a few passive external components required.
2: USB3 peripheral like the FT600, adding cost (it costs about as much as the 32-bit uC you'd use in this project) and complexity.
The added complexity and cost offers no real benefit due to the backwards compatibility of USB hosts, which is likely to continue into the foreseeable future.
In a project that doesn't require the speed of USB3 and that's complex enough in terms of the mechanics and optics involved, why bother!?
Demands & requirements are being flung around as if it's child's play, but this is one guy trying to get the job done on his own. I'd rather see this thing appear on the market with USB2 than remain in the planning stage perpetually with a USB3 interface and a variety of other 'nice-to-have' functionality that end up stalling the project.
View attachment 358161
Some parts have arrived so starting on the assembly. The rest will take a week or two for the 3D prints and LED PCBs.
Remember this is just a proof of concept prototype at the moment and does not reflect how I intend the final product to look like.
So there are only two USB 3 interface options, the FT60x and the FX3 from Infineon. I have a lot of experience with the FT601 and it's a big pain to implement a controller core on in an FPGA, the timing constraints are hell and not one of the open source cores work - trust me I took the time. The FX3 is a much better designed chip but they are over $20 making it expensive for no reason, again. USB 3 can be implemented in FPGAs like the Ultrascales but that would be ludicrous overkill and such a waste of money. I will be using an FPGA costing a few $.
I will not use USB 3 unless it's needed to achieve the scan times I'd like.
Even then it's a risk as the scanner will have to constantly pause when being used with USB 2. I'm not sure what effect this will have on the scan quality.
How you implement it is up to you. I don’t recall having much issue with timing with the FTDI chips, but the hardware we where pairing it to was pretty beefy.
at any rate, a monochrome 16 bit stream of data at 4000 dpi over the length of a ~5 foot roll of film is nearly 2GB. To move that across the bus in 5 minutes, you’re looking at sustaining ~50Mbps. If you want to do full color, that’d be ~150Mbps. To cut that time in half to 2.5 minutes, you’re now looking at ~300Mbps, getting pretty close to the upper limit of USB2, and that just for the raw bytes off a sensor and doesn’t take into account bus protocol overhead or anything else that will cut into that. This is why I’d personally be cautious about doing this over USB 2.
@gswdh, I might have missed it, but are you using area or line sensor?
In all honesty by your numbers (match with mine) it seems USB 2 is plenty. I’m not trying to be annoying but it just seems the way.
The FT232H is capable of 40MBs continuous throughput where the error correction and packet loss is already taken care of. The transmission packet will be very simple consisting of a header of fixed length, pixel format identifier, number of payload bytes to follow then the payload. This will result in very little overhead.
Since speed of scanning is the primary driver, USB2 could be made to work, but will ultimately limit either how quickly you can scan high resolution, or limit the amount of resolution you can scan quickly. It's fine for a prototype, and I know you're targeting 3000DPI, but in all reality, that's not really much more than many scanning solutions offer today, and you're potentially limiting how many people would be willing to buy it. An Epson V850Pro can easily do 2400 dpi (I have one and have tested it) and a whole platen scan (which is a pretty good chunk of a roll of film) doesn't take that long. I'd have to go back and remeasure the time it takes, but if memory serves, at 2400-3200 dpi, it's not particularly slow. From a purely performance perspective, you'd not really be delivering much of a jump for something that costs the same or more. Granted, there'd be other pluses like having a more streamlined workflow from being able to just scan the whole uncut roll in one go, and potentially a better software experience, but at the end of the day, I don't see people willing to spend that kind of cash unless it can really outclass what's already available, and fast scanning at high resolution is the name of that game, which goes back to having enough bandwidth to the host computer with plenty of breathing room.
I wonder though if all such establishments have long moved to custom-built, fast, scanning solutions (eg DSLR setup) and whether they'd be easily convinced that this scanner will offer important advantages.
For my first prototype, I have two rollers, one either side of the scanning area. They are mechanically linked with a belt to the stepper motor. I'm not sure if this setup will work but it was the simplest one. I have an idea for a single large wheel that draws the film around an arc with the scanning area in the middle.
Anyway, an interesting challenge will be to select wavelengths of LEDs that don't produce cross-over or other color problems in scans.
The star of this show is @gswdh and his scanner. I don't think it's appropriate to be discussing alternative designs when we should be encouraging him instead. We all have an ideal scanner idea but ideas are cheap. It's quite rare when someone actually builds something with their hands. Linus Torvalds famously used to interrupt perfect-idea mailing list discussions with his trademark "show me the code!" argument. Kudos to @gswdh for "showing the code".
I am curious about this too, but that's because I do not have a deep understanding of the color science involved. For example, print film datasheets publish spectral sensitivity curves that make sense to me. But RA-4 paper datasheets contain spectral sensitivity curves as well as spectral dye density curves, and they are not the same: the the cyan and yellow peaks are off by about 300-500nm. My incomplete understanding of this suggests that a scanner should not be picking up light frequencies that RA-4 paper has poor sensitivity to.
link. Edit: here it is: https://barbaraflueckiger.files.wor...ilmmaterialscannerinteraction_2018_v_1-1b.pdf I also link to it from my blog on this topic (selecting wavelengths for digital scanning) https://tinker.koraks.nl/photograph...ht-sources-for-dslr-scanning-color-negatives/ Although that focuses to a large extent also on dSLR scanning
Hi all,
I mentioned in another thread I'm working on the development of a new film scanner. I started this project almost 8 years ago but put it on hold as I wasn't shooting much film at that time. Back then I developed the electronics and more recently the PC software. I've now ordered all the parts for the prototype mechanical design - let's see if it all works in the New Year!
My motivations for this scanner come from the frankly poor set of options on the market. All the scanners seem to have one or more of the following traits:
- Terrible software
- Are legacy hardware only working with legacy PCs
- Poor scan quality
- Poor user experience
- Extremely long and tedious scan times
I think this can all be fixed quite easily. I plan to make a sort of copy of the Pakon F 135 scanner, at least the style of it any way where it's capable of scanning a whole roll of film.
The electronics I have got working can scan a whole roll of film in just over a minute at 2000dpi, 14bit in black and white only. If I look to sell this, It would be upgraded to colour and at least 2700dpi.
So, some key criteria for my scanner are:
- Can scan a whole roll of film in one go without human intervention (loading strips of film)
- Scanning time less than 10 minutes
- 3000dpi ideally
- Really good software that doesn't crash or require some exotic HW configuration
- Simple USB 2.0, drivers come with the SW
- Good optical quality up to 3000dpi
- 10 bit digitisation or better
- Scans the 135 film format
My philosophy for this project is in offering a product that is reliable and customers can have faith in using for the next 20 years - which is entirely possible. The software will be fully open source and the communication protocol fully documented and public to allow for 3rd party software. The software is already publicly available on github (see below) and is current written in Python, it will be rewritten in C++ for the official release - binary size will be in the region of 10s of MB. Community contributions to the software will be actively encouraged.
Github repo for the PC software.
Github repo for the electronics.
I think it'd be possible to achieve a retail price of around €1-1.5k but I'm a long way off that yet.
I would love to hear everyone's opinion / feedback / suggestions!
But please, do not just tell me why it won't work unless you have some real justification.
View attachment 357721
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?