Completed projects

Distributed data acquisition system

This is a mesh-network of 100 remote devices with temperature sensors and 20 hubs. Each remote device can act as re-transmitter. All remote devices sleep 99% of the time with few micro amps current consumption. Within fixed time period they all wake up and listen to the ether. Then go asleep again. Hubs are powered up all the time and connected via RS485 and Modbus protocol.

Mesh-network based on AODV routing protocol (this protocol is also used in ZigBee). Polling digital and analog inputs, DS18B20, saving digital outputs' state.

MCU: CC430F5137
Radio communication protocol: own with AODV routing
Communication of local hub with PC (PLC): RS485 → Modbus
Software for PC (control all the network): C++ and Qt for GNU/Linux and Windows
Cc430

Intruder Alarm System

The device has 4 inputs to connect sensors. When the sensor fires – device send a report to the server (software in portfolio below). The device has many configurable options such as logic where and when send reports, turn on/off siren and many others.

MCU: LPC1768
Communication protocol: Ethernet → TCP/IP
OS: FreeRTOS
Communication with PC: RS232 and USB (CDC)
Additional interfaces: own 2-wire synchronous interface used for communication with external devices (keyboard, backup transmitter, inputs extender, etc)
203

Intruder Alarm System – next generation of the previous one

More functions and options: connecting more external devices, SD-card for logging and firware updating.

MCU: LPC1768
Communication protocol: Ethernet → TCP/IP
OS: FreeRTOS
Communication with PC: RS232 and USB (CDC)
Additional interfaces: own 2-wire synchronous interface used for communication with external devices (keyboard, backup transmitter, inputs extender, etc)
8804

Server application to receive messages through TCP/UDP from intruder alarms

Receive and parse messages and send to monitoring software via TCP, physical or virtual COM-port. Also, buffering then in SQLite database.

OS: Windows and GNU/Linux
GUI front-end: Qt
Back-end: daemon in GNU/Linux and service in Windows in C++ and boost libraries
Database: SQLite
Virtual COM-port in Windows: VSPE library
Communication with device: TCP and UDP
Serv

Yet Another Audiobook Player for Android

Very simple ads free open source audiobook player. Just open folder with audiobook as a bunch of mp3 files and play it. Remember position for every book.

Donwload in Google Play and check out source code.

OS: Android
Yaap

Simple audio capture device based on TI Stellaris LaunchPad

Capture a sound from microphone with built-in ADC and send raw data to PC via USB

MCU: TI Stellaris LM4F120
Communication with PC: USB
Software for PC: in C for Windows and GNU/Linux

Open Source demo application for LPC17xx using LPCXpresso IDE

Source code for LPC176x and LPC177x_8x

  • FreeRTOS 7.3.0
  • CMSIS 2.00
  • LwIP 1.4.0 with DNS and DHCP enabled
  • SMTP client, supports unicode and auth login
  • Telnet server with users authentication, uses FreeRTOS+CLI
  • LPCUSB stack used to create CDC device
  • AT45DB081D dataflash driver based on EA BaseBoard demo
  • FatFs and SD card driver (supports SDHC)
  • SysLog daemon, uses UART0, UART3 and USB Virtual serial port, file on SD card as output by default
  • Real-time clock as daemon task uses main oscillator
  • RFC868 time synchronize protocol to set up the time, supports timezones