Developing firmware for an embedded device requires a lot of testing. Processors capable of running full-featured operating systems are much more complicated than smaller controllers (but obviously also are more flexible). Some tests can be done on the host machine, but in most cases (especially related to specific peripherals), it is best to run tests […]
Read MoreEthernet camera module build log #4 – Storage
Buildroot is a simple, efficient, easy-to-use tool to generate embedded Linux systems. Allwinner S3 system can boot from: SD Card 0 / SDC0 SD Card 2 / SDC2 SPI NOR Flash / SPI0 SPI NAND Flash / SPI0 USB boot SD Card SOC checks each boot device in a sequence. If the boot step fails, […]
Read MoreEthernet camera module build log #3 – Network
Was debugging strange Ethernet behavior. The driver reported the opposite status of plugged RJ45 cable. It turns out I did not have a 100M RJ45 connector with integrated transformer and soldered 1000M by mistake. Good thing Würth Elektronik delivered new connectors very rapidly. And after a quick rework job network is alive! JBC C245-949 cartridge was very hadny to […]
Read MoreExperiments with parfocal motorized zoom lens
Motorized zoom camera C1_PRO_X18 has two independent stepper motors for Zoom and Focus control. More specifications can be found in the documentation area. By design, this varifocal lens means the focus will be lost after the magnification motor is moved. However, the lens has linear rail reference points and it is possible to calibrate the lens so it will behave like […]
Read MoreMaking fine pitch PCB prototypes with fiber laser
There are quite a lot of inexpensive and fairly reliable PCB manufacturers that can produce double-sided PCB’s with solder-mask and silkscreen in a day or two, but what if you need it now? I will not cover expensive prototyping machinery nor messy printer/etching process instead let’s use a 20W Fiber laser. Because… who does not […]
Read MorePulling full resolution from a webcam with OpenCV (Windows)
OpenCV while being the most popular tool for a lot of machine vision applications it relies on a third party and some poorly maintained code. Capturing MJPEG compressed video from a UVC USB camera was always the case and it did not work or worked with some issues. This situation is especially bad for Windows OS. […]
Read MoreMeasure linear rail quality with camera and excel
No matter how precise and rigid your mechanical system is, it will always have some imperfections. These imperfections can be measured and described. If measurements show opposite it means your measurement tools are not precise enough or you are doing it wrong. There are a lot of expensive and highly specialized tools to measure every […]
Read MoreUVC camera exposure timing in OpenCV
USB cameras can have the exposure set to manual (cheaper ones have only full auto mode). It’s a pretty straight forward function in OpenCV, but insufficiently documented thus hard to find exact times and calculations. Also there are two major implementations for Linux and Windows. Linux – exposure times are set in units 1/s (all […]
Read MoreC920 rework kit updates
Recently updated C920 webcam version was released featuring new PCB. These changes introduced two unexpected issues: wiring is different and new PCB has mechanical interference with aluminium rework kit back plate. Test-point locations If you rework webcam by yourself, please use pin-out diagram as pictured below to solder wires. TP24 – VCC TP26 – USB […]
Read MoreHow to capture 30fps with Kurokesu cameras in David-3D
When talk comes about 3D scanning everybody knows David-3D software. It’s a pity but it lacks trivial camera control options like selecting MJPEG mode and stuck in YUYV uncompressed mode, this limits performance to low frame rate (about 5 fps). David-3D software does not like it and refuses to scan. It was an issue and […]
Read More