Services

Our expertise covers a wide range of programming and electronics domains, and you’ll find a selection of these below.

The preferred approach is one where we’ll discuss your needs, elaborate your specific requirements and provide a fixed flat fee quote. The 3 steps to a great product HOWTO can help you prepare to create a sweet system and find out more about what to expect.  Contact us to learn more.

Electronics: Circuit design, PCB prototyping, embedded programming

Here are just a few samples of what’s been worked on in recent years.

Location-aware Asset Manager

This module combined BLE, cellular connectivity, GPS and sensor data to provide asset management in a package no wider than 2.5cm.

 

The system was designed to interact with a cross platform mobile application in order to authenticate use and, when required, report back its location through the cellular network.  An early demo and description can be seen here:

High Throughput Remote Sensor System

This module and mobile app was created as part of an Australian University’s research project looking into merging wearable tech with their newly developed nanowire sensors.

 

The system monitored up to ten sensors, providing data to the app in real-time through bluetooth low energy or storing the values in flash for later retrieval, and managing external I/O pins at the behest of the app user, while the app itself was responsible for graphing and sharing data with the cloud.

 

 

 

 

Network Monitoring and Control

A small run of prototypes in various configurations for this system, which features Wi-Fi and Ethernet connectivity, it’s own access point and webserver, a full suite of networking tests and reporting as well as a cross platfrom management application.  All application logic is hosted on an ESP82566.

Instrumentation

Tools and instruments, such as this wireless, contactless angle calculating device based on high-resolution optical sensors.

The module was designed to provide precise measurements while being modular, so we could swap out different sensors depending on testing and requirements. One of the early trial runs can be seen here:

 

Vehicle Fleet Management and control

kfKeyless vehicle management system, that allows fleet managers to distribute digital keys rather than physical ones to control access and act as a remote starter, through a smartphone.

The on-board hardware module is a low powered, plug&play component that can interact with any Bluetooth 4 device and may be upgraded remotely, using a cryptographically transmitted and verified firmware.  A very wide range of vehicle makes and models are supported, either through a data bypass or wired directly.

Key technologies: Bluetooth Low Energy, vehicle immobilizer bypass, Atmel XMEGA.

 

POVLog

Position- and orientation-aware handheld imaging system that allows for the automated creation of virtual environments based on data captured on-site. Captured data is stored on SD cards, and the system provides both a field UI and a configuration and control GUI for the desktop.

plprojcomps

Key technologies: camera control, GPS, (3-axis) accelerometers, gyroscopes and magnetometers, Atmel XMEGA.

Handheld visible light translator

acid

 

Handheld device which translates light colour into sound (and usable data, using SPI), useful for the vision impaired, as a colour detection sensor for other systems and more. The system combines a real-time tone generation/colour sampling program, written in C and running on an AVR microprocessor, with the colour sensor and supporting hardware.

Key technologies: TCS3200 sensors, Atmel mega328.

Open Source

A host of open source tools, projects and libraries, most of which are available through http://flyingcarsandstuff.com/

Gaming Servers

Multiplayer turn-based games server, mobile clients

multiplayergamingAuto-scaling cluster of multiplayer rooms for turn-based games (optionally featuring in-game chat, purchasing, betting and more), along with support systems (authentication, directory, account management, etc). The core libraries and communication layers are implemented in C++ and re-usable on both the server- and client-side (desktop and mobile), and are wrapped and exported as Python modules. Business logic and interfacing with the NoSQL db is done through the upper-layer (in Python) which allows for rapid prototyping and expansions to the system.

Each server can host a theoretical maximum of over 30,000 rooms (each with anywhere between 2 and 10 players), and “wings” of rooms are decoupled such that any number of servers may be added to the group dynamically.

Initial games implemented are card based, but any group or turn-based game can be rapidly added as all the game logic runs in Python drivers, while leveraging the extensive functionality of the core libraries for service management, client-server communication and game implementation.

Key Technologies: Boost, EncMQ, Google protocol buffers, ZeroMQ, MongoDB

Social gaming platform and universe

Multi-user and multi-interface environment for social gaming, including everything from the underlying network architecture and database repositories up to APIs for UI clients (on platforms like iPhone/Android and facebook/myspace through Flash).

socialgaminguniverse

The system is designed to accommodate tens of thousands of simultaneous users (millions of accounts), and implements game logic and independent scripted modules using a loosely coupled event notification system and multiple observer processes (for marking the passage of time, awarding achievements and generally applying the “laws of physics” of the virtual universe).

 

Backend/Databases

GraphDB-backed knowledge management and extraction Server/Data

High-availability, massive graph network database, linking people and objects in multiple complex webs of relations. Machine learning subsystems are used for classification and feature extraction, as well as unsupervised learning for clustering and frequent itemset determinations.

graphdbsystem

The Titan graph database, with a Cassandra distributed db back-end, is used to store the graph data while a Rexster/Bulbs interface provides low-level tie-in for the model layer. Cassandra is also used as the storage engine for globally distributed media and archive repositories.

Designed to be highly scalable and mine very large datasets, much of the processing is accomplished through a Hadoop cluster running Apache Mahout (scalable machine learning) algorithms.

Key Technologies: Mahout, Hadoop, Titan Graph db, Cassandra

Mac POS/Licensing Server/WebStore tie-in

mac_posRe-engineering codebase from a monolithic to a client-server architecture, using a (Python-driven) RESTful XML API server sitting atop a Postgresql database in conjunction with a Cocoa client.

Instrumental in releasing a reliable and flexible product implementing the transport layer, flexible job scheduler, payment processing, gift card system, all the POS resources, and distinct components such as a separate, secure, licensing servers.

 

Publications

• Linux Journal, December 2004: Developing for the Atmel AVR microcontroller on Linux

• SysAdmin Magazine, October 2003: VOCP Command Shells — Managing Your Systems through the Telephone. Featured Article.

Leave a Reply