Posts

Animate the drawing of a SVG file

Several times I've blogged about Inkscape vector drawing software and its many uses. Being free software there is nothing to lose if you want to try it out. I use it on Windows, Linux and OSX happily. For a new project I wanted to get a given drawing animated and maybe with a soundtrack. My goal was to use this for explaining some topics of my lessons. Long ago I saw LectureScribe and I liked it. But it was not exactly what I was looking for, though you might want to give it a try too. What I am showing you below is a rough demo (no music so I won't get any damn DMCA notice; yes I know there are copyright free music). I've used a Python script by Ed Halley to get a sequence of photograms. Next I've used mencoder to combine them to create a video I later uploaded to youtube. It's a drawing of an stepper motor interface. In case you wonder, I captured this drawing using a Genius G-note board.

I lost my parallel programmer

Image
A while ago I wired a 25-pin parallel port socket with three resistors to build a parallel programmer for burning Arduino bootloader on brand-new chips. I used several times and it was great. However I do have the need to use it now and I cannot find it. I've bought an ATMega328 as a drop-in replacement to have more memory available for a project involving the Ethernet shield and UDP networking. Unfortunately, Arduino Mega does not have the proper pinout for the Ethernet shield, so the ATmega328 is my best choice. But the new chip I've bought was empty and I need to burn the booloader. I do keep my old PC available just in case, but my new iMac does not have a parallel port either. So I remembered that there was another way of burning the bootloader with some extra wiring on a Diecimila board. And the wires go to the ICSP header ... This way the FTDI serial chip can be used to burn the bootloader in the flash memory of the ATmega. However, it is not as easy if you are not us...

MicroRGB: A LED with a brain

Image
A recent project required to create a matrix of RGB leds. First prototype was set to a 5x5 matrix. For quite some time I've been thinking on the cheapest and more powerful way of doing this. Other people already answered the question in different ways. Either they put a micro controller on board, like BlinkM or they use a PWM shift register like ShiftBrite . A while ago I learned of a website with several PIC-based projects in the same line, one of them it was a serial addressable RGB led controller . One of the factors I was taking into account was cost. When you are using a large amount of units the unit cost becomes important if your budget is limited. I decided I wanted to create my own device. Should I chose a Microchip micro controller I could use the software mentioned above. My fist take was to use a 12F675 8-pin micro controller I found for $1 each on eBay. Unfortunately it seems too limited for the task of handling 3 PWM channels and serial communications as it lacks o...

Yet another laser cutter

Image
When my EPSON 830U decided not to work for me anymore (printing heads clogged) I thought I could make some use of the still working mechanics of the printer. It's based on a couple of stepper motors for both axis of motion (print head and paper feed). So I replaced the original power supply and drive electronics for an arduino board and an stepper motor driver from Adafruit industries. Now I could move the printhead anywhere on a page. Next step was to add a laser on the printhead and to control it using a PWM output from arduino (so laser power could be modulated from the computer). Though it only cut thin back color cardboard, it has may uses. I wrote a C program for arduino to control the stepper motors and laser. It receives data from the computer and interfaces with the old printer guts. Data format is very simple: each line contains a sequence of integer numbers separated by blank space. Each pair of numbers represents one XY coor...

The power of DVD lasers

Next time you see a broken DVD writer unit, do not throw it away. It contains a powerful visible LED laser. Some lasers used for CD-ROM writers are infrared and, while powerful, the light emitted is not visible, making it both, staying safe and focusing it, more difficult. In order to achieve some impact on a dark surface you need to give a decent amount of electric current to your laser LED (from 150mA to 300mA or more) and, besides, you need a lens to focus the beam. Focusing is important so as to concentrate the beam energy on a small spot (like you do with a lens and the sun light to burn a spot on something). If you are disassembling a DVD writer, you may look for the focussing lens too. If not, you can get one like this . Some guys did make what they called a $50 laser cutter , sounds cool. I'm retrofitting an EPSON inkjet printer to do a similar thing.

Self-replicating machines

Image
You may have heard of Reprap , the 3D printer that prints itself, but if not, I'm sure it'll make you curious. The idea of 3D printers is that you can "print" 3D objects you've designed on a CAD program. Reprap printer or MakerBot are machines that can create 3D plastic objects by fusing plastic into small plastic spaghetti (that adheres itself while hot) over a movable table. Objects are created putting one layer on top of the other. Given the fact that you can print 3D plastic objects, Reprap project went on to do design in such a way that a finished Reprap printer would be able to print all the plastic pieces to make a new one. Unfortunately metal parts and electronics still need to be bought elsewhere. Care has been taken to provide open specification for all the components so anyone can build their own easily. Reprap first version was named Darwin (shown in the picture) but a new version is out, named Mendel , with many improvements, smaller footprint ...

On addressable RGB LEDs

Image
I've been interested on the possible uses of RGB LEDs for quite a while. The underlying logic is pretty simple: Pulse Width Modulation can be used to control the luminosity of each color, giving as a result a similar system to how pixel color is controlled in any RGB display. While creating a LED-based screen is possible and it's being done commercially, the size, power consumption and dot size make it only useful for large screens for sports or music events. At a smaller scale this same technology seems cool for arts projects. The problem is that while many microcontrollers can do PWM, they have a limited number of outputs, and three of them are needed for each led. Alternatively a matrix-like is possible for controlling arrays of RGB LEDs, but sacrificing its maximum luminosity. Searching around the net several solutions pop up: serially addressable LEDs using one microcontroller for each LED, a serial-register-based RGB LED controller and an I2C-bus RGB LED controller .

Trouble on Googleland

Image
Just as Google seems to be facing some trouble with EU regulators , my (till now) trusty Gmail account started to give me trouble too. I started a thread on Gmail help forums a week ago complaining of a sudden and weird problem. It turns out that many people are reporting a similar problem. A cool feature of Gmail is that you can fetch emails from other accounts supporting POP3 access. It has been working great for a long time, with the added benefit of using Gmail's spam filtering on that other account's emails. Unfortunately, starting two weeks ago, Gmail stops fetching emails from these other accounts for no good reason. While a fix has been posted: save the affected account settings again, this fix does not last long and problem eventually reappears. While it might look like certain ISP is to blame, given the different and varied error reports it looks much more likely that trouble is in Gmail systems.

Wake on lan

