Hey everyone! Very long time, no posts! This will hopefully be the beginning of a revival of my blog, since I will probably have more time after finishing high school and starting college. Where am I going? Michigan Tech! Yes, that place in Michigan that’s pretty much as far as you can go before you hit Canada and where summer is about a week long. As you can probably guess, I’m studying electrical engineering. I really like it there and have met some great people that share my obsession for electronics.

Updates. The quadcopter is not done :/. It probably won’t get done either. I was quite close to getting it flying, but it would just sit on the ground and spin in circles. I built another(!) LED cube, this time with blue LEDs. I made a nice set of circuit boards for driving it, with the circuit still copied from the Instructable I followed for the first one.

LED Cube Control Boards
LED Cube Control Boards

Running the test program to verify everything is good.

LED Cube Testing

A (not very good) picture of the cube running the main program.

LED Cube

Well that’s all I have at the moment. I’m working on a big LED installation for our dorm room next semester. All I’ll say right now is it involves ethernet, a teensy 3.1, and 12 meters of Adafruit Neopixel LED strip.

Power Supply Revision C

Sorry for not posting in a long while, but I’ve been busy with school. First, the quadcopter is still not finished, but my goal is to have it finished before next year.

Now onto the main topic of this post. As you probably know, I have a power supply project that I’ve been working on for quite some time. When I started my quadcopter project, it got pushed to the backburner, but I still kept slowly tweaking it. It’s back now, though, and better than ever.

While working on my quadcopter, I started using the Xmega series from Atmel. I really like these now, and their power and amount of I/O available make them great candidates for many projects. For Halloween, I built a 10-channel light controller that can be chained together with other control boards to greatly expand the number of channels. I didn’t finish it in time, but now I might be able to use it for Christmas (light shows anyone?). Since I wanted a large number of PWM channels per board without using something like a TLC5940, I used an Xmega A4.

One of the problems with the old power supply design was the display size and update rate. Adafruit stocks some OLED display modules, both in monochrome and color. OLED displays are known for their amazing contrast and sharpness, due to the fact that the pixel itself is light-emitting. A traditional LCD relies on either a backlight or reflected light to provide contrast. The LCD I was using previously communicated over I2C, which is a slower interface than SPI. It could have been the library I was using to control it, but I was not happy with the update rate I got with it. The OLED display that I got from Adafruit uses SPI, allowing me to push more data to it, faster. The physical size is smaller that my previous display, but since this is a graphical display, I can make the text as big (or as small) as I want.

While probably a bit overkill for the task, I also chose to use an Xmega A4 for my power supply. One of the Xmega’s advantages, besides the clock running at 32MHz at 3.3V, is the multiple SPI ports. Now I can update the DAC / read the ADC or update the display at the same time. This will hopefully give me a huge performance boost in update speed. Using the Xmega also gives me more pins to use, so I don’t need to use an I/O expander like before.

The rest of the design is pretty much the same as before, but with a couple improvements. Instead of using buttons, my rotary encoders are going to be the kind with one built in. This will help me create a more intuitive menu system than I could have in the past. Also, the tolerance of the critical resistors has been increased to 0.1%, which is more possible and cheaper now that I’ve switched to SMD parts. Hand assembly would take longer this way, but I can also just put down solder paste and stick the whole thing on my reflow skillet.

The boards and parts have been ordered, so here is a rendering done with eagleUp and Google SketchUp and a screenshot from Eagle.

Board layout and schematic. Available on GitHub

Render done using eagleUp and Google SketchUp

Revision C Design

I’ve started to work on revision C of the tinyCopter control board. There are a couple changes that I’m making, so I’ll go over those.

First, I moved the GPS module out from under the xmega. This way I shouldn’t have to deal with interference issues. Since I had trouble with my on-board power supply, I replaced the TPS61200 boost converter with an AP1117 3.3V linear regulator. I also added two LED’s to be used for status indicators. I’m also shrinking the main part of the board to reduce weight a little.

Re-routing the board for revision C. The board shape is also different.

Quadcopter PCBs Here!

Good news: the PCBs for the tinyCopter came in a couple days ago! Thanks to Laen over at the DorkbotPDX PCB order service for the stellar-quality boards! Now I can get to work assembling and testing the boards.

tinyCopter PCBs

tinyCopter Control Board

nRF24LU1+ Breakout Board

Now that I’ve more time to plan this project, I am really leaning towards using an off-the-shelf transmitter and receiver. The nRF24LU1+ is a really great chip, but unfortunately there is little information on actually programming (flashing firmware, not writing code) and actually using it. It looks like I may have ordered the extra components is vain, but such is the nature of developing (relatively) new devices.

Check out my photostream for more pictures!