Skip to content

Category Archives: Engineering

Duinos and 2012 + GCC libraries

I was making a minor change to an Arduino based Garage door controller an discovered I couldn’t build a package with the Arduio API.  I got  an error that complained about some syntax expected identifier or ‘(’ before ‘double’ Fortunately there was an easy fix here: It appears that there was a bug in […]

blue tooth blues: logitech v470 M-RCQ142

Having problems connecting your V470 mouse to XP?

AVR Arduino RAW development environment (non IDE)

AVR development environment on Ubuntu Lucid

Y to the MAX

Okay, so I have a great rural location (QTH in ham talk) but Internet access is weak.
update: I’m going 3g rev a with Verizon.
update: Impressive, three speed test in Carpenterville OR: 2.5Mb download 0.35Mb upload. Sadly, limited to 5G a month

mprintf: A thread safe printf: mprintf library

So, I decided to take this one step further and build a library that hides the details of the mutex and variadic macro. To use the library you will need to: Go into your libraries directory and make a new directory called ‘mprintf’ Copy these two files into the new directory; mprintf.h mprintf.cpp Put the […]

mprintf: a simple thread safe printf for DuinoOS Part A: Getting a thread safe printf to work

There are lots of ways to implement a thread safe printf for DuinOS (or free RTOS). The following is a version that renames printf as mprintf. Like an fprintf function, mprintf has a leading parameter which must be passed with the rest of the printf variables. This implementation exposes the methodology used to make printf […]

mprintf: a simple thread safe printf for DuinoOS Part A: Getting non threaded printf to work

I thought it best that I document how I got printf to work and how I made it thread safe for DuinoOS (or freeRTOS for that matter) Getting non threaded printf to work. printf makes use of a file handle called stdout. This file handle is null unless we do something to change its value. […]

Radio and electronics

Radio and electronics has such a nice ring to it.  I remember being shown by my grandmother, how to tune this giant radio she had.  It was in a huge cabinet and at my eye level I could look right at the big semi circle dial with lots of lines.  There was a knob that […]

How does an Atmega boot?

The bootloader (stk500) used by arduino and other atmega vendors allows for self modifying code.  Normaly not a good idea, however, being able to use your atmega to load code onto the very same chip is extremely handy (think, in the field re-programming and programming your chip without a flash burner) So, how does all […]

The devil is in the details: Atmega startup to freertos

Figuring out why something breaks usually involves understanding how it is supposed to work.  Sure, it was easy getting my first Atmega328 code running using Arduino.  Getting the DuinOS version of freeRTOS was a little bit more of a challenge but ran remarkably well given its alpha state.  Getting a printf function to work using […]