Learning about accelerometers and gyroscopes

Accelerometers and gyroscopes are commonly used sensors where some sort of balance is needed. Combination of both in one board is called IMU (Inertial Measurement Unit). You will find one on flight controllers, balance modules and in many other areas. If you are going to build something from scratch then you should know some background information on how to interpret readings and how to use them in control. Gadget Gangster have shared pretty good instructable where he explains how to interface IMU device to microcontroller and how to use this data to get desired results.

IMU_tutorial

As example he uses Acc_Gyro board with LIS331AL triple axis accelerometer and LPR550AL dual axis gyroscope. He goes through some math while explaining how to determine orientation of IMU using either only accelerometer data or combination with gyroscope readings. Plus gyroscope gives some clue about rotation around one or another axis. SO if you are thinking of building inertial system, you should do your homework and understand hos things work.

Read

Raspberry Pi Compute module

Raspberry Pi has been very popular small computer board. It’s initial layout is quite flexible that allows it to use as standalone computer or embedded device with controllable I/Os. Probably standard Raspberry Pi is more oriented to be small single board computer, where you can connect peripherals like keyboard, mouse, display, Ethernet. The I/O part seemed to be left on a side. Eventually extension boards started to appear to fill the need of functionality like ADC, DAC, more digital I/Os. Eventually you end up stacking stuff on top like Arduino. But we like elegant things don’t we? So Raspberry Pi team has been working on different Raspberry Pi concept – Compute module. This is smaller module which have same BCM2835 processor, same RAM. Instead of SD flash there is a 4Gbyte flash memory. Practically this is it. Module is traced on DDR2 SODIMM sized PCB which actually fits this connector.

It has no external connectors like Ethernet, USB or audio but there are way more GPIOs. Module can be snapped in to any custom made I/O board that can have more controllable I/Os or interfaces like found on standard Raspberry Pi. So definitely module will have to go along with custom I/O board. It will give even more freedom to community. They’ve also taken care of example I/O board to get started.  

Read

Developing Teensy 3.x projects with CodeSourcery

Teensy 3.x boards are powerful small modules that have breadboard footprint, but carry ARM Cortex- M4 microcontroller. The only problem most advanced developers may find is that it is made ready for Arduino IDE. Arduino doesn’t seem very convenient for serious projects. IDE is far from being useable. Also Arduino programming style hides many important things that aren’t optimal in many cases. So how to benefit from having Teensy3.x and avoiding Arduino nature? Simple – go with bare-metal programming. This might scare a little at the beginning as it needs setting things up by yourself like compiler, make files, linker.

teensy31_bare_programming

Karl have done most of this work by setting initial template for CodeBench Lite from Mentor Graphics. He’s using MS Visual Studio 2008 Express as IDE which provides all professional editing capabilities. He has made a blinky demo program to start with. Prorgams can be flashed with existing Teensy Loader application. By bare-metal programming you can be sure that you can squeeze most of microcontroller.

Read

Did you finish your digital thermometer?

I have noticed that there are lots of temperature sensor projects out there in the internet, but the question is how many of them end up to be left on breadboard. I also found myself not hawing one that I could do simple temperature readings when ever and where ever I need. Lets see another simple temperature probe which is also a breadboard prototype. But with some work can be made in to portable probe.

rahulkar built this thermometer using Attiny85 microcontroller and LM35 temperature sensor. His probe is able to measure temperature from 0 to 150ºC or in Fahrenheit (selectable with button). Since Attiny is small IC he used MAX7219 7-segment LED display driver which accepts serial data. So he placed five digits to display full range of temperatures. He programmed Attiny85 with Arduino code which takes only few lines. To make probe more useful I would change circuit a bit to extend temperature range to negative as sensor can measure from -55 to +150ºC.

Read