Streaming camera video from an Arduino Giga

A close friend has been trying to get a video feed from an Arduino so he can make astronomical observations from a gizmo he has made that will sit in the garden and observe the video in the house over USB.

We tried various methods including using the Processing app but did not have any success. The release of the Arduino Giga with Display Shield and onboard plug in camera (OV7675) has changed things. Using these integrated modules with the OpenMV application produces good quality video over the USB connection. An image of the Giga from the Arduino website is shown below.

There is a write up on using OpenMV on the Arduino forum. This is easy to follow and works very well. If I understand it correctly OpenMV loads specific firmware into the Giga rather than an Arduino based code uploaded in the normal way.

There are a few minor things to watch out for. The Giga seems to like a double reset to clear out any existing code before loading the OpenMV code. Likewise when reverting the Giga back for Arduino use you must also do a double reset.

As mentioned in the article you need to load the display.py demo example code but the demos are not available for selection until OpenMV detects the board in use. Once the boards is detected you will get details on the bottom status bar.

The other minor thing that is not immediately obvious …. if the video and the histograms are not present on the right hand side of the screen you need to drag them into view using the side arrow.

Here is a screen shot showing the code on the left hand side and the video feed and histograms on the right hand side,

The Arduino Giga is a very sophisticated module and the various example sketches that are available to run on it are impressive. It will certainly stretch my ‘cut and paste’ coding….

Links to similar or related post are listed below : –

Arduino Giga Display Shield and lvgl.h

When the Arduino Giga appeared on the market with its associated glossy Display Shield it looked like a programmers dream.

I am not a programmer. Sitting down to do a software project to me is like writing off a large lump of my remaining MTBF.

John, my close friend in France, is an also ran in this respect. We both fumble around doing cut, paste and edit development and end up with some quasi stable code that might do the job intended.

So joy of joys the Giga appeared and John got excited … which rapidly degenerated into acute frustration, hair pulling and suicide by software tendencies.

I got sucked in to help – blind leading the blind.

I tried running all the Arduino demos for the Giga Display Shield and after an inordinate length of my life had passed I concluded that any sketch with ‘#Include lvgl.h’ in it would be unlikely to run.

Slight digression. What is not made generally clear is that with lvgl library you have to edit the lv_conf_template.h file and re-save it in the Libraries folder as lv_conf.h. The edit is simply to change a 0 to a 1 and instructions are in the text at the top of the file listing. This edit enables lvgl. I spotted this and duly did as directed. Still no joy.

Out of desperation I deleted the lvgl library version 9.0.0 and replaced it with the 8.3.11 version. I then had to do the 0 to 1 and do the Save As etc routine again….

To my huge surprise this worked . See below as a simplistic overview of the changes needed.

So progress has been made and there are some nice demos to watch now that they are running OK. Note that the Arduino IDE will constantly tell you there is a later version of the lgvl library but you have to ignore this and opt for manual update. If 9.0.0 does get loaded you will have to go through the above process again to the extent of removing 9.0.0 and replacing with 8.3.11 but the edited lv_conf.h file will be unaffected so you don’t have to repeat the edit and Save As process … hopefully someone will fix it in the near future.

I would further add that not all the published demo sketches work. If you want a reliable sketch to demonstrate the camera onto the Giga screen download from Kurt’s depository on the link below.

https://github.com/KurtE/Arduino_GIGA-stuff/blob/main/sketches/GigaCameraDisplay/GigaCameraDisplay.ino

Conclusion – maybe metal bashing, Fusion 360 and 3D printing suddenly have a much more attractive appeal.

Links to similar or related post are listed below : –

Verified by ExactMetrics