Actually I would try to keep it modular. One could define one common interface e.g. UART and people can decide to attach a FTDI for USB, a bluetooth dongle for communication with a tablet or smartphone, connect it to anouther uC, etc. I think some buttons and maybe a 64x96 OLED display would be fine. Some camera trigger ports provide 5V and hence could power the device but I guess a optional LiPo with a charging circuit over e.g. USB would be a good idea We need a USB host capable uC. There are only two specialized USB host uC 8bit from AVR all others are AVR32. I never touched any of them thus I am not sure about it. Anyhow if we think to transmit images via bluetooth or even usb it would require to receive the images from the camera and send them over to the host. Guess this is a bit heavy for a 8bitter... Getting a scripting language running on the dongle is another heavy task. This should be touched by many users which are not always programmers. Therefore, I would prefer to stick to a scripting language which is well known already and where people can learn from many resources (python, lua, etc.) Does anybody know if there is a usable uC scripting language combination.... maybe in that sens together with possible heavy data load to transmit images, a ARM cortex might be an good option?!
You see for that reason I did not set it on my wishlist for BP v4.1 ;) I generously gave you a few month time to boost your knowledge ;)
I know its heavy and most likely all devs who would work on that will get a giant boost in USB protocol handling... before you can create a debug unit you need to understand it, right.
However, I think there is an increasing demand and it might be a great success having a open hardware usb debugger. I think an FPGA would be needed and this could be advantageous since there is a lot of USB stuff for FPGA already (e.g. on opencores). If you really want to come close to the lowest level of USB communication, you want to make sure no uncontrollable (read proprietary) USB stack is in your way, thus I am not sure how helpful SoCs are. So yeah I guess its a heavy task.
Well, USB is quite complex and protocol analyzers are quite costly. Maybe not implementing it on a Bus Pirate but having a separate protocol analyzer hardware is the way to go? Maybe OLS design can be helpful in this sense?
Yeah that is true its complex and not an easy task. Maybe some dedicated hardware would be better. On the other hand if this crazy uC-hype is going on, the buspirate V10 will come with a octal-core 2.5 GHz Tegra5 since the price drops below of what you pay now for a PIC24X ;) Well so during intercepting of USB traffic you can still render some movies, surf the web and compile a new Linux kernel with -j 9 and still have resources free to get your I2C or SPI bit banging right :D
Lets see but yeah a dedicated hardware would be fine. What would be needed is the power to get USB through without much delay... maybe it would need small even FPGA.
Hi, Herzlich wilkommen bei gefährliche Prototypen ;) Just wonder why you need 3.2. Did you try to compile the app for a lower Android version? Should be rather simple to change it in the Android SDK and give it a try. I believe USB host is already much longer part of the Android environment. People tend to use the latest version to get all features and new stuff. However, if you. never touch the new features or find ways to avoid them you can move down on.the required Android version. This gives you potentially much more users. Smartphone users as well as people who bought cheap shitty tablets to hack around with them.... the last group might rather be dominating here :)
I was looking around for some combination of photography and electronics. Searching the web there are already many DIY intervalometers, remote shutters, etc. projects. However, the majority of them use the dedicated remote control contact of certain cameras.
On the other hand many cameras feature a USB interface which provides a PTP protocol. This seems to be much more powerful and based on the camera you can remotely control many details of the camera . It supports transmission of the images too. PTP based libraries for PC are available with description of the generic PTP-protocol and the often found home-made forks of different camera manufactures. Most close project I found so far is from Oleg from http://www.circuitsathome.com/ He has already a nice PTP-library for AVR (ardunio) for different camera models.
Thus, I was wondering if there would be interest at DangerousPrototypes to get a remote control module which can be connected to most of the available cameras which features the PTP protocol. As far as I looked into it it would only require one and the same hardware (obviously it requires a USB host system) which should be a nice dedicated board.
As for the software, I would like to see a modular set-up. * Frontend: for the particular camera brand and model, contain the PTP commands for this particular camera. -> Talk to main module via API. * Main: something similar like the BP macro feature (some sort of primitive scripting language) to execute small programs on its own (intervalometer, focus stacking, HDR, sensor based triggering, etc.) as well as dealing with I/Os, maybe an OLED display, buttons, etc. -> Talk to backend and frontend via API * Backend: Communication to some host device, USB, bluetooth (smartphone / tablet app), wifi, other uC/embedded device (web platform), etc. Depending on backend images could be transferred directly, host can send scripts to the main module via backend. -> talk to main module via API.
This would result in a rather flexible set-up ranging from full stand-alone usability (executing the internal script) to automatic pushing of images to a server for automatized image post-processing and publishing. Well this is first of all a brainstorming info collection post. I would highly appreciate if you send ideas, thoughts, links and rants you have about this idea.
If I find enough people interested to overcome my inertia and certain plateaus of development, I would jump in.... Sure, important would be to get a group of testers with different camera modules too.
I just think about a new project which involves to figure out the exact communication between USB host and client devices. USB seems to get more and more universal and away from the traditional PC<->"dump stick" scheme. More and more uC come with host/otg and client capabilities. SoCs implement full USB support too. Many projects try to lower total cost by using cheap USB-based modules (wifi, bluetooth, memory) instead of the more pricey uC-interface modules.
Those embedded applications are tricky to debug. You can't snoop easily on the communication as you are used to do on a PC. An error could be user firmware or usb stack on the host side, electrical, or client side related. Thus, I wonder a buspirate which acts as a transparent USB bridge connected between a host and client could really be helpful to debug such systems. Logging the traffic and possible analyse it (e.g. filter by looking for keywords within the datagrams or package headers), could be interesting.
I know its an ambitious aim, since USB is rather complex compared to the low-level interchip protocols. Speed and amount of data are another issue. Thus, I can see it will not hit the feature list very soon. But maybe we could think about it in some distant future?!
Using lenses in reverse for macro is old trick but not something I'd recommend easily. Major problem is that reverse adapters for dslr's are mostly shitty quality and can easily damage your camera.
Hehehe, is this the dangerous prototype forum or the stay-away-and-don't-touch-this-wire forum ;)
Agree reverse mounting might have a certain risk. My adapter is made out of aluminium and looks rather solid. More problematic is the fact that the lens might get off from the adapter in case you try to remove the lens+adapter from the body . You really have to mount and umount it by twisting the adapter only and not the lens itself.
Quote
If you have dslr you might want to get a zoom+macro lens
I have a Soligor 75-205mm + macro. Its a very old lens. Full manual (btw. for that reason I choose Nikon since they still work even with there 30 year old lenses. If you have someone in the family having 20+ year old Nikon lenses laying around unused... go and get yourself a Nikon ;) ).
The problem is that a real macro requires a rather large distance between the camera and the object. As you said about one meter in your case. That makes it by several magnitudes more sensitive to shaking. On the contrast the 50 mm lens I used for the above pictures is only about 5cm long and the focal point is about 15-20cm from the camera centre. This allows to get close and make shoots without much care of shaking ... guess it also helps to get easier more light into the lens.
Don't forget if you set the lens reverse mode you loose most of the electrical driven functions. Therefore I used an old manual lens, I can set the Fstop manually. Sure I have no correct metering and definitely no auto-focus. Therefore I used the M mode and set all manually. Some people hacked there electronic lenses to reconnect them back to the camera. This gives you back some of the features.
[quote author="ian"]Wow Torwag, those are really amazing for coming from a point and shoot without a tripod! Nice work!
I admit to not knowing enough about my camera, and how to take an afternoon to research it a bit and learn to take better shots with the new light box.[/quote]
Hi Ian, thanks for the fish. Well little correction... *not* point and shoot but DSLR. Let me know if you are in need of bawdily close ups shoots of your little electronic gadgets ;) If you want I send you the original images, feel to use them for whatever your want.
[quote author="arakis"]few more pointers...cheap add ons etc.... Diopter filters, and tube extensions, they are also cheap and allow for nice macro photography.... [/quote] You are right tube extensions might work great too. Not sure how easy you can get them. The reverse adapter was tricky already. Its not the usual stuff sold in electronic markets.
[quote author="arakis"] to increase the DoF, increase the F-stop to the highest it will go, and get bucket loads of indirect lighting on your subject..... [/quote]
I played around with the F-Stop. Yes you are right. You can adjust the DoF however, only in a tiny range. As I said this is not necessarily a disadvantage. One can nicely give attention to the "important" spot.
[quote author="arakis"] And since even with good lighting you might be looking at long exposures...you absolutely need a tripod, and remote trigger, or at least set the trigger to timer... to remove any shacking while you press the button[/quote]
It needs both good light and long exposures in general. Therefore, I was kind of happy and surprised to get the above images just with the internal flash light and still shooting free holding the camera. This means getting more light and a tripod (I was thinking of a gorilla Pod [1]) can definitely increase the image quality. Thus, there is still a lot of room for improvement. The D90 allows timing shutter and "advanced mirror switching" (forgot the correct name, the mirror tilts earlier as usual). This removes shacking due to the movement of mechanical components. Furthermore, you could play with the ISO value. Modern DSLR have freaking high ISOs. Pictures might get blurred but you can find a good compromise between exposure time and ISO if you can't get more light at it.
At the moment I think of getting more light first. Once we discussed the ring-light already... do you remember :)
I think one of the main point of this post is... think twice before you get yourself a USB-webcam-based microscope if you have a DSLR already you might invest the 20 Euros in adapters and tubes and end up with a high resolution set-up. Even if you do not have a DSLR, getting an older one makes more sense now, since super macro shooting is definitely an interesting hobby on its own.
[attachment=3] Complete image (scaled down): a standard LCD panel (marked area refers to the zoom below) [attachment=2] Original size (100%): ahhh little pixels (marked area refers to the zoom below)
[attachment=1] Digital zoom (4x): sub-pixels...
[attachment=0] Digital zoom (10x).... sub-pixel spacing.
Hi, this topic was briefly discussed here before. Many here know how difficult it could be to do good detailed images of your project. A lot of point and shoot cameras are not up to this (macro) task. DSLRs might work nice, however, you have to cash out a big chunk of money to get a decent macro lens. The reverse lens trick is well known among photographers.
Basically you mount an ordinary lens with the help of a reverse ring adapter upside down on the camera body. This turns a small focal length lens into a super-macro lens.
There are some pitfalls
On modern cameras you will loose all electronic features of the lens, unlike you hack the electrical connections back to contact your camera body again.
Another problem is the extreme small depth of field. There is usually only a very small focal plane inside the image crisp and sharp, elements before and after that starts to get blurry very quickly. However, that could be used as an advantage too, if you plan to set the viewers attention to a particular detail.
The other problem is light. It requires fare more light as usual to get a good macro shoot. Camera flashs are advisable and if you need longer shutter times you quickly have to switch over to use a tripod set-up.
The advantage is clearly the price. You can get a cheap second-hand manual lens and buy a reverse lens adapter for your DSLR. Some even use point and shoot cameras for that, however the camera need to feature a manual exposure setting mode then. Total cost to start with macro shoots could be as less as $20 / 20 Euro / 2000 Yen, if you own a camera and a suitable lens already. You might even consider to get a used DSLR like a Nikon D40 or older Canon EOS model which you can get rather cheap now. Those old cameras will still create great images even for other purposes. Get a reverse-ring adapter for your camera model might be a bit tricky since it is not the usual stuff your local electronic discounter keeps in stock.
Assemble the lens with the help of the adapter and set-up the camera to work in manual mode. Now you have to test a lot, it rather depends on the lens/camera combination as well as on your light/flash settings and the exposure settings. Luckily making some dozens of crappy images do not cost much on a digital camera. Finally you will figure out settings which serve your purpose well.
Another great feature of DSLRs (or digital cameras in general) is the possibility to allow further digital zooming on your PC. The size of the images are rather high esp. for DSLRs with many pixels. If you only want to publish the images online you might have to reduce there size already. You can easily cut out a desired part of the images and zoom-in even further without loosing to much image quality. Documentation does not require totally noise free and art-like images. As long as they clearly deliver the information you want to present, they are fine. However, taking some time to make them nice and high quality is defenitely a plus. Good projects deserve good pictures.
O.k., after all this blabla... here are some of my very first shoots with my new set-up
All images were taken without tripod and using only the internal camera flash without any additional light sources. I believe the results can be further improved by a light box set-up and a camera mounted on a fixed point like a tripod. Higher optical zooms can be achieved by using a 24 mm or 35 mm lens.
[attachment=4] Complete image scaled down: The buspirate V4 (marked area refers to the zoom below)
[attachment=3] Original size (100%) of the buspirate V4. Any solder bridges?
[attachment=2] Complete image scaled down: The buspirate V4 (marked area refers to the zoom below)
[attachment=1] Original size (100%) of the buspirate V4. All nicely soldered!
[attachment=0] Digital zoom (4x) of the buspirate V4. This big boy is a SMT cap check how big it is in reality!
How high is the weight? I like the idea to measure the weight. You can overcome all kind of shortages by building a differential set-up. Get something which takes the tank of periodically to zero the sensors, add the tank measure and remove it again. I know this sounds crazy but you have to move it only a few mm to get it of from the load cells. I could think of different methods to achieve this by either move the sensors or the tank and something like a modified power driller might be enough.