Calibrating accelerometers and magnetometers

When deriving sensory data from IMU chips it is always an issue that the gain and offset of the readings is not known, and varies from chip to chip. I have written a short Python script which uses a least squares fit to calibrate these devices. All you need to do is capture a set of XYZ readings while moving the device through different orientations, and put the readings in a text file. You can get this script from my github.

Two-wheeled rolling robot

I am passionate about machine learning, intelligence, and robotics. I have a number of robot projects on the go. I wanted to build a platform that would allow me to do a lot of complex experiments on sensor fusion and creating intelligent emergent behaviors. I needed to make a robot that has quite a number of sensor inputs, but not so many that it would overload the processing capability to do anything useful. I decided to make a simple two-wheeled robotic platform that has a lot of flexibility and load it up with appropriate sensors.

One of the aspects of my robotics philosophy is that information from simple sensors can be highly informative and that current robot designs jump too quickly to complex high bandwidth data sources and they then do a marginal job of interpreting the information from those sources in software. I am inspired by insects and other small creatures that seem to have small numbers of sensors, for example eyes with only a few photoreceptors, but still have very complex adaptive behaviors which are often leagues beyond what we can do with today’s machines. Part of this is due to the efficiency with which they extract every little bit of useful information out of the sensory data, including correlations we would never think of. I am interested in applying experience gained from machine learning in order to extract from sensors information that could not easily be determined by using hand coded algorithms.

Rolling RobotMy rolling robot has two wheels and these have wheel encoders to give a feedback of position or wheel rotation speed. It also has an infra red range finder that can indicate the Continue reading

How to read old EPROMs with the Arduino

I’m struggling with a health issue at the moment so I’m doing some some small projects to stay sane…

I’ve been helping a friend fix old pinball games which typically make use of 8-bit micros like the 6800 or 6502. Often we want to know what’s on these old ROM chips that even some modern device readers can’t easily scan. I built a shield for Arduino that can read them by listing the file over the serial link. The only components other than the Arduino Uno and a prototyping shield were a couple of 74HCT573s and a 24-pin socket.

EPROM reader shield Continue reading

Calculating Engine Accepted at Maker Faire

Maker FaireI received the good news that my Relay Calculating Engine has been accepted for showing at the Maker Faire in San Francisco in May. I’m looking forward to taking it down there and showing it to interested people.

Make Magazine also interviewed me about this project and plan to feature the work too. I’m excited to see what they write about it.

My main concern is to finish it and get it all working in time for May. This should not be a problem since I currently have the luxury to be able to work full time on the project and at present, I am about 90% complete.

I hope that you can come along and check it out. I will also be showing some of the other projects on which I have been working. I’ll also be attending the Seattle Mini Maker Faire, but not showing anything off there.

Light, Antennas, and Holograms

Optical AntennaIn a previous post I talked about the use of nanoscale antennas for solar power collection. In this post I want to mention a few other ideas which relate to our new-found ability to manufacture extremely small-scale structures using processes in nanotechnology.

Technology is getting to the point where we can manufacture structures on various substrates that are only a few nanometers in size. Certainly it is now very easy to layer conducting elements on silicon which are smaller than a micron in length. In 2011 silicon technology reached the 22 nanometer length scale for CMOS processing. This corresponds to half the distance Continue reading