"I can't seem to get rid of the blur" Looks at the machine wobbling wildly while in use. Yeah, I'm sure not being stationary has nothing to do with having motion blur
Actually already a thing. Cameras using "Pixel shift". The sensor shifts a little by 0.5 pixel in different directions, taking a couple pictures, and combining them to make a resolution at least 4x the original resolution.
@@jeanrenaudsagswing they are quite expensive though and very high precision is needed, what about a scanner camera with a linear CCD like one used in flat bed scanners, people have done that before and have achieved really high resolution images with them! also they are used in finish line photos without a moving sensor which might be cool for taking pictures of trains
@@Scar32You can get Panasonic/Pentax/Olympus cameras with pixel shift for around 500-600 bucks when buying used. But admittedly, the Sony's, Fujifilms and Canons with sensor shift are very expensive.
I think there are potentially more interesting things to do with a sensor, other than something akin to pixel shifting. If you use a small camera module incl. a lens, you can (in principle) construct a _light field camera._ Or if instead of the small lens you use a slit and a diffraction grating, you can get an _imaging spectrograph / hyperspectral camera._
Make it a high resolution thermal camera instead of visible light. It would be much more valuable this way. You could probably beat some $1000 setups at least as far as resolution.
@@shadesoftime no. Actually most thermal cameras have been pretty crippled until recently in terms of frame rate because of ITAR. You dont need a super fast thermal camera to look for hot spots in an electrical panel or leaks under the shingles of a roof.
One of the reasons for the blurriness of your photos may be the wide angle nature of the photodetector, I.E. the plastic 'lens' causes light from multiple angles to be fed to the sensor, instead of only light coming straight in. A way to counteract this issue is to tighten the viewing angle of the sensor, which can be done with a piece of heat-shrink tubing or just black tape, that way, only light coming straight into the sensor will be recorded, not light coming from the side. You may need to play with the length of the light-blocker, as too long may cut off light from the extremities of the camera lens when on the edges of sensor area.
It might also be possible to use something like a deconvolution filter in software to account for the spread of light and attempt to calculate what the single pixel should have been receiving.
A pinhole in front of the sensor would work fine. This will significantly reduce your signal though. To compensate, you will need a better analog front end for the phototransistor. If your SNR is too low, increase the integration time. Depending on the type of noise, you can add a motor with an optical chopper to modulate the incoming light, then demodulate in your software. Any electrical interference will be filtered out (depending on the frequency)
@@Jimmymcjimthejim *"Depending on the type of noise, you can add a motor with an optical chopper to modulate the incoming light, then demodulate in your software. Any electrical interference will be filtered out (depending on the frequency)"* Did you come up with this idea yourself?
@@Jimmymcjimthejim The problem with increasing the integration time, and anything that slows down capture rate really, is that the camera ALREADY takes an enormous amount of time to capture an image. The goal of any further modification should be to reduce noise while maintaining, or lowering, the integration time. A simple tube, like a black straw or heat-shrink tubing, will reduce the amount of errant light entering the sensor without reducing the amount of 'correct' light entering it, nor will it increase integration time.
Great project. To vastly reduce the shaking, take all red pixel samples, the rotate to green, take all green pixel samples, then rotate to blue, take blue samples. That way you are only rotating the color wheel twice.
I watched the whole video thinking it was a big channel, the quality is verrry nice . Few suggestions: Use shielded cable for stepper motors, try to sample (analog -> digital) near the sensor itself so the cables dont pick up emi , seems are the motors get hot due to it holding position/torque. Disable it . Really cool project , cant wait for a refined 4k version
Agreed. If your gain and digitization happens right next to the sensor, there are fewer long wires (antennas) to pick up that interference. You could also do a four later PCB, with the outer layers as Ground and ton of vias between them to make a cage and route sensitive signals on the internal layers. Or you can use shielding cans that solder onto your PCB. Or, use an amplifier with a differential output (close to the sensor) and then carry the signal over a twisted pair, and convert the differential signal back to single ended before digitization. Or, use coax to carry the signal. Other ideas: using reflectors instead of slots (or magnets and hall-effect sensors) would make your color wheel mechanically simpler. If the color wheel was between the lens and sensor, it could be smaller (and cause fewer vibrations) and less susceptible to ambient reflections. Belt drives would let you put motors further away from sensitive parts. Designing for mechanical stability (hard to do when the design is still being iterated) would help with vibration, as would a heavier tripod. Very cool stuff! Keep up the good work!
I think you could solve a lot of this recalibration issue with pulleys and belts driving the X and Y rather than a rack and pinion. Pulley mechanisms have less backlash and are better at holding position.
Nice, nice. Very nice. Let's go, small youtubers! Your camera system almost exactly matches the CBS color television system. In that system, the camera used an Iconoscope or Orthicon tube, which is effectively a single-pixel scanner except it moves the scanning dot in a raster pattern on the tube's light-sensitive target. The output signal was amplified and made into a video signal. In front of the camera was a very similar color wheel, and the camera scanned the picture 144 times a second, with the six-pane (rgbrgb) color wheel spinning at 24 times per second, synchronized with the camera's scanning circuits. The receiver used an identical color wheel matched up so it would display correct color. This system used about 3 times more bandwidth than standard B/W TV at the time, so RCA's compatible color system, NTSC, was chosen instead by the FCC. Normal TVs would display a rolling chopped up picture because they had a scan rate of 60 time a second, too slow to cope with the 144hz, and same problem with line rate. You'd get garbage on a normal TV when trying to receive a CBS color program.
on that topic i am quite curious what a photo would look like rather then s single pixel scanning access the image with lenses you could have the sensor wide angle and scan a laser though the scene, i wonder what the photos of something like that would look like
@@Scar32 That's called a flying spot scanner. They were also used in early television. During active video, the scanner scanned the scene, using several sets of RGB photomultipliers around the room. During vertical blanking interval, there were big flash bulbs which turned on to provide light for the actors to see, and then they shut off when the bulbs turned off as to not interfere with the camera. en.wikipedia.org/wiki/Flying-spot_scanner
"relying on the changing colours of this LED to find bugs in my code" I felt that one personally, I have done similarly stupid things like making an LED blink to say "WE GOT THIS FAR"
Your Phtotransistor has 3 legs. That may enable you to use it as a Photodiode (using the collector as cathode and base as anode if I recall correctly, emitter remains unconnected). A Photodiode can be used with a transimpedance amplifier to obtain a very linear and fast Photodetector circuit with a low impedance output voltage proportional to light input. The circuit only consists of the Photodiode, an opamp and a (sensitivity setting) resistor. As an Opamp a LM358 should work ok for a start. One nice thing about the Transimpedance amplifier is that it virtually shorts the current source (the Photodiode in this case). As long as the wires to the Photodiode are short Interference is very small
Look into compressive sensing, it's exactly for this kind of stuff, it allows you to create a much higher resolution image with a lot fewer random samples.
I like this a lot because in a weird way the simplification to a single pixel makes it easier for someone who lacks the technical knowledge to understand the project. It's also such a cool niche that could definitely lead to some kind of spicy innovations. and it's just useful in general because of play. Play is SO important even if it leads to nothing.
Instead of moving the sensor, use a moving mirror like in laser barcode scanners. Combine that with a linear high resolution CCD from a flatbed scanner, and then you're talking. You're going to want closed loop feedback with optical encoders and microstepping on your steppers.
Or he can shift a full frame sensor around. There is already cameras that do this. You take a photo, shift one pixel left, take another, shift up and so forth to create a 4x scaled image using the very same sensor. I think it is called pixel shift. The downside is a lower sharpness in the photo due to excessive blurring
Last single pixel camera like this I made 20 years ago or so. I made a gimbal that I could put all sensors onto. I could scan the picture in visible spectrum, have an infrared and UV diode pass, even add a sonar head to get a picture. I had some nice Philips infrared depth sensors, so the thing even scanned depth. Only problem, as mentioned, time. I could do 16k in about 30 minutes. The scene had to be stationary, obviously. Watching this video, makes me want to dig up my gadget. I have buckets of old electronic projects collecting dust and giving off that old PCB smell. Good job making your version. Pretty nice build.
This is something I would be really interested in! A camera that can do anything (given enough time)?! Please make a video about it :) Wait sonar? How does that work? Can it do x-ray and synthetic aperture radio too?
@@izuix5629 No X-rays, because I'd need a source of them on the other end, and having to expose for 30 minutes would've been out of the question. Sonar bit - it sees sound reflections, but what comes out is barely identifiable, since the ping bounces around the obstacles and echoes. Depth was most fun, back when nothing else could do it. Microsoft Kinect didn't exist yet (I made my scanner before theirs came out). Infrared and UV were also interesting. I could then layer them on top of an actual image and have a multi-spectral file, where every color channel was its own wavelength. I did record some tests, but after 20 years.... I just don't remember where I put everything. The gimbal was pretty basic. Servos for X/Y and a plate that I could screw attachments onto and a signal amplifier on top, that would boost diode readings with a transistor for the microcontroller running it. It looked half as fancy as what is in this video, but it worked the same and I could do 180 degree fisheye captures, because that was the limit of servo rotation.
@@enilenis thanks for replying! Do you still happen to have those multispectral files? Or other images you took with it? I'm currently developing a tool that let's you play with multi-/hyperspectral data, seeing what our eyes would see if our cone cells had different wavelength sensitivities (by controlling the rgb mapping). I could share that tool if you're interested.
@@izuix5629 I used to post to Sparkfun Electronics forums, because that's where I ordered all of my components. But their links went dead awhile ago, and I'm not sure where I have files locally. Nothing fancy. I'd get a lot of lens flares, because the tube I put over the LED's to get more directional light weren't completely black, so it ended up like a cheap lens, with huge halos. It wasn't a build for anything specific. For work I needed a depth scanner to make 3D models, but then I figured, since the attachment head could accept anything, I started sticking everything I had, that could sense anything, just to see the image. Reflection differs, based on the spectrum, so for each pass I'd have a black and white picture, but things that were black in one image, would be white in another, based on how the light behaved. The cool thing was that it was all done with one pixel and I had an excuse to practice coding microcontrollers.
For the EMI, that is also a result of the stepper driver you are using, they are basically current choppers. It's the new norm for stepper drivers, most older ones don't do this at the sacrifice of needing to do larger steps and less microstepping resolution. Any stepper driver that lets you set it's current via a reference potentiometer will induce this EMI in it's wires instead of a constant DC. Older stepper drivers were more akin to H-bridge drivers where if you didn't operate the stepper at the right voltage, you could easily burn it out.
STE M Ph.D. student here, We sometimes use the similar setup in actuall science, e.g. when the photos of spectral bands need to be taken over the sample. The main difference is the use of photomultiplyer detectors (PMT) instead of simple photodiode. It give far better light intesity (like thoudands of times). If you wanna go all-in with this device, condider bying one for the visiable light detection. Other difference is the use of piesoelectic elements for light shifting as they are fast, precise and generate no EMI All in all, it a a good and nice build. I like your problem solving when mesing around your camera. Good luck!
Another STEM Ph.D student here. PMT tubes can be dangerous, just for the high voltages. That said, if you wanna YOLO it and take images at the "quantum" level, you can use a PMT, but one likely wouldn't fit in your setup! You can instead use a SPAD, which are tiny and need about 100V to operate... again dangerous! I would suggest though, at minimum, to swap out the photoresistor for a photodiode. You will get a *much* stronger light response. Another option instead of using moving the sensor physically around is to use two mirrors on motors like a periscope and scan those. You can do that relatively cheaply and the tiny movement of the mirrors will be nothing to shake your system. For EMI stuff, just wrap stuff in tinfoil and ground it. There is a reason why "tinfoil" hats exist! Keep up the good work! You would be surprised how close your system is to actual ones used in research... just replace the sensor with something silly!
Very interesting work! You might find looking into how drum scanners work interesting regarding resolution (those used huge photomultipliers and your camera is basically a point scanner instead of a line scanner like common modern ones), but I suspect that rigidity issues are going to need to be addressed before diffraction and other similar concerns. Now that I think of it using the mechanics of a donor scanner or inkjet printer might work well.
Sensor size does matter indeed, it essentially averages everything that falls onto it, hence the blur. If anything I am surprised the images are as sharp as they are right now, perhaps sensor's own curved top helps with that? To sharpen things up more, you could use a smaller sensor, ooooooor simply put a mask with a pinhole right on top of the sensor you already have to reduce the area it sees. Yes this will lower the sensitivity, but not much you can do about that probably other than amplifying it's signal more if the noise isn't too much yet or simply getting a more sensitive sensor. Maybe you have played around with a pinhole camera before, if so you would perhaps remember that smaller pinhole: sharper but darker image, bigger pinhole: blurrier but brighter image. Either way, I am happy to see someone realize this idea and I will be sticking around for updates on this project. Cheers. :3
Switch from big nema motors and rack and pinion to tiny leadscrew steppers found in DVD appliances. Will be more precise and way more compact! Awesome camera!
I was literally tinkering with this in simulations in unity this friday. But I was experimenting with rotating the pixel, well more precisely I wanted to know if I could use one of those cheap iot cameras by combining multiple images.
This is a really neat project! Congrats on your progress! I think the blur is due to the "angular resolution" of your lens. DSLR photo lenses are optimized for a resolution of ~5um per pixel. Film, around 10-30um. You're sampling a much larger area, maybe 3mm or so? The photoresistor is averaging out all the contrast and color data over a large area. Consider adopting a lens that has a much larger angular resolution. For what you're doing, with the equipment you have, I believe camera obscura approach with a pinhole aperture, in place of the lens, would be best. Or, consider creating a dot mask right in front of the photoresistor that only lets a small point of light through. However, this would drastically increase the sample time as the light would be dimmer.
im sure someone already said this but you can get pretty cheap linear image sensor (scanner sensors for printers and such) that can take some seriously good photos, better than most actual cameras.
So the thing you want to do this is called a "mirror galvanometer" You then use a photodiode and ADC in sync with the sweep. This is how VERY old TV cameras worked with a single or RGB photo tubes.
I also was dealing with EMI produced by stepper motors - the solution was to use different drivers for them - we ended up designing our own drivers that do not use current chopper, but linear regulators instead. Of course mor energy loses and heat produced but we were able to cut down the noise by a few orders of magnitude.
Great video i thought for sure this channel had at least 100k subs with how good the production quality it. Keep it up, im excited to see what comes next
I like the idea ... I'm not convinced about the implementation though. I'm not sure how much one can really get out of this design, with the plastic gears introducing play etc. Kinda surprising how good the photos turned out with this setup... But without redesigning the whole thing, I would suggest recording a whole frame before changing the color filter, to minimize the movement of the camera between each pixel, putting some heat shrink tube over the photodiode and making opening of the heat shrink tube as small as possible, to reduce your pixel size and light up the scene enough so you don't need to over sample too much to get a accurate readings. The quicker you can sample a pixel the better. Ideally you would sample the brightness continuously while slowly tracing each pixel line. You don't need to use all the data to render the final image of couse. But the more data you collect during one "scan" the better.
Sensor size, poor optical quality of the sensor package, the coloured gels instead of optical filters, "slight" shaking,... the quality of the images is actually surprisingly good, taking that into consideration
This reminds me of the first TV with a scanner disk. You can use a shelided cable. It's commonly available in all sorts in sizes. You couod use 2 spiining mask disks with slots insted of holes. One vertical going really fast. And one horizontal that moves the other way. Thus making a scanning spot if geared together. You can ten get a lot more scan lines as each disk has a slot not a single hole for a single line. Andndo it a lot faster. Now, it is a super improved mechanical TV.
You can also use coaxial cables on the photodiode or even run the traces for the diode on the pcb in between grounded layers. If you aren't mounting the diode to the PCB then definitely use coaxial cable because then you can ground the shielding in the cable which will completely surround your signal wire. Also the diode has a built in lens so you may need to polish it flat and make a new lens that's better equipped to get rid of that blur.
How do you only have 367 subscribers? This is the type of quality content I’d expect from channels with 100k+. I’m really looking forward to seeing what you do next.
For better color reproduction you should make someting like a calibration LUT or just a transformation matrix to turn the output of your "color" camera into proper RGB.
This is increadibly cool. For a v2 you might want to take a look at how early mechanical television worked, where by spinning a disk with the right pattern of holes, you can achieve the same thing as your linear motors, but stable enough to do video with.
Thank you! That's a great idea, I think using a spinning disk with a hole would allow for much faster image capture. I suppose that's why they did it back then!
Just an idea: What if instead of moving the sensor, you change what it can see? I'm thinking of a Nipkow Disc, a disc with a spiral pattern of holes in it. You'd only be using 1 sensor, but the pictures you'd take would be much quicker. Not to mention, spin the disc fast enough & you can create video!
Try to sample randomly a bunch of points, and then, using a compressed sensing algorithm, you can resolve the image (up to a certain point). Other thing is that you don't need to even move the pixel, but rather project a series of patterns on your object and try to solve the image using the intensity of the power collected multiplied by the corresponding matrix, then add all those products and you should habe an image.
That is pretty darn cool! Even with all of the vibration and tolerance issues, it still produces pretty impressive images. I wonder, could a mirror be used in place of the entire sensor assembly?
Couldn't the issue with the disk making the camera shake be simply solved by instead of taking each pixel with r,g,b just taking the whole image in red, then rotating the disk to green and capturing it all and finally blue?
This idea is so fascinating ! it has so much potential to do some cool art projects with it ! you should take some pictures that look somewhat aesthetic and make an exhibition with them
You should run those stepper motors at lower voltage if you don't want them getting so hot. More voltage = more torque = more heat (even when static). You don't need a lot of torque.
@@mendokusai_931isn't that extension gated behind a paywall now? Also the issue is that the thumbnails that it uses usually are worse than even clickbaity thumbnails (read: non descriptive).
What a cool project! I wonder if it would make sense to bump up the sensor size to 3 pixels, so you can filter each one R,G or B, an capture them all 3 simulation, and better not needing the mechanical color disk that introduces so much mechanically motion. Seems like that might produce a lot less blur.
This is really cool! I was working on a project that did a similar thing, but instead of mechanical scanning we took a line of light and encoded each position with a different amplitude oscillation, then read it in with a photodiode. It's really cool to see the ways people can get by with having a single sensor!
Did you try to isolate via filters on the power leads or use a separate power source for the light detector? It’s amazing how in some situations a bypass capacitor on the motor leads can help. I used to work in the radio lab as an engineer in the automotive industry. Now, in the document copying industry their solution involved rotating mirrors with positioning sensing. With proper sequencing of the mirrors you could do a far faster scan similar to how it was done mechanically at the beginning of tv development.
I think if instead of having your color wheel in 3 sections, have it in some multiple 3n, so you can reduce your rpm by 1/n. Also some sort of damper would help
You did : for each sensor position, 1 measurements for each filter. Instead of : for each filter, take one picture. I think what you did causes more vibrations and more IEM, doing it the other way would only change the result photo if the suject is moving or the light is changing.
Maybe better solution would be to mechanically split image into pixels in front of stationary sensor instead of moving sensor, using something like nipkow disc in mechanical tv?
Have you ever used a flatbed scanner? I think there also used to be camera sensors called scanning backs that literally moved a line of pixels across the projected camera image.
Don't know how I found this video, but your channel is awesome! Also: this is really similar to how flatbed scanners get such high-resolution images, but they work with a 2d line instead of a single pixel!
That's really impressive hardcore pixeshift digital lomography, if you make cogs out of brass you will get additional steampunk look and feel. Why wouldn't you use some locally made sensor from the era when sensors still was made locally?
Very cool, subbed. What if you tried this with that Raspberry Pi camera sensor? You could sample only a single pixel for the sake of testing your photosensor size theory or sample the entire sensor to speed things up. You could effectively get an old-timey giant glass plate sized sensor.
This is a perfect setup idea for light field photography. A small sensor with a fisheye lens moved around will give you light-field snippets to work with.
You could have three of the same sensor and put a filter in front of each one, then align the three similtaneous images afterwards. It would remove some mechanical complexity. Cool video, I was looking at doing something similar. I'm supprised how much of an issue EMI is. Have you considered using common mode rejection and twisted wire pairs for the readout? Or doing the digitisation near the sensor so that you only need to move the digital signal?
Great questions! I tried twisting the wires for the sensor, but I didn't see much improvement. I also considered doing the sensor reading on the same board as the sensor, but I decided I didn't want to redesign the whole thing, wait for new PCBs to arrive, and reassemble everything. Maybe on a future iteration!
I think you might have reinvented the cameras on Pioneer 10 NGL. It had to spin to get photos of Jupiter. Swap red for orange and blue for violet, and you'll have a space probe camera.
Why can't you just move the motor further away and then use a longer mechanical transmission? I feel like that would immediately remove all EMI concerns.
i would try to add weight to the components and extra stabilization to them to reduce wobble. but especially the extra weight plus a new more robust camera stand for the basis because a lot of the wobble came from the tripods head as it was clearly not designed with moving parts in mind.
Absolutely true, the tripod stand and mounting mechanism was meant for something stationary. It clearly did not appreciate the wiggling the camera was doing!
I've been trying to do something like this with a CCD scanner from a printer, looking to get over half a gigapixel! Totally unnecessary but totally fun.
"I can't seem to get rid of the blur" Looks at the machine wobbling wildly while in use. Yeah, I'm sure not being stationary has nothing to do with having motion blur
Hurt
Lool. I had the same though. I was laughing so hard when it was shaking and spinning so fast.
Unrelated but cool pfp
@@daviseobloski3707 thanks >//< it's Umbreon from Pokémon, cause I'm an Umbreon :3
Not a rough meshing of gears either. A belt drive or worm gear when positioning a carriage with a stepper would be smoother.
Now change the 1 pixel sensor to an actual sensor and take REALLY high resolution pictures
Actually already a thing. Cameras using "Pixel shift". The sensor shifts a little by 0.5 pixel in different directions, taking a couple pictures, and combining them to make a resolution at least 4x the original resolution.
@@jeanrenaudsagswing they are quite expensive though and very high precision is needed, what about a scanner camera with a linear CCD like one used in flat bed scanners, people have done that before and have achieved really high resolution images with them! also they are used in finish line photos without a moving sensor which might be cool for taking pictures of trains
You’d need to move the sensor in extremely small increments
@@Scar32You can get Panasonic/Pentax/Olympus cameras with pixel shift for around 500-600 bucks when buying used. But admittedly, the Sony's, Fujifilms and Canons with sensor shift are very expensive.
I think there are potentially more interesting things to do with a sensor, other than something akin to pixel shifting. If you use a small camera module incl. a lens, you can (in principle) construct a _light field camera._ Or if instead of the small lens you use a slit and a diffraction grating, you can get an _imaging spectrograph / hyperspectral camera._
behold, the indie rock album album cover generator.
Make it a high resolution thermal camera instead of visible light. It would be much more valuable this way. You could probably beat some $1000 setups at least as far as resolution.
You know how expensive large IR lenses are?
@ a 3” IR window costs about $600 good thing for him he only needs one large enough to cover a webcam sensor
Isn't the whole point of using a thermal camera to see the temperature of many points at exactly the same time?
@@shadesoftime no. Actually most thermal cameras have been pretty crippled until recently in terms of frame rate because of ITAR.
You dont need a super fast thermal camera to look for hot spots in an electrical panel or leaks under the shingles of a roof.
One of the reasons for the blurriness of your photos may be the wide angle nature of the photodetector, I.E. the plastic 'lens' causes light from multiple angles to be fed to the sensor, instead of only light coming straight in. A way to counteract this issue is to tighten the viewing angle of the sensor, which can be done with a piece of heat-shrink tubing or just black tape, that way, only light coming straight into the sensor will be recorded, not light coming from the side. You may need to play with the length of the light-blocker, as too long may cut off light from the extremities of the camera lens when on the edges of sensor area.
It might also be possible to use something like a deconvolution filter in software to account for the spread of light and attempt to calculate what the single pixel should have been receiving.
@@gunderd I think that would just end up being a sharpness filter
A pinhole in front of the sensor would work fine. This will significantly reduce your signal though. To compensate, you will need a better analog front end for the phototransistor. If your SNR is too low, increase the integration time. Depending on the type of noise, you can add a motor with an optical chopper to modulate the incoming light, then demodulate in your software. Any electrical interference will be filtered out (depending on the frequency)
@@Jimmymcjimthejim *"Depending on the type of noise, you can add a motor with an optical chopper to modulate the incoming light, then demodulate in your software. Any electrical interference will be filtered out (depending on the frequency)"*
Did you come up with this idea yourself?
@@Jimmymcjimthejim The problem with increasing the integration time, and anything that slows down capture rate really, is that the camera ALREADY takes an enormous amount of time to capture an image.
The goal of any further modification should be to reduce noise while maintaining, or lowering, the integration time.
A simple tube, like a black straw or heat-shrink tubing, will reduce the amount of errant light entering the sensor without reducing the amount of 'correct' light entering it, nor will it increase integration time.
Great project. To vastly reduce the shaking, take all red pixel samples, the rotate to green, take all green pixel samples, then rotate to blue, take blue samples. That way you are only rotating the color wheel twice.
That's how you get color blur.
@@railgap May I know why?
I watched the whole video thinking it was a big channel, the quality is verrry nice .
Few suggestions:
Use shielded cable for stepper motors, try to sample (analog -> digital) near the sensor itself so the cables dont pick up emi , seems are the motors get hot due to it holding position/torque. Disable it .
Really cool project , cant wait for a refined 4k version
Agreed. If your gain and digitization happens right next to the sensor, there are fewer long wires (antennas) to pick up that interference. You could also do a four later PCB, with the outer layers as Ground and ton of vias between them to make a cage and route sensitive signals on the internal layers. Or you can use shielding cans that solder onto your PCB. Or, use an amplifier with a differential output (close to the sensor) and then carry the signal over a twisted pair, and convert the differential signal back to single ended before digitization. Or, use coax to carry the signal. Other ideas: using reflectors instead of slots (or magnets and hall-effect sensors) would make your color wheel mechanically simpler. If the color wheel was between the lens and sensor, it could be smaller (and cause fewer vibrations) and less susceptible to ambient reflections. Belt drives would let you put motors further away from sensitive parts. Designing for mechanical stability (hard to do when the design is still being iterated) would help with vibration, as would a heavier tripod. Very cool stuff! Keep up the good work!
Can't wait for this guy to discover linear ccd sensor
I think you could solve a lot of this recalibration issue with pulleys and belts driving the X and Y rather than a rack and pinion. Pulley mechanisms have less backlash and are better at holding position.
Nice, nice. Very nice. Let's go, small youtubers!
Your camera system almost exactly matches the CBS color television system. In that system, the camera used an Iconoscope or Orthicon tube, which is effectively a single-pixel scanner except it moves the scanning dot in a raster pattern on the tube's light-sensitive target. The output signal was amplified and made into a video signal. In front of the camera was a very similar color wheel, and the camera scanned the picture 144 times a second, with the six-pane (rgbrgb) color wheel spinning at 24 times per second, synchronized with the camera's scanning circuits. The receiver used an identical color wheel matched up so it would display correct color. This system used about 3 times more bandwidth than standard B/W TV at the time, so RCA's compatible color system, NTSC, was chosen instead by the FCC. Normal TVs would display a rolling chopped up picture because they had a scan rate of 60 time a second, too slow to cope with the 144hz, and same problem with line rate. You'd get garbage on a normal TV when trying to receive a CBS color program.
on that topic i am quite curious what a photo would look like rather then s single pixel scanning access the image with lenses you could have the sensor wide angle and scan a laser though the scene, i wonder what the photos of something like that would look like
@@Scar32 That's called a flying spot scanner. They were also used in early television. During active video, the scanner scanned the scene, using several sets of RGB photomultipliers around the room. During vertical blanking interval, there were big flash bulbs which turned on to provide light for the actors to see, and then they shut off when the bulbs turned off as to not interfere with the camera. en.wikipedia.org/wiki/Flying-spot_scanner
Why have the filter physically attached to the sensor like that? A separate apparatus would go a long way in terms of stability
"relying on the changing colours of this LED to find bugs in my code" I felt that one personally, I have done similarly stupid things like making an LED blink to say "WE GOT THIS FAR"
Your Phtotransistor has 3 legs. That may enable you to use it as a Photodiode (using the collector as cathode and base as anode if I recall correctly, emitter remains unconnected). A Photodiode can be used with a transimpedance amplifier to obtain a very linear and fast Photodetector circuit with a low impedance output voltage proportional to light input. The circuit only consists of the Photodiode, an opamp and a (sensitivity setting) resistor. As an Opamp a LM358 should work ok for a start.
One nice thing about the Transimpedance amplifier is that it virtually shorts the current source (the Photodiode in this case). As long as the wires to the Photodiode are short Interference is very small
Look into compressive sensing, it's exactly for this kind of stuff, it allows you to create a much higher resolution image with a lot fewer random samples.
You have only 1.7k subs??? I thought you have over million
I like this a lot because in a weird way the simplification to a single pixel makes it easier for someone who lacks the technical knowledge to understand the project. It's also such a cool niche that could definitely lead to some kind of spicy innovations. and it's just useful in general because of play. Play is SO important even if it leads to nothing.
And he returns, you have more polish than most channels with 100 times your sub count.
Well, maybe the channels from poland have more polish
Those glitchy color photos are so nice
I can can see your hard work ❤...
When I'm stuck with these kind of problems, I feel like throwing everything away...
Instead of moving the sensor, use a moving mirror like in laser barcode scanners. Combine that with a linear high resolution CCD from a flatbed scanner, and then you're talking. You're going to want closed loop feedback with optical encoders and microstepping on your steppers.
Or he can shift a full frame sensor around. There is already cameras that do this. You take a photo, shift one pixel left, take another, shift up and so forth to create a 4x scaled image using the very same sensor. I think it is called pixel shift. The downside is a lower sharpness in the photo due to excessive blurring
Last single pixel camera like this I made 20 years ago or so. I made a gimbal that I could put all sensors onto. I could scan the picture in visible spectrum, have an infrared and UV diode pass, even add a sonar head to get a picture. I had some nice Philips infrared depth sensors, so the thing even scanned depth. Only problem, as mentioned, time. I could do 16k in about 30 minutes. The scene had to be stationary, obviously. Watching this video, makes me want to dig up my gadget. I have buckets of old electronic projects collecting dust and giving off that old PCB smell.
Good job making your version. Pretty nice build.
This is something I would be really interested in!
A camera that can do anything (given enough time)?!
Please make a video about it :)
Wait sonar? How does that work?
Can it do x-ray and synthetic aperture radio too?
@@izuix5629 No X-rays, because I'd need a source of them on the other end, and having to expose for 30 minutes would've been out of the question. Sonar bit - it sees sound reflections, but what comes out is barely identifiable, since the ping bounces around the obstacles and echoes. Depth was most fun, back when nothing else could do it. Microsoft Kinect didn't exist yet (I made my scanner before theirs came out). Infrared and UV were also interesting. I could then layer them on top of an actual image and have a multi-spectral file, where every color channel was its own wavelength. I did record some tests, but after 20 years.... I just don't remember where I put everything. The gimbal was pretty basic. Servos for X/Y and a plate that I could screw attachments onto and a signal amplifier on top, that would boost diode readings with a transistor for the microcontroller running it. It looked half as fancy as what is in this video, but it worked the same and I could do 180 degree fisheye captures, because that was the limit of servo rotation.
@@enilenis thanks for replying!
Do you still happen to have those multispectral files? Or other images you took with it? I'm currently developing a tool that let's you play with multi-/hyperspectral data, seeing what our eyes would see if our cone cells had different wavelength sensitivities (by controlling the rgb mapping). I could share that tool if you're interested.
There are probably more people than you think nerdscoping for exactly this on the internet.
@@izuix5629 I used to post to Sparkfun Electronics forums, because that's where I ordered all of my components. But their links went dead awhile ago, and I'm not sure where I have files locally. Nothing fancy. I'd get a lot of lens flares, because the tube I put over the LED's to get more directional light weren't completely black, so it ended up like a cheap lens, with huge halos. It wasn't a build for anything specific. For work I needed a depth scanner to make 3D models, but then I figured, since the attachment head could accept anything, I started sticking everything I had, that could sense anything, just to see the image. Reflection differs, based on the spectrum, so for each pass I'd have a black and white picture, but things that were black in one image, would be white in another, based on how the light behaved. The cool thing was that it was all done with one pixel and I had an excuse to practice coding microcontrollers.
Feels like this was invented in the cart era
the foreshadowing and continuity bit was great
For the EMI, that is also a result of the stepper driver you are using, they are basically current choppers. It's the new norm for stepper drivers, most older ones don't do this at the sacrifice of needing to do larger steps and less microstepping resolution. Any stepper driver that lets you set it's current via a reference potentiometer will induce this EMI in it's wires instead of a constant DC. Older stepper drivers were more akin to H-bridge drivers where if you didn't operate the stepper at the right voltage, you could easily burn it out.
The indoor pictures were actually surprisingly good!
STE M Ph.D. student here,
We sometimes use the similar setup in actuall science, e.g. when the photos of spectral bands need to be taken over the sample.
The main difference is the use of photomultiplyer detectors (PMT) instead of simple photodiode. It give far better light intesity (like thoudands of times). If you wanna go all-in with this device, condider bying one for the visiable light detection.
Other difference is the use of piesoelectic elements for light shifting as they are fast, precise and generate no EMI
All in all, it a a good and nice build. I like your problem solving when mesing around your camera. Good luck!
I kinda figured this would have an application where that one pixel is a very expensive pixel.
Another STEM Ph.D student here.
PMT tubes can be dangerous, just for the high voltages. That said, if you wanna YOLO it and take images at the "quantum" level, you can use a PMT, but one likely wouldn't fit in your setup! You can instead use a SPAD, which are tiny and need about 100V to operate... again dangerous! I would suggest though, at minimum, to swap out the photoresistor for a photodiode. You will get a *much* stronger light response.
Another option instead of using moving the sensor physically around is to use two mirrors on motors like a periscope and scan those. You can do that relatively cheaply and the tiny movement of the mirrors will be nothing to shake your system.
For EMI stuff, just wrap stuff in tinfoil and ground it. There is a reason why "tinfoil" hats exist!
Keep up the good work! You would be surprised how close your system is to actual ones used in research... just replace the sensor with something silly!
The algorithm is really killing it today. Good stuff. Next he's going to invent "moving pictures"
🤯
Very interesting work! You might find looking into how drum scanners work interesting regarding resolution (those used huge photomultipliers and your camera is basically a point scanner instead of a line scanner like common modern ones), but I suspect that rigidity issues are going to need to be addressed before diffraction and other similar concerns.
Now that I think of it using the mechanics of a donor scanner or inkjet printer might work well.
Sensor size does matter indeed, it essentially averages everything that falls onto it, hence the blur. If anything I am surprised the images are as sharp as they are right now, perhaps sensor's own curved top helps with that? To sharpen things up more, you could use a smaller sensor, ooooooor simply put a mask with a pinhole right on top of the sensor you already have to reduce the area it sees. Yes this will lower the sensitivity, but not much you can do about that probably other than amplifying it's signal more if the noise isn't too much yet or simply getting a more sensitive sensor. Maybe you have played around with a pinhole camera before, if so you would perhaps remember that smaller pinhole: sharper but darker image, bigger pinhole: blurrier but brighter image. Either way, I am happy to see someone realize this idea and I will be sticking around for updates on this project. Cheers. :3
that's too blue-green to be the green. it needs to be bright green
Switch from big nema motors and rack and pinion to tiny leadscrew steppers found in DVD appliances. Will be more precise and way more compact! Awesome camera!
I was literally tinkering with this in simulations in unity this friday. But I was experimenting with rotating the pixel, well more precisely I wanted to know if I could use one of those cheap iot cameras by combining multiple images.
This is a really neat project! Congrats on your progress!
I think the blur is due to the "angular resolution" of your lens. DSLR photo lenses are optimized for a resolution of ~5um per pixel. Film, around 10-30um. You're sampling a much larger area, maybe 3mm or so? The photoresistor is averaging out all the contrast and color data over a large area.
Consider adopting a lens that has a much larger angular resolution. For what you're doing, with the equipment you have, I believe camera obscura approach with a pinhole aperture, in place of the lens, would be best.
Or, consider creating a dot mask right in front of the photoresistor that only lets a small point of light through. However, this would drastically increase the sample time as the light would be dimmer.
im sure someone already said this but you can get pretty cheap linear image sensor (scanner sensors for printers and such) that can take some seriously good photos, better than most actual cameras.
So the thing you want to do this is called a "mirror galvanometer" You then use a photodiode and ADC in sync with the sweep. This is how VERY old TV cameras worked with a single or RGB photo tubes.
Such an amazing video but only 306 subs? You deserve way, way more!
I also was dealing with EMI produced by stepper motors - the solution was to use different drivers for them - we ended up designing our own drivers that do not use current chopper, but linear regulators instead. Of course mor energy loses and heat produced but we were able to cut down the noise by a few orders of magnitude.
That's a really interesting idea!
If EMI is still a problem, twist the cables or use shielded cable. And put the cables through ferrites.
Great video i thought for sure this channel had at least 100k subs with how good the production quality it. Keep it up, im excited to see what comes next
the quality of this videos is amazing, keep it going
I like the idea ... I'm not convinced about the implementation though. I'm not sure how much one can really get out of this design, with the plastic gears introducing play etc. Kinda surprising how good the photos turned out with this setup... But without redesigning the whole thing, I would suggest recording a whole frame before changing the color filter, to minimize the movement of the camera between each pixel, putting some heat shrink tube over the photodiode and making opening of the heat shrink tube as small as possible, to reduce your pixel size and light up the scene enough so you don't need to over sample too much to get a accurate readings. The quicker you can sample a pixel the better. Ideally you would sample the brightness continuously while slowly tracing each pixel line. You don't need to use all the data to render the final image of couse. But the more data you collect during one "scan" the better.
Awesome video. I hope this gets pushed more!
I love the updates! This gives me some ideas for my radiotelescope / microwave imager that uses a similar technique!
That's great to hear! It was really interesting learning about your setup at OpenSauce!
Sensor size, poor optical quality of the sensor package, the coloured gels instead of optical filters, "slight" shaking,... the quality of the images is actually surprisingly good, taking that into consideration
This reminds me of the first TV with a scanner disk.
You can use a shelided cable. It's commonly available in all sorts in sizes.
You couod use 2 spiining mask disks with slots insted of holes. One vertical going really fast. And one horizontal that moves the other way. Thus making a scanning spot if geared together.
You can ten get a lot more scan lines as each disk has a slot not a single hole for a single line. Andndo it a lot faster.
Now, it is a super improved mechanical TV.
You can also use coaxial cables on the photodiode or even run the traces for the diode on the pcb in between grounded layers. If you aren't mounting the diode to the PCB then definitely use coaxial cable because then you can ground the shielding in the cable which will completely surround your signal wire. Also the diode has a built in lens so you may need to polish it flat and make a new lens that's better equipped to get rid of that blur.
How do you only have 367 subscribers? This is the type of quality content I’d expect from channels with 100k+. I’m really looking forward to seeing what you do next.
with this video getting so many views id expect him to start getting more subscribers soon.
For better color reproduction you should make someting like a calibration LUT or just a transformation matrix to turn the output of your "color" camera into proper RGB.
a smaller sensor should get rid of the blur quite a bit. cus the average of light from all around the pixel will be minimized. thus greater resolution
This is increadibly cool. For a v2 you might want to take a look at how early mechanical television worked, where by spinning a disk with the right pattern of holes, you can achieve the same thing as your linear motors, but stable enough to do video with.
Thank you! That's a great idea, I think using a spinning disk with a hole would allow for much faster image capture. I suppose that's why they did it back then!
It's good to see you catching up with John Logie Baird...... And the cameras they used on the Apollo program....
Just an idea: What if instead of moving the sensor, you change what it can see? I'm thinking of a Nipkow Disc, a disc with a spiral pattern of holes in it. You'd only be using 1 sensor, but the pictures you'd take would be much quicker. Not to mention, spin the disc fast enough & you can create video!
Try to sample randomly a bunch of points, and then, using a compressed sensing algorithm, you can resolve the image (up to a certain point).
Other thing is that you don't need to even move the pixel, but rather project a series of patterns on your object and try to solve the image using the intensity of the power collected multiplied by the corresponding matrix, then add all those products and you should habe an image.
Duude! This is amazing! How does channel not have, like, 300k subs already?
I'm doing my part.
That is pretty darn cool! Even with all of the vibration and tolerance issues, it still produces pretty impressive images. I wonder, could a mirror be used in place of the entire sensor assembly?
this is the most unique project that i have seen on yt !!
100K soon 🎉
Couldn't the issue with the disk making the camera shake be simply solved by instead of taking each pixel with r,g,b just taking the whole image in red, then rotating the disk to green and capturing it all and finally blue?
This idea is so fascinating ! it has so much potential to do some cool art projects with it ! you should take some pictures that look somewhat aesthetic and make an exhibition with them
You should run those stepper motors at lower voltage if you don't want them getting so hot.
More voltage = more torque = more heat (even when static).
You don't need a lot of torque.
This title was heavily misleading
Welcome to Real Life😅
try DeArrow extension, it changes this video title to "Making a camera with one sensor that moves around instead of an array of sensors" for example
Another useful extension to add to the list, thanks!
it was far better than what it promised
@@mendokusai_931isn't that extension gated behind a paywall now? Also the issue is that the thumbnails that it uses usually are worse than even clickbaity thumbnails (read: non descriptive).
What a cool project!
I wonder if it would make sense to bump up the sensor size to 3 pixels, so you can filter each one R,G or B, an capture them all 3 simulation, and better not needing the mechanical color disk that introduces so much mechanically motion. Seems like that might produce a lot less blur.
This is really cool! I was working on a project that did a similar thing, but instead of mechanical scanning we took a line of light and encoded each position with a different amplitude oscillation, then read it in with a photodiode. It's really cool to see the ways people can get by with having a single sensor!
You can add hadamard patterns with compressive samples to get the most if the single pixel
you could also capture near infrared or maybe even ultraviolet with this if you configure it correctly. that would be so cool!
Did you try to isolate via filters on the power leads or use a separate power source for the light detector? It’s amazing how in some situations a bypass capacitor on the motor leads can help. I used to work in the radio lab as an engineer in the automotive industry.
Now, in the document copying industry their solution involved rotating mirrors with positioning sensing. With proper sequencing of the mirrors you could do a far faster scan similar to how it was done mechanically at the beginning of tv development.
I used a separate power source for the light detection circuit, but I didn't add any capacitors. It's possible that would've helped quite a bit!
I think if instead of having your color wheel in 3 sections, have it in some multiple 3n, so you can reduce your rpm by 1/n. Also some sort of damper would help
Also, you could choose not to mout the spinning wheel in the camera, just in front, on a separate support
You did : for each sensor position, 1 measurements for each filter. Instead of : for each filter, take one picture. I think what you did causes more vibrations and more IEM, doing it the other way would only change the result photo if the suject is moving or the light is changing.
RUclips has been suggesting more small channels for me and I’m not complaining. :)
Nice camera! Now you need to make it an Instagram account.
Maybe better solution would be to mechanically split image into pixels in front of stationary sensor instead of moving sensor, using something like nipkow disc in mechanical tv?
Have you ever used a flatbed scanner? I think there also used to be camera sensors called scanning backs that literally moved a line of pixels across the projected camera image.
Yes, this project was partially inspired by scanners like those!
Don't know how I found this video, but your channel is awesome!
Also: this is really similar to how flatbed scanners get such high-resolution images, but they work with a 2d line instead of a single pixel!
Exactly! That was part of my inspiration for this project. I wanted to go one step further and make something with a single pixel.
I just finished the video and i saw u have 598 subs. The quality:subscriber ratio is insane, keep it up.
You deserve so much more attention!
That's really impressive hardcore pixeshift digital lomography, if you make cogs out of brass you will get additional steampunk look and feel.
Why wouldn't you use some locally made sensor from the era when sensors still was made locally?
Reinventing the CRT technology
Rare time when the actual video is better than the clickbait
Very cool, subbed. What if you tried this with that Raspberry Pi camera sensor? You could sample only a single pixel for the sake of testing your photosensor size theory or sample the entire sensor to speed things up. You could effectively get an old-timey giant glass plate sized sensor.
This is a cursed engineering camera 😂😂
I really enjoy these kinds of projects, awesome job! Lol, the stuff on the second monitor is pretty good.
Maybe try adding black paper with a pinhole infront of the pixel to filter noise and maybe an ir filter to get better picture outside.
Wouldn't it be more interesting to take each color in it's own pass rather than every pixel?
This is a perfect setup idea for light field photography.
A small sensor with a fisheye lens moved around will give you light-field snippets to work with.
You could have three of the same sensor and put a filter in front of each one, then align the three similtaneous images afterwards. It would remove some mechanical complexity.
Cool video, I was looking at doing something similar. I'm supprised how much of an issue EMI is. Have you considered using common mode rejection and twisted wire pairs for the readout? Or doing the digitisation near the sensor so that you only need to move the digital signal?
Great questions! I tried twisting the wires for the sensor, but I didn't see much improvement.
I also considered doing the sensor reading on the same board as the sensor, but I decided I didn't want to redesign the whole thing, wait for new PCBs to arrive, and reassemble everything. Maybe on a future iteration!
I think you might have reinvented the cameras on Pioneer 10 NGL. It had to spin to get photos of Jupiter.
Swap red for orange and blue for violet, and you'll have a space probe camera.
you could reduce the blur by adding a pin hole in front of the sensor
using light sensors on the colour wheel technically makes it a 3 pixel sensor now :c
Why can't you just move the motor further away and then use a longer mechanical transmission? I feel like that would immediately remove all EMI concerns.
Amazing idea! You need to get a more sturdy tripod and maybe separate the colorwheel from the camera itself
i would try to add weight to the components and extra stabilization to them to reduce wobble. but especially the extra weight plus a new more robust camera stand for the basis because a lot of the wobble came from the tripods head as it was clearly not designed with moving parts in mind.
Absolutely true, the tripod stand and mounting mechanism was meant for something stationary. It clearly did not appreciate the wiggling the camera was doing!
That's so cool! I was wondering if you could capture photos with a simple phototransistor and this is the proof you can! 👏Nice job!!
i love this type of content, cameras and these things fascinate me to the brim
Great vid. Hopefully RUclips blows it up even more! Looking forward to new projects.
This video is going to blow up
If you switch to herringbone or split hilix gears it'll reduce noise and vibration. Also congrats on your new scanning-photon-macro-scope
this is awesome! only issue i see with the color filters is that it can't seem to differentiate orange from magenta, not sure why that is...
This channel will be at 10k by the end of the year.
I've been trying to do something like this with a CCD scanner from a printer, looking to get over half a gigapixel! Totally unnecessary but totally fun.
So this guy doesn't have 100K over subscribers? I thought i was well known youtuber! Excellent quality video, keep on going!!!
Wow, thank you! I appreciate the kind comment. Maybe one day!