Unofficial, collected information about the (discontinued) DxO-One Camera, a tiny camera with a 1" Sony Sensor and f/1.8 lens.
Contribution is very welcome!
More information is maintained in the wiki.
The device is using Ambarella RTOS as its main OS for controlling the camera hardware and OLED display, and a separate Linux OS to control Wi-Fi functions. This is a quite popular chipset for (older) GoPro and other Action Camera clones as well as many Dashcams.
It seems that in case of the DxO-One, the Linux OS is mostly suspended and only woken up on-demand to connect to Wi-Fi. It might be interesting to achieve a shell to this OS, as it could allow adding wireless features (like FTP-transfer of images or 3rd party Wi-Fi control)
Ambarella OS has a own shell which can accept commands, but as the device is missing a UART-port I didn't find a way so far to connect to it (I suspect that it's possible to switch the USB-Port to UART, but I haven't found a method yet).
On power-on (sliding the lens-cover open or connecting USB), the OS looks for the file autoexec.ash
on the SD-Card and, if it exists, executes the shell-commands in it on the RTOS.
This allows to do a few interesting things, such as enabling logging, switching USB-Modes, executing commands, etc.
[!IMPORTANT]
autoexec.ash
needs to be stored at the root of the microSD-card (together with the DCIM-Folder)- Line-breaks need to be in Unix-format (LF, not CR LF)
- Each command must be finished with a line-break, so the last line of the file should be empty.
To start investigating the Device, the first step is to re-route logging to a file stored on SD-card.
The mobile App contains the firmware binary to update devices with older versions.
Unpacking the binary with gopro-fw-tools ( https://github.com/evilwombat/gopro-fw-tools ) reveals 6 files:
There's a Smartphone App accompanying the Device for iOS, and an Android-App for the (later) USB-C version of the camera.
There is a way to connect the Apple-variant of DxO-ONE to the Android App (assumed here that the Android device has a USB-C port, but it would also work with micro-USB).
Possibly, this could work with a lightning port to USB-C adapter (not tested, happy to hear if someone tried it), but there is a way to do this via the microUSB port on the back of the device.
See here: Enable Lightning via microUSB, Disable Lightning via microUSB
Limitations: