Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Jacob-OTW/BCOTI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BCOTI (Budget-Clip-On-Thermal-Imager)

This project is about building a Clip-On-Thermal-Imager (COTI) for Analog night vision goggles, similar to the Jerry-C, PAS29A/B, etc. yourself.

The current version uses a 256x192@12um sensor with a 9.1mm lens. This combined with the LZE039 and 25mm DCX lens, gives you a 1x 17°x13° thermal overlay in your NVGs.

Cropping it to a 13° circle is also an option by modifying the shape of the Display_Spacer.step model.

The unit is powered by a standard USB-C power source delivering 5v.

User Manual

Setting image settings

The BCOTI uses the Wi-Fi interface of the esp32 board to act as a web server to host a basic WebUI. To start the unit with Wi-Fi enabled,

  1. hold down the push-button and then supply the unit with power, so either plug in your cable (given the poti is already enabled) or enable the poti, keep the button held down for a short moment, then let go.

  2. Open your phones Wi-Fi settings and connect to "BCOTI", the password is "wifipass1234"

  3. Inside a web browser, open "192.168.4.1".

  4. At the top you select the active preset, so the one being both used by the unit in real time, and the one you make changes to.

  5. You can either enable or disable a preset, this determines if the preset will be used, or skipped when using the push button on the unit.

  6. Once you made all your changes, reboot the unit to run it on the normal mode. Then use the push button to cycle through your active presets.

  • If the local webpage won't load, try disabling your mobile-data, this is an issue with some OS that won't actually try and use the Wi-Fi network because it does not provide an internet connection. On IPhone this usually isn't an issue.

Recommended Settings

  • Burn protection. This will automatically close the shutter of the thermal camera if you look at something very hot, like a fire, or the sun. Note that when the unit is not powered, the shutter is in the open position, so it's highly recommended you cover the lens when the unit is not in use. Very hot object can burn the actual sensor. Burn protection has nothing to do with protecting your tube!

  • Auto Shutter. This will do Non-Uniformity-Correction (NUCing) based on conditions decided by the camera (temperature mostly).

  • Correct Brightness Setting. To get a good brightness setting, I'd recommend:

    1. Use the potentiometer to fully turn down the brightness of the camera.
    2. Set your display brightness one step below the step where you're able to see the shape of the display in IIT image.
    3. Raise brightness to the desired threshold.

    This may need to be done on the fly if you're environment changes, like when going from indoors, to outdoors.

  • Scene mode. While the Mini2 offer many scene modes, for the BCOTI only Highlight and Outline really make sense, adjust contest as you see fit.

Bill-of-materials

Expect to pay about 400€ (EU) or about 500usd (US) for parts when buying in small quantities

If you do end up buying these parts, and are happy with the end result, I'd appreciate it if you supported my future work on this and similar projects via my BuyMeACoffee page

Some of the links are affiliate links, which means I make a small commission on your purchase, at no added cost to you.

Part Cost Link Comment
Mini2 189€ AliExpress (256 9.1mm option) Only the 256 w/ 9.1mm version will work, others won't be 1x with current setup. Hdaniee Store page incase the link doesn't work, CV256 9.1mm. For Some it might also be much cheaper to buy on Alibaba
LZE039 OLED 98€ AliExpress (AV 3color option) Bare screen + AV driver.
Esp32c3 Super Mini 2.6€ AliExpress They can break during assembly, I'd recommend a 5pc for safety.
USB-C Connector Breakout (1x+) 2.25€ AliExpress 2pc ("TYPE-C male 4P" option) At least 1x for device internal, but can also be used to created really low profile cable for helmet setup.
USB-C Port 1.49€ AliExpress ("4P Black" option)
Toggle Switch 1.19€ AliExpress ("3P 11.7ON-OFF-ON R" option)
Poti w/ ON-OFF-switch 2.59€ AliExpress 5pc ("20K Ohm" option) Can also be higher resistance value, for voltage divider, without current draw like here, it doesn't really matter
M2x4 Screws (11x) 1.35€ AliExpress 50pc (M2 x 50pc, 4mm length option) I didn't use these exact ones, but should work, otherwise I adjust the hole size for the screw heads
M2x3 Heat Inserts (11x) 9.99€ CNCKitchen 100pc Could also get cheaper ones in similar size, but I like these because they give good info about the required hole sizes. Should you get one with a smaller OD, the FreeCad file has a parameter for that.
5mmD 25mmF DCX lens 41.61$ Edmund Optics Price is really bad, but haven't found alternative yet.
5x5x5mm right-angle-prism 1.99€ AliExpress This replaces the surface mirror used in previous versions, look into the change history for more info. If the link doesn't work, try this one
3mm Elastic band (1m) 1,99€ AliExpress ("3mm 10meters" option) should be between 2mm and 3mm thickness, you won't actually need a meter, but cutting them to the right sizes sometimes takes a few tries.
26AWG Silicone wire 10.29€ AliExpress ("26 AWG 60m" option) Any 26AWG (or close to) silicone wire will work, would recommend least 3 unique colors though.
O-Ring OD32 CS3.1 2.49€ AliExpress 50pc ("OD32mm CS3.1mm" option) Kinda optional, it by itself won't water proof the housing, as there are other way water can still get in besides the edge of the camera-cage, but it's a start.
7mm Momentary Button 2.99€ AliExpress 5pc ("PBS-110 NO Black") option
1.25mm 5pin jst cable 2.69€ AliExpress ("5set 5pin" option)
Heat shrink tubes 1.69€ AliExpress
Additional Part for lens clip Some of the mounting clip designs may require additional parts, like longer M2 screws, check the CAD_Files/MountingClips/README.md for more info.

