Walkera X-Z-18 internals
Tuesday, December 30, 2014
The Walkera X-Z-18 camera is a very cheap and simple flight recording camera. It is intended for usage with Walkera’s Hoten-X or Ladybird quadcopters but it can also be used with other copters.
See this post for how to install and use it.
I’m always interested in how thing’s work so the following post describes some internals of the X-Z-18 camera.
Click on a picture for a larger view
- an ARM SOC (ANYKA AK-1120Q) (info)
- a 512K serial EEPROM containing the firmware (G25Q40) (info)
- a 0308 camera module (info)
- a microphone and a SD-Card slot
There are not many informations about the used components freely available but the overall design looks a lot like cheap chinese 808 car / keychain cameras. This site (http://www.chucklohr.com/808) contains a wealth of information about such cams.
Interestingly, there are unused USB and serial ports available on the board. By connecting the USB port to a PC the X-Z-18 acts like a USB stick providing access to the SD-Card content from the PC. It is also possible to use the X-Z-18 as a webcam by using the correct driver. Unfortunately I was unable to find the right one somewhere on the internet.
Mini USB pinout 1 - VCC 2 - Data- 3 - Data+ 4 - ID (NC) 5 - GND
There is also a serial port available which seems to be a console to the ARM SOC. Connecting a terminal with 115200 baud, 8 databits, no parity and 1 stop bits a lot of information is output during power up / boot of the camera as well as during actions like taking photos and videos.
Serial Port pinout 1 - VCC 3.3V 2 - TX (115200 8N1) 3 - GND
It would be interesting to extract the firmware for the AK-1120 SOC from the SPI flash for further analysis. These SOC’s are quite powerfull and provide a lot of possibilities for modifications as described here http://www.computersolutions.cn/blog/2010/08/firmware-hackery-on-keychain-spycams-ak36xx-based/.
Below is a sample console output during power up of the camera:
RM2.0.0 sflash param page size:00000100 erase size:00010000 progarm size00000100 flag: clock:02625a00 pro_mask:0000001c pgm init OK! asic clk: 05b8d800, spi clk: 016e3600 ######FirmWare information######### ##FirmWare Version:V0.0.7 ##Chip of Current FirmWare used for: AK1120 ##1.5V reference voltage used: internal ##power supply mode: internal LDO ######FirmWare information show end######### VME_Main ACR1:0x01010053 refVol:ox00000001 batDiv:0x @@DAC_Init() Detect Init avdd:33 off:0 *** This is userware *** Version 1.0 Serial trace is active!!!!! LoadMem_Init. Mount_Lib_V2.0.3B Get FSLib - Version: EXFAT_V3.2.6_SVN1245 This card's capacity is 001dc000 SD Card Mounted! initinit_system Init OK! exit from vme_main() 0 0 exitinit_system VME_SystemInit initinit_power_on handleinit_power_on:1001 paintinit_power_on exitinit_power_on asic clk: 00375028, spi clk: 001ba814 usb cable state:0 asic clk: 03750280, spi clk: 01ba8140 Capacity High:0,Low:801341440 into initcam_preview asic clk: 06ea0500, spi clk: 01ba8140 Get Max count:19 get max:6asic clk: 03750280, spi clk: 01ba8140 asic clk: 06ea0500, spi clk: 01ba8140 Get Max count:19 get max:37asic clk: 03750280, spi clk: 01ba8140 640 480 640 480 JDrv_EncInit::jpeg head Malloc Size = 1024 JDrv_EncInit::jpeg head Malloc Success! øððøcamera probe id = 0000009b, device id = 0000009b match camera, id = 0000009b