The virt2real controller, Virturilka


The virt2real microcontroller, or virturilka, is a miniature board for creation of WiFi or internet controllable smart devices.

The board boast unique features, including tiny sizes, easy connections for any peripheral devices, native video processing, and a full operating system on board, opening a vast realm of possibilities for creation of systems with artificial intelligence.

It can be used both by newbies willing to master the basics of programming and cybernetics, and by programming experts.

Using this board, enthusiasts can breathe life into common devices. For example, take a simple radio-controlled car, install a board with a video camera on it, and you have a device, which can be controlled from your PDA or laptop through the internet (for example, connect from work and see how things are at home). Need something a tad more exciting? Install it on a helicopter, add LTE connectivity, and you have a helicopter remotely controlled via the internet. Need a baby monitor to observe your child - just put the device in a suitable casing, and that's it. Want to build a robot that makes its own decisions and recognises your face? Or DVR in your car, so you can connect remotely and see what's up? Easy! See what is going on in your holiday house and switch off the lights you forgotten? As simple as it gets! The range of applications is simply enormous!

Electronics and internet technologies are developing at a astaggering pace. Keep up and use virt2real to realise your wildest dreams!


The most complete description and examples of use can be found in our Topic on Habrahabr

Currently, we are working on the final version of the board and organising its first edition.


Technical specifications
The virt2real device, also known as virturilka, is buit around a Texas Instruments DaVinci family TMS320DM365 processor. It is possible to install a more powerful modificaion, the TMS320DM368 (400Mhz), since they are totally compatible by socket.

Since the use of controllable hardware on board was planned from the very beginning, the board lacks a digital video out port, although the processor allows for one (HDMI). We might add one to a special edition of the board. However, it comes with an analog video out connector, meaning video can be transmitted through an analog video transmitter, which is pretty relevant when contolling over great distances.
The board (the contorller itself)
The device has two storeys.
The first level is the main board, on which all the main modules are mounted. The board has ten layers.
The second level is an expansion board. It is developed separately for each specific use, in case of serial production of a specific device. Currently, the second level is a common one for DIY use. It is connected to outputs from GPIO, RG45. It has power chips mounted on it and connected to terminal blocks for connecting power loads - motors, light bulbs, etc.
Dimensions: 70х42х10mm (first level)
ARM9 210-300Mhz (ARM926EJ-S rev 5) On-Chip L1 Cache 32 KB (ARM9)
ARM® Jazelle® Technology
Command cache size — 16Kb
Data cache size — 8Kb
Size of embedded memory — 32Kb
Little Endian
Two video co-processors (HDVICP, MJCP)
Real time clock PRTCSS (Power Management and Real Time Clock Subsystem)
Four 64-bit general purpose timers
One 64-bit Watch Dog timer
The processor is based on 65nm technology.
Extended temperature range (-40°C to 85°C) (for an industrial design version of the processor), for the regular one -
MJCP and HDVICP hardware acceleration
Hardware support for H.264, MPEG4, MPEG2, MJPEG, JPEG, WMV9/VC1
D1 and lower video encoding resolution, 720p (1080p for DM368) 30 fps
Video subsystem
4:2:2 (8/16-bit) interface
8/16-bit YCC up to 24-bit RGB888 digital output
Hardware On-Screen Display (OSD)
IPIPE (IPIPEIF) interface
ISIF (Image Sensor Interface) and CMOS Imager Interface
Histogram Module
Lens distortion correction module (LDC)
Hardware 3A statistics collection module (H3A)
Composite NTSC/PAL video output
Component video output (corresponding signals routed to the second storey, but end-user support is still to be implemented)
LCD (supported by the CPU, but  not used in the current version of the board. Will be enabled in future versions.)
DDR2 128 — 256Mb
NAND 256Mb
Interfaces and Peripherals
GPIO - 51 pcs. 3.3V and 1.8V logic levels
PWM - 4 pieces
SPI - 5 pc
UART - 2 pcs
DAC - 3 pieces
ADC - 6 pieces
USB 2.0 High-Speed ​​host port
Analog component video output
Analog composite video output (max 480p)
CQ93VC audio codec (AAC-LC, G.711, MP3, WMA)
Audio line-out (mono)
Speaker audio output (mono, 300 mV at 8 ohms load)
Analog audio microphone input
10/100Mb RJ45 Ethernet
Input for digital cameras
WiFi b/g (HDG104 chip)
Power load connectors (for motors) (Three L293D chips)
McBSP interface (Multi-Channel Buffered Serial Port)

Currently tested OV7690, OV7675 (8-bit bus), ov9710. Generally, any should work on 8/10 bit bus, if you have the appropriate camera driver.

2.8-15 Volts. Current consumption (main board with WiFi on) at a voltage >5V - 220mAh. When the supply voltage is less than 5V, current consumption is higher. The power supply circuit is based on the SEPIC scheme, which can either increase or decrease the supply voltage in order to provide the required voltage in the circuit, for example, on a 3 volt supply the board will still output the required 5V to USB.
Extension modules
In general, the second storey has been designed to allow easy implementation of all kinds of specific requirements for a variety of user applications. Different supply voltages and interfaces are routed to the second storey, while using standard PLD connectors with a 2.54 mm step. If one really wanted, one could design, draw, print, and solder a board fit for their particular purpose, on their own, at home, - there are almost no requirements for it. Thus one qould get a compact device with a powerful processor to serve their purpose. Alternatively, one could integrate the board in their own project. All necessary information will be provided. No need to dig deep intogo into the works of the processor and its peripherals.

Operating system
SDKs: RidgeRun (currently), MontaVista, Arago/OE, Angstrom.