Image
Recognizing the big amount of energy being wasted at my university, a system for waking up a computer has been set up. In the past many people, including myself, had no other choice but to leave the computer on if you might want access it remotely (as directed-broadcast is not allowed on campus' network, there was no way to send a Wake-On-Lan magic packet from outside of campus). The new system put in place allows users to wake up their computer from the university intranet, which is a big plus. Alternative systems were available but only worked on certain subnets and you need to know you computer's MAC address (something I have to tell you I've never been able to memorize). However, and there is always a catch, I realized my computer (an ASUS P5G33) did not seem to accept the wake-on-lan feature . I am quite doubtful about following the advice I read on a forum, even more if it requires reflashing my motherboard BIOS with a firmware many tools refuse to accept. However, ...

What a disappointment

As I mentioned a few days ago a talk by Richard Stallman was held on campus and I decided to go. The talk was along the lines of the four freedoms (kind of Stallman's version of Asimov's three laws of robotics). But almost at the end of the talk and before the questions he invited to another unannounced speaker who had some rants about the university. Everyone is entitled to her own opinion but this was not the reason why I was there so I left. I cannot comment on that other speaker merits but it felt like a commercial in the middle of the talk (and keeping you there from leaving if you wanted to listen the question). Should that individual have announce his speech people might have decided whether they wanted to attend or not, but the way it was done it felt like a trap. What it may be relevant here is that the university was providing a conference hall for free based on the idea Stallman's speech was of interest for our student and faculty. As expectation was building u...

VMware did it again!

Image
I've upgraded my main desktop machine to Ubuntu 9.10 and one of things I need to get going is VMware's VM Player. I've been pleasantly surprised to discover that the new 3.0.0 version of wmplayer does include a new feature to create new virtual machines. While I had no complaint using easyVMX site I am extremely happy of having this new feature, previously only available on VMware Workstation product. So, thanks a lot VMware.

University Talk

Image
Next week, Richard Stallman will give a talk at UPV campus (Conference Hall at building 1H ) on Thursday February 4th, at 5:00pm. Richard has already visited UPV before and can speak Spanish, so I guess that is what he'll use. His views about the software development and ethics are all but conventional. But now that the free sofware concepts have spread open wide many people share many of his points of view. Not sure, however, if Richard still thinks the Copyright Levy (canon digital) we have in Spain now is fare.

Temperature logger needed

Image
Heating and air conditioning are the cause of much trouble on campus. Yesterday I was asked to make a decission as it was believed one of our buildings was too hot because of the sun. But, as I'd like to make my decissions based on facts I decided to setup a temperature logger. As heating is off on Sunday (but Sun is only off at night) I'll be able to compare the temperature profile of Sunday against all the other days when the heating is on. Unfortunately no data logger was available so I set up my own one using three simple elements: An arduino board (actually it was an iDuino I had lying around) a Dallas Semiconductor (actually now part of Maxim IC) DS18B20 digital temperature sensor and a PC. I adapted some code I borrowed from Nuelectronics to read the temperature and I transimted to the PC over the serial port. On the PC side (my office PC is running Windows) I had to program it using VisualStudio, so I created a simple VisualBasic program , whose only purpose is to add...

New year new toys

Image
During the last holidays I've been playing with a new Linux board that I've found quite interesting. It is an open project developed by a Spanish company which in turn enriched the Beagle Board idea with a lot of cool hardware: wifi, Ethernet, Bluetooh, RS-485, LCD controller, etc. They both share many other interesting peripherals as 3D accelerated graphics board featuring HDMI output, microSD memory socket, audio I/O and DSP,USB port, JTAG port etc. The so called IGEPv2 (not sure it is a good name as I find it quite difficult to remember, maybe I'm aging) is a cool piece of hardware that comes with a Linux distribution name Poky and it based on an ARM Cortex-M8 processor running at 720Mhz that needs less than 3 watts for the whole system. It can run Ubuntu and many other ARM-based Linux distros. And it costs 140 Euros, which I reckon it is a sweet price. Put it together with a large HD display and you have a point of information for the public. You may even hide the car...

International version of Kindle DX

Image
It seems you can pre-order an International version of Kindle DX from Amazon. Same price as US version. In another front there seems to be more players to the "larger" ebook format, the Skiff and the QUE showing off. But, while some demo new ideas , it seems Apple is about to surprise us (ok, maybe not) with a real device by the end of the month.

Happy New Year and other stuff

Image
This year has been an exciting one on the technology side but it is been a crappy year for most economies of the world. I keep my fingers crossed for a better 2010 on all fronts. As you can see in the picture of the right, the Kindle DX has an annoying "feature" of showing the full media box of PDF files instead of the crop box. That means you have to recreate the PDF file if you want to get rid of these elements only useful for the print house. The problem they create is that some of the screen real state is wasted on them, making the rest of the page smaller. My verdict about Kindle DX screen size is that it is too small for viewing A4 or US letter PDF documents comfortably but most PDF formatted books will be ok tough. January issue of Circuit Cellar magazine will carry an article I authored. It is an Arduino-based project for a three axis stepper motor PC interface. Please note simultaneous use of several axis was not desired nor implemented. Popular stepper motor drivi...

Hack-a-watch

Image
Latest development system for Texas Instruments "wireless" micro-controller comes in the form of a watch. Yes, a regular watch that can track several variables besides the time passing. Besides the watch, the kit includes an USB RF interface and a USB emulator for software debugging. The watch itself includes a 3-axis accelerometer together with temperature, pressure and battery-level measurements. At $49 it is a steal. No wonder they are out of stock. There is a wiki too.

Ultrasound ranging on Arduino

Image
I've recently bought a sonar circuit for distance and temperature measurements. Actually you need to know the temperature if you want to get an accurate distance measurement as it affects sound's propagation speed. Less than $20 shipped, the URM37 unit is compact and full of interesting features: It has a dual interface as it can use RS-232 levels or TTL levels. Be careful because it defaults to RS-232 and these voltage levels can damage many 5V devices, including Arduino inputs. It has several operating modes but I've used the serial interface. URM37 library comes with a modified software serial port library that allows you not to use any two available digital pins to interface with the sensor. This way arduino hardware serial port is free to be used for code uploading. Another cool feature of the sensor is that it can control a RC servo so you can mount the sensor in a mobile platform to get the distance measurement at different angles.

Excellence in Teaching award

Image
I've been granted an Excellence in Teaching award from the local government. Among other things lecturing in English (or other foreign languages) and having high-marks on student surveys of teaching were topics assessed. Now it is time to look around and thank all the people that made this possible: from my colleagues who share an interest on teaching to my students who keep on asking questions. From all of them I learn a lot every day. I'm also grateful for my University and government that through various programs have supported different visits and stays at foreign universities. And last, but not least, to my dear family and friends who have always been there for me. For all of these I'm grateful.

Enable USB Networking on Kindle DX

The first thing is why in hell you may want to do this? Or even what the hell is this usb networking thing? The thing is that those who are outside of coverage of Whispernet wireless network cannot get some of the Kindle features to work. But even if you enable usb networking you are not getting back 100% of the functionality. Let me tell you some of the things I've learned: Apparently Amazon will send you a client digital certificate to your Kindle through Whispernet (and only that way), so future orders from you Kindle can be properly authenticated as yours (so you cannot refuse payment I guess, among other things). That means that even if you get your Kindle to access the Internet (ie enabling USB networking) you won't be able to register it to your account (though no error message is presented to the user). So what USB networking can serve for? Well, enabling USB networking allows you to connect to the Kindle as a network device and to access its Linux system for doing chan...