Design, Build, Test, Iterate

Posts Tagged ‘Arduino’

Burning an Arduino bootloader to an atmega328p with an AVRISPmkII in Arch Linux

This is another braindump post, so my sentences may be a bit haphazard. In the scramble leading up to the IARC, I donated my Arduino’s atmega328p to the Aerial Team, which subsequently fried the chip. I ordered a new chip from Digi-Key a few days ago, but without the Arduino bootloader, I couldn’t upload sketches […]

Reduce noise on Arduino 400 kHz I2C with external pull-up resistors

Yesterday I wrote about how sensitive the I2C bus was to noise induced by merely touching exposed leads with a finger.

Increasing Arduino PWM frequency using the Timer library

If I had any real AVR skills, I would be able to generate a PWM signal of whatever frequency using the three (four?) timers in the ATmega1280 on my Seeeduino. Since I do not, I have to use the Arduino Timer library to generate PWM signals of arbitrary frequencies. Lately, I have been worried that […]

Faster I2C on the Arduino

The Arduino I2C library is configured, by default, to 100 kHz frequency I2C. We can increase this to the more modern 400 kHz by changing TWI_FREQ in the Arduino I2C library from 100000L to 400000L. It used to take around 1500 microseconds each for my Seeeduino Mega to read six bytes off the accelerometer and […]

Kiwi drive robot, resurrected!

Two years ago, I started building a three-wheeled, omnidirectional, “kiwi drive” robot as a school project. For various reasons, I put the project on hold, while things like chemistry and flying machines distracted me. The parts sat in a drawer, unforgotten but largely ignored. ..Until last Monday.

A better Serial.print() for Arduino — making it work

Finding solutions is not always a trivial process, and once found, it is often the case that the solution Just Doesn’t Work. (In fact, just as I typed the above, my laptop decided to freeze up and die. I was going to refer back to my terminal outputs while writing the rest of this post, […]

Tricopter: Debugging

I spent three solid hours trying to figure out why I could no longer control my tricopter. I checked my code over and over again and even put in the 5V regulator in case the problem was caused by the 5.5V output of the ESCs with which the Seeeduino is powered. Then I tried running […]

Global constructor bug in GCC 4.5.1

I’ve recently returned to programming my Seeeduino Mega (ATmega1280) for my tricopter. Yesterday I discovered that every time I included serial code in the sketch, the sketch seemed to freeze as if it was not running the loop(). After several hours, I identified the source of the bug to be in the gcc-avr compiler that […]

My first robot!

My first electronics project, for that matter. I am currently taking an electronics class at my high school, and as part of the course, we are required to order and build an electronics kit. Since the kits provided were, in my opinion, too easy for me, I decided to order my own parts and build […]