[!] The blog has moved [!]

The blog has moved to http://carlitoscontraptions.com/.

You will be redirected to the new URL in 5 s. Sorry for the inconvenience.

May 29, 2008

Floppy Note Pad

Inspired by this commercial product, my girlfriend and I did a small craft with her elementary school class (she is a teacher).

The main goal of this activity was to have the children make something useful by themselves by using everyday household materials and (what normally would be considered as) garbage.

Materials (per child)
  1. Print the note pad paper model that is available in PDF or SVG. Make sure this is printed at the original scale. You may need to modify it to fit the margins of your printer.
  2. Take all the paper sheets and stack them while making sure they are well aligned together. Put the printed model on top of the stack and fasten everything with paper clips.
  3. Cut along the model lines. This should result in 48 small paper squares.
  4. Pierce the holes as shown in the model on every sheet.
  5. Bind the two floppy disks and the paper by using one (or more) pipe cleaner(s).
  6. Admire your creation!
Note: It turns out that the children are quite happy with their note pad and they even use it for taking notes (even if nobody prescribed them to do so).

May 27, 2008

Big Buck Bunny

I finally got the pre-ordered Big Buck Bunny DVD from the Peach Open Movie Project. All the files from the movie are under the CC license and it was done using the very excellent Blender.
As a follow-up to the successful project Orange’s “Elephants Dream”, the Blender Foundation initiated another open movie project. Again a small team (7) of the best 3D artists and developers in the Blender community have been invited to come together to work in Amsterdam from October 2007 until April 2008 on completing a short 3D animation movie. [...]
The Blender Foundation and Blender community have been the main financiers for Peach. As for the previous open movie, a pre-sale campaign to purchase the DVD set in advance will be organized.
- The Peach Open Movie
Now, I'm keeping an eye open for the Apricot Open Game project.

May 21, 2008

What am I building?

I started building a contraption but I had to stop since I accidentally burned seven LEDs at once. Now, I have to wait until I get the new LEDs I ordered before I can finish. Meanwhile, you can try to guess what it is that I'm building.

My brother was kind enough to be the cameraman for this video.

May 07, 2008

Home Automation

Here is some information about a home automation system my team and I did some time ago. This was done for the Embedded Systems class and require two Altera UP1 FPGA boards, two computers and two USB-to-TTL wires.
- The nice picture above was done by Frank (see below) -

Although at the beginning of the project we were really motivated to do a robust and optimal design that could set an example on how to do home automation and that could be shared with everybody, the project quickly degenerated and the general design approach became: "We don't care of how inelegant, inefficient or completely surrealist the system is as long as it works". The main reason for this radical change was the implacable deadline that got closer and closer, and the usual lack of time Electrical Engineering students suffer from.

The system consists of a PC that takes high level decisions for the control of lighting, heating and power consumption in general for a house. This decisions are serially sent to an FPGA board that take some lower level decisions (such as debouncing switches, counting time, etc) and controls trough a very large number of IO pins (~90) the actual house hardware.

Since this is a small project, we do not have the actual house or its hardware, so we resorted to simulate it using a second FPGA board and another computer. The second computer controls the house status (temperature in each room, level of room light, motion in the rooms, status of the TV, etc) and offers an inteface so the user can turn on lights, move in a room, set the desired room temperature, turn on the microwave oven, etc. All this information is serially sent to the second FPGA board which then adjusts its pins status to mimic the house hardware.

- The GUI and the Java program was done by Yev and Ritvik -

All the coding was done in Java and VHDL and since it is not very well organized or useful to anybody else, I won't be posting it. Nevertheless, the documents describing this project are very nicely done (all modesty aside) and give a clear description of what we did. Here you have: the SRS, the SDD, and the STC (not the final version). Please keep in mind that this documents are not published under the CC license, they have full copyright.Above you can see my friend Frank, he's the leader of the group (transformed from the norm by the nuclear goop).

Just so you know, the project went well and allowed us to learn a lot. We even ended up having a very good mark, so everybody should be (and is) happy.

If you are wondering what did I do in the project (I'm sure you are): I did the serial communication protocol in Java.

May 02, 2008

ATmega168 Parallel Programmer

I own a few Rev. C Bare Bones Boards witch came with ATmega168 chips burned with the old Arduino bootloader (NG). I wanted to upgrade them to the newer (Diecimilia) bootloader so I built a parallel programmer following the instructions in the Arduino website and using parts I found in the garbage (as usual).

  • Two 470 Ohms resistors
  • One 220 Ohms resistor
  • Some wire
  • A female header at least 3x2
  • A ferrite core (not required but looks cool)
  • Some heat shrink (it could be replaced by some electrical tape)
  • A male parallel port connector (DB-25)
Programmer Schematics
(this is a vectorized version of the original schematics on the arduino site)


I got a DB-25 connector from an extension parallel port of a PC I found in the garbage. First, I removed the original cable that came with it and I soldered the programmer's resistors to the back of the DB-25 and connected them to new wires. Then, I covered the resistors and cable connections with a piece of heat shrink tubing.

The new wires where terminated in a 4x2 female header (even though there are only 5 wires). The wires and female headers come from an old computer (they connected the power buttons and the case LEDs to the motherboard). I cut the header to size from a larger header (form the same old computer) and I used an extra row to mark it with a white pin cap so I could easily remember where the #1 pin is located.

Finally, I added a ferrite core and twisted the cables in order to reduce noise and cross-talk. I don't think this is really required but it looks nice.