Three-Axis Miniature USB Accelerometer Board

Accelerometer board

Hardware characteristics

Software characteristics

Micro-controller-based VGA signal generator

DCAM Khepera Camera Module

camera on khepera
Module mounted on the Khepera robot

top pcbpcb bottom
Top and bottom PCBs


Architecture of the camera module (inside the dashed block). The module is composed of a CPU, the camera and a RAM which serves as a frame buffer. Glue logic implemented in a CPLD is used to grab the pixels coming from the camera and store them in the RAM. The RAM is mapped in the address space of the CPU, therefore the CPU can access transparently the whole grabbed image. The CPU interfaces with the Khepera robot (e.g. to send motor commands or read sensors) and with the POEtic chip (a custom ASIC) or a desktop computer (e.g. to send images and receive robot commands) over two serial lines.

The camera module contains a 16 MHz 8-bit RISC CPU (Atmel ATmega64L), the camera itself (OV5017), a 512KB SRAM, and a CPLD (Altera EPM7256) which is used to implement interfacing logic. The high-level architecture of the camera is illustrated in the figure.


The task of the operating system (OS) of the camera is to transmit over the serial line the camera images and the sensory information of the Khepera. At the same time it listens for commands received over the serial line.

Commands received over the serial line can be motor orders for the Khepera robot, or changes of parameters of the module (e.g. size and position of the frame to transfer). Commands consist of packets of 5 bytes where the first byte indicates the operation (e.g. motor command) and the following bytes are command-dependent parameters (e.g. motor speeds).

The operating system continuously reads the sensors of the Khepera robot in background (proximity and floor sensors, wheel speeds), and mirrors their state in local variables. Each time a new frame is acquired, the operating system streams a data frame containing the desired part of the image and the mirrored state of the Khepera sensors on the serial line.

Several image transmission modes are implemented:
Images provided by the camera module in 384x288 with different compression ratios. Left: uncompressed image. Right: JPEG-LS with a maximum pixel error of 15.

Miniature weather station

The "weather station" project underwent several revisions, with extra sensors, and including a change of micro-controller family between version 1.x and 2.x.

Version 1.0

Version 1.1

Version 2.0

Miniature text scroller

Simple "toy" device powered by a coin battery that displays a scrolling message on a 4 character LED display.

Digital I/O board for HP48

Memory mapped I/O device: 8 digital inputs and 8 digital outputs.

Temperature sensor board for HP48

Memory mapped reading of the temperature.