OpenMV IDE 4.0.1
Alright! We are finally in the present with the IDE and out of the past. With the launch of OpenMV IDE 4.0.1 we are now on Qt 6.5.1 with Qt Creator 10.0.1 as the base of OpenMV IDE. This means SSL support works again along with HighDPI scaling!
I fixed a tremendous amount of bugs in the new IDE release and also spent a lot of time polishing things. For example, the scrolls bars in the IDE for Windows/Linux are not native. I had to design those and the arrow icons for Windows/Linux in regular and high DPI mode. I put the effort in for this though because it looks way better than the default - seriously. There are numerous fixes like this throughout the IDE that should make it feel really well put-together.
Anyway, here's a short list of some of the improvements:
- Updated to Qt 6.5.1
- Updated to Qt Creator 10.0.1
- Added support for High DPI Mode
- Added support for Light Mode (and Dark Mode)
- Fixed bugs with Video Tools
- Added Binary File Editor Plugin
- Added Diff Editor Plugin
- Improved Syntax Highlighting
- Improved Python Typing Experience (indentation on enter works now)
- Fixed Edge Impulse Support (and other issues related to broken SSL support)
- Fixed Sending Scripts using Open Terminal - now works for all scripts
- Improved STM32 bootloader repair (lots of folks were having issues here)
- Improved IMXRT firmware loading process
- Translated into 34 languages
- Improved installer experience on Linux
- Fixed RaspberryPi Support (support for RPI works again!)
- Fixed issues with Linux discovering serial ports
- Updated command line arguments to allow automation for factory programming
The best improvement though for the new IDE as mentioned previously is that it's now built in the cloud for Windows/Linux/Mac/RaspberryPi using GitHub actions. Additionally, we have GitHub actions setup to also digitally sign the IDE on Windows and Mac entirely in the cloud. This means I can now build development releases of the IDE by just pushing a commit. So, if you have a bug it's now easy for me to create a new release of the IDE for you with the fix. Previously, it took my entire Sunday to release the IDE for multiple platforms - now it's just 20 minutes!
About version numbers in the IDE
Moving on, even releases will be dev releases and odd releases will be actual production releases. I have to do this to prevent issues with folks installing the development release and then having an official release with the same version number.
What features are coming next?
Thanks to Qt Creator 10 will we be able to enable full python parsing in our next major IDE release. This will give you the same level of IntelliSense support like in VS Code and other Python Editors. This will make your development experience much better!
OpenMV Cam RT1060 Prototypes
Alright! Now for our production status update.
We are happy to announce that the OpenMV Cam RT1060 Rev 2 prototypes work! There are some minor issues which I will get into next. But, we feel confident moving forwards and going into production next month.
About the Prototypes
First, we got our protypes back last week... after a bunch of delays... and to our dismay... they were quite different than our released design. We authorized our CM to make minor changes to the PCB to improve the ease of production of the PCB. Like nudging some components and etc. However, this got lost in communication and they completely redid the PCB layout!
However, the designer who redid the PCB was experienced, and they used the same schematic. So, we were able to get testing done. And... basically all features work. That said, of-course, our CM rushed to fix this issue over the week and we have our original design set to ship next week which we will re-verify again before we can approve the production order.
Low Power Success
Moving on, we were able to hit the low-power numbers we wanted to hit for the OpenMV Cam RT! The OpenMV Cam RT when in deep sleep mode draws about 30-35uA depending on the voltage you are powering it at! This is incredible! This is over 3 years of sleep runtime on a 1 Ahr battery! The current draw is so low that in sleep mode you can actually unplug power and swap batteries and the board will survive for a few seconds on just it's own internal bulk capacitance.
Fixes to make for Production
We did find a few issues with the prototypes. Mainly just with low-power mode and the ideal diode onboard. Getting power rail issues right on the first shot is really tricky.
So, our ideal diode onboard has a great feature where it prevents backwards current flow from one supply into the other. Awesome! However, to implement this in silicon means that the ideal diode has to turn off briefly when switching between supplies. Just for a few microseconds... not a big deal. Except at larger current draws the voltage rail output of the ideal diode collapses. So much so, that it resets and soft-starts again which kills the output of the ideal diode for milliseconds - which causes a complete system crash.
Not great. However, we can fix this by adding significant bulk capacitance to the output of the ideal diode. Through testing I found that about 200uF on the output of the ideal diode and 200uF on the output of the battery charger is enough to prevent the system from crashing when switching back and forth between power rails when running full-bore. We were trying to avoid having expensive Tantalum caps on the board. But, we have to add them to deliver a quality product.
Please note that above 200mA of current draw this solution does not continue to work. So, if you want to pull 1A from the 3.3V rail on your OpenMV Cam (which is possible) you will need to add a battery to your design which the battery charger can use to source power like a giant bulk capacitor when switching between power rails.
Second, for low power. We used a 100K pull-up on the PMIC control line which is pulled low to turn off the main voltage regulator. When pulled low this is 30uA of current draw on the system. So, we will swap out this 100K ohm resistor for 1M ohm to get down to the 30uA total system draw shown above. We also found a resistor pull-up to VCC on the RST line becomes a pull-down to ground in low-power mode that needs to be removed which was adding another 30uA current draw.
Okay, so, once we actually get back the correct board design from our CM next week we will apply the fixes above and then go through testing again to verify everything works. So, we should be able to approve mass-production in about two weeks and hopefully start shipping near the end of September!
Finally, we will be shipping prototype pre-orders to customers now. That said, since we're getting double the number of PCBs expected I'm opening up the sale of more of the OpenMV Cam RT1060 prototypes. We will be shipping our current set of orders of these units next week and any more new orders the week afterwards.
Prototypes will receive software updates and will work with our firmware correctly. However, they will not be able to switch between VIN/USB dynamically when the main MCU is streaming video data and in low-power mode will only go down to 200uA. Other than that they should work great!
And finally, to end this blog post. At the time of writing we have 9966 people on the email list!!!
Not looking forward to hitting the next tier of Mailchimp bills though!
Anyway, that's all folks!