Build-Guide

Build Guide Video

A full video guide is also available, but I'd recommend have the written instructions open as well, as any comments or changes will be made there.

Important Notes

  • The momentary push button is now connected to GPIO8 (was GPIO21)

IMAGE ALT TEXT HERE

3d printed parts

Using a dark material which absorbs light instead of reflecting it is highly recommend.

  1. Print the Body_Shell.step, and CameraCage (The fixed-focus, or manual-focus one, depending on which one you got, Hdaniee doesn't seem to be consistent with the style of lens they ship) with a basic 0.12mm layer height profile. Change the following

    1. Wall-loops to 3x or 4x.
    2. Infill to about 22% to 35%
    3. Support to tree

    Shell_clip_and_cage_3d_printing
    I'd recommend adding extra support to the push-button mount hole on the housing shell
    Extra_support
  2. Print the periscope like shown in the picture. <=0.12mm layer height, and I'd recommend "Snug" supports.


Periscope print oriantation


After the print, press fit the prism and DCX lens into the periscope. After checking functionally, you can glue on the side cover
  1. (Optional, but recommended) print the Bikini_Cover_TPU.step out of a fairly soft TPU. I printed mine out of 95A Overture TPU

Electronics

wiring_diagram

Step-by-step

Using Heat shrink for all connections where possible is recommended.

  1. Cut the cables of the USB-C port to a length of around 80mm.
  2. Cut a 1x 80mm piece of (Red) wire. And 3x 40mm pieces of (Red) Wire. These will be your 5V-net. Strip a portion of the installation on one side so that you can twist together the 3x short pieces, then cover in solder.
  3. Cut 5x 40mm pieces of black wire. These will be your ground-net. Strip one side and combine the 5pieces, same as you did for the 5v-net.
  4. Solder the 80mm piece of (Red) wire, to the potentiometer's on-off-switch.

Poti_On_Off_Switch

(picture shows USB-C Port wire already connector, this is done during assembly)
  1. Solder the bundle of 3 (Red) wires to the 80mm piece from the previous step.

5v_net

  1. Attach the 5v wires, as well as ground to the USB-C breakout board, the display driver connector, and the camera connector, as shown in the diagram.

  2. Connect ground wires to the push-button, and on-off-on toggle switch.

  3. Cut a 50mm piece of wire, solder one end to the push button, and the other to under side, facing inwards to the esp32c3's GPIO8 pin.


Push_button

9. Cut the `brightness+` and `brightness-` cables of the display driver to a length of about 70mm, then attach them to the `on`-terminals of the toggle-switch.

Brightness_switch

10. Connect the white wire of the usb-c port to the D- Pad of the USB-C breakout board, and the blue wire to D+.

USB_C_Port_to_connector

11. Connect the RX wire of the camera to GPIO1, and the TX wire to GPIO2 of the esp32c3 board. The cables should be attached on the underside facing inwards.

UART_lines

12. Using 3x 50mm pieces of wire, connect the potentiometer to the esp32 board like shown in the schematic. Ground should be on the left, sense-wire (GPIO4) in the centre, and 3.3v on the right, that way the power goes from 0v to 3.3v when it's turned up, instead of being reversed.

Poti_Voltage_Dividier

13. Connect the Video-out of the camera to the `CVBS+` cable of the display driver. Total wire length is recommended at 130mm.

Assembly

  1. Insert the USB-C Port into the housing.

  2. Solder the 5v wire of the Port to the on-off-switch of the potentiometer

  3. Insert the potentiometer into the shell (from the inside) with the pins pointing down, and fix in place the with the Nut and washer.


potentiometer oriantation

  1. Insert the Brightness Toggle switch (horizontal orientation), and fix in place with washer and nut.

toggle switch oriantation

  1. With the USB-Port facing down, and the usb-c breakout connector inserted, insert the esp32 board into the centre slot of the shell

Shell Slots

  1. Disconnect the display from the driver, and insert the FPC through the hole of the slot for the display.

  2. Connect the display to the driver again, then insert the driver (with the wires pointing into the shell) into the slot.

  3. Insert the push-button into the slot on the bottom of the shell, and fix it in place with the nut and washer.

  4. Wrap the O-Ring around the CameraCage, and insert the camera module (with the JST connector facing down, away from the slot in the top of the cage), then fix in place with all 6x M2x4 sews. Tighten them evenly, instead of doing one fully after the other.

  5. Check if the camera cage can be fully inserted without putting pressure on the display FPC or any components inside the shell.

  6. Insert the 11x heat inserts into the holes with your soldering iron.

  7. Attach the Lens clip, Periscope, and Camera cage with the 11x M2x4 screws.

  8. Attach the unit to your NV device and check the alignment of the image. (Should the image be mirrored incorrectly, adjust it via the WebUI's "Flip Mode" setting)

    1. Attach the unit like shown in the picture, so hanging straight down from your NV unit

    bottom_hanging allignment
    1. Look at a far object (20m+ ideally), and check how well the overlay lines up with the IIT image. If the image is too far in a certain direction, the camera needs to face more towards that direction; so if the image is too far left, you need to tighten the left screws (and maybe loosen the right ones). You'll need to repeat this a few times until the overlay is well enough aligned. Should there not be enough play in the camera cage to properly line up the image, you can print the camera cage with a pitch or yaw offset, 0° to 2° pitch in 0.1°-steps are available in the CAD_Files\Other_CameraCage_Offsets-folder, but usually this isn't necessary.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published