domingo, 10 de mayo de 2009

How I make my PCBs: Step 1 getting the design to the

Hello everyone (the 2 of you), I am back!!!

This is a small tutorial on how I make my PCBs. I use a rather cheap and simple way of making PCB which creates good enough results for most of the usual needs that I have. This method is probably not suitable for SMD, but feel free to try...

On this first part of the tutorial what I show is the way to get the PCB design into the single sided copper clad board, ready to be etched in next step.

First thing I do is design my PCB (or download it from the internet). To design my PCBs I use KiCad. It is free and availble for both Windows and Linux (I think the support for MacOSX is limited... solution... install linux!!!!). The biggest problem of KiCad is not being able to find a particular component in the library, but you can always roll your own.


Once you have your design, you need to print a mirror version of the design into transparency paper. You should either use a laser printer or a photocopy machine, an inkjet printer does not work for this procedure to make PCBs. What I normally do is to use my inkjet printer to print it to a normal paper and then photocopy it to a transparency paper.


From the copper clad board, cut the section you will be requiring for your PCB. I normally use scissors or a small saw for this task. Once you have your section of the PCB, using a steel wool, you need to polish the PCB.


The next step is to put the PCB design from the transparency on top of the copper clad board with the tonner side in contact with the copper. I use a little bit of tape to hold the transparency paper in place:


At this point you should get yourself an iron and an ironing board. In case you do not have these tools, do yourself a favour and buy them... they are extremely useful for making PCBs and other DIY activities and you will make your mum proud when you tell her you are buying one (remember not to let her know what do you want it for). I normally put a sheet of paper, then the PCB with the transparency on top and then another sheet of paper.


Heat up the iron to maximum temperature with no steam and then put it over the PCB. You need to apply a little bit of preasure, but not much, and leave it over the PCB for around 1 minute. Start lifting the transparency paper from the PCB slowly, very slowly...


Due to the heat, the PCB traces should be transferred from the transparecy paper to the PCB. If you notice that the traces are not uniform enough or that some traces were not transferred to the board correctly, draw the missing traces with a permanent marker. I normally redraw all the traces with the permanent market whether the transferred traces are good or not. If there are too many lost traces, you might remove the existing traces using steel wool and reuse the same board to try again.

In next step I will show how to etch the board to remove the copper not covered by the PCB design.

lunes, 4 de mayo de 2009

Arduinome phase 4: Making the enclosure (II): front panel update


As I mentioned in my previous post, lately I have not been able to post or work on DIY stuff. However, since we had a long weekend last week and the weather was amazing in Madrid, I spent most of my sunday working on some of my unfinished projects, including my monome enclosure. The picture above shows the current status of my wooden faceplate. My plan is to put 4 potentiometers in the area on the right. The PCBs will also go underneeth that area, hopefully reducing the height of the whole thing (compared with the usual placement underneath the buttonpad).

Still missing the lateral panels, more sawing, more sanding and more varnishing. Now that days are long and the weather is nice, I should be able to finish soon, but who knows... "Salir de Cañas" in Madrid in the summer is too tempting...

miércoles, 1 de abril de 2009

No news... sorry

Hey readers out there, sorry for the lack of posts recently. I am traveling like crazy for work with little spare time to blog or work on my diy stuff. I am hopping to have some time next week, but who knows.

Some interesting things that I wanted to blog about are:

domingo, 1 de marzo de 2009

Arduinome phase 4: Making the enclosure (I)


My first choice for my Arduinome enclosure was to go for the MachineCollective faceplates with a custom made box. While waiting for a reply from the MachineCollective people, I decided to start building the case, so I went to my local DIY department store. I bought there a Mitre Box, a saw, some screws, white glue... For the sides of the box, I was going to buy wood lath. Looking at choices of wood lath, I found a 9mm x 9mm square section wood lath, 2.4m long which I thought that could be used for the faceplate, since 9mm is exactly the distance between two buttons. After many hours of sawing, sanding and glueing, the result is the following:


Regarding the faceplate it still requires filling in some gaps with wood putty, some more sanding and varnishing.

For the rest of the box I also plan to use the same wood lath, so that means more sawing, more sanding and more varnishing... It is still going to take some time to have it finished, but I will get there.

lunes, 23 de febrero de 2009

Dorkbot


A dorkbot is a meeting of people who enjoy doing strange things with electricity. It happens in cities all over the world with different frequencies, sometimes once a month, sometimes less often (depends on the geekiness of the people in the city, I assume).

So I went to my local Dorkbot last Friday. It had been almost 2 years since my last time (I sound like an AA guy). My last time was THIS time, when I actually became an spontaneous presenter of the work I had done in the "circuit bending" course I had attended to. Since then it became very hard for me to attend, if I was in the city I was not available at the time of the dorkbot and viceversa, but last Friday I had no excuse to miss it.

The agenda was the following:
  • "MIDI for dummies"
  • "MIDI for pros: DIY contoller scracth, Contrologic AP"
  • "Rompetechos: una plataforma aérea abierta"
The Midi for dummies showed how to use arduino to send midi signals to ableton live. There is a lot of info on this topic here (in Spanish, sorry) (I got this link from the dorkbot mailing list, thanks again). UPDATE: similar thing but in english here. It was very interesting to find out there is a driver to convert any serial signal to midi, making it very easy to implement midi over USB with arduino... this actually triggered some ideas in my mind (which is the whole purpose of the dorkbots, IMHO).

The Midi for pros was kind of disappointing. A guy had made a platform which was very, very, very similar to what can be done with MidiBox, but he had done it from scratch, only using MidiBox as a reference. He showed two great midi controllers, I have to admit that, but I did not see anything new in them... it seemed to be what you can do with Midibox. Maybe the scratch wheel he showed can not be done with midibox, but that is something that I am not really intrigued with...

I left after the "Midi for pros" presentation, so I can not tell about the remaining presentation, sorry... since all the music stuff was done and I was starting to get hungry, I decided to leave, although it did seem to be an interesting presentation (check it out here).

If you want to to find if there is a dorkbot in a city near you or you want to start a dorkbot in your city click here.

If you live in Madrid, check out the local dorkbot here. Since that webpage is not updated very often, make sure you subscribe to the announce mailing list and the "discussions" mailing list.

lunes, 16 de febrero de 2009

Benge, Twenty Systems


I got this CD/Book called "Twenty Systems" today. I heard about this CD in "Fluido Rosa", a radio program from the spanish public radio called Radio3. Bian Eno said about this CD:

"A BRILLIANT CONTRIBUTION TO THE ARCHAEOLOGY OF ELECTRONIC MUSIC"

The CD has 20 songs, each of them made with a different synthesizer built on each year from 1968 to 1987. The booklet includes pictures and description for each of them and a small description of how the track was made. It starts with old analog synths (Moog modulars, ARPs) and ends with digital synths from the late 80's (Xpander, Synclavier...). Some of the big misses are: MiniMoog, Korg MS-20, Prophet V, Roland Juno, TB-303... Hopefully a second part will come out soon with other synths.


I got the CD from ROTOR discos.
You can find more info, samples and pictures of the booklet in this myspace webpage.

Musicwise it is interesting, but not the kind of CD you listen to over and over again, worth listening to though. 100% recommended if you drool when watching old synths (like I do).

domingo, 15 de febrero de 2009

Arduinome/Monome + Polygome + Ableton Live, instructions and video

I am going to explain in this post how to run Arduinome/Monome with Polygome triggering sounds from Ableton Live in a PC with Windows Vista (it should be quite easy to translate these instructions to any other midi sequencer or similar OS). Polygome is IMO one of the coolest apps for monome.

I am assuming you have already installed your monome and now all the basics about it (monomeserial, setting the right prefix, etc...).

First thing you need to do is to install Midi Yoke. At the time of writing this post, there was no Vista version for Midi Yoke, but the XP/NT version happens to work if you disable Windows Vista User account control (Control Panel=>User Accounts=>Disable User account control). You need to disable the user account control both when installing Midi Yoke and when using it. If anyone knows an alternative for Midi Yoke that works with Vista, please let me know.

Once Midi Yoke is installed, open Ableton Live "Midi Sync" configurations (in options=>preferences) and Enable the "track" and "Sync" from "In From Midi Yoke: 1" and from "Out To Midi Yoke: 2". Add your synth of choice to a Midi channel and arm it. Press the Play button (this is necessary to generate the sync clock).

In Polygome:
  1. Select "Out To Midi Yoke 1" as midi output destination
  2. Select in the clock options "beat clock" as clock source.
  3. Disable the internal clock
  4. Set the "Send beat clock to" to "Out To Midi Yoke 1"
  5. Set the "Receive beat clock from" to "In From Midi Yoke 2"

Pressing any Monome button should trigger the predefined patterns and start making sounds.

Here is a video I made using Polygome:



The drum sounds are the same I used for my AVR synth demo here. The synth sound is one of the synths available in Ableton Live. Eveything was configured as explained above. Sorry about the poor video and audio quality (and my lack of skills with Monome, I need to practice more).

More arduinome stuff here

jueves, 12 de febrero de 2009

Arduinome phase 3: programming Arduino

Once the Hardware is completely done, the next step is to program the FTDI chip with the correct device name and the Arduino with the Arduinome firmware.

Programming the FTDI chip

The FTDI chip in arduino is the chip responsible for doing the USB connection between the PC and the microcontroller in the Arduino board. The idea of programming the FTDI chip with a different device name than the default is for the "Arduinome serial" application to recognize the device as an Arduinome. Follow these steps to program the FTDI chip:

  1. Download an install the D2XX drivers and the MProg application (in that order)
  2. Connect your arduino to the PC and run MProg.
  3. Select Device => Scan from the Menu. You should get a message like the following in the box bellow:

    Number Of Blank Devices = 0
    Number Of Programmed Devices = 1

  4. Select from the menu "Tools" => "Read and Parse".
  5. At this point I saved the configuration I did "File" => "save as". This is not really needed, but I did it just in case I happen to screw up later on, to be able to recover the original configuration.
  6. Check the “use fixed serial number” box and change the serial number value. Your board should have a serial with this shape: a40h-xxx (I'm using : a40h-des)
  7. Save the configuration ("File" => "save as")
  8. Once saved, program the FTDI by clicking on the flash icon (or doing "device" => "program").
  9. Unplug / plug back your board from the usb port.
  10. Download and install Arduinome serial.
  11. Run Arduinomeserial, you should see a device with the name you gave your arduinoe in step 6.

Programming the Arduinome Firmware
This step is quite simple if you have a relatively new Arduino board (the NGs with Atmega168, Diecimila, Duemilanove and any other newer boards). The steps to follow to program the arduinome firmware are the following:
  1. Download the latest arduino software (if you have not already).
  2. Follow the instructions from the Arduino website to figure out how to install and use the Arduino.
  3. Download the Arduinome firmware.
  4. Open the pde file in the arduinome firmware with the arduino application, verify and then "upload to the I/O board".
That's it!!! You can now connect your Arduino to the arduinome shield and the button pad, connect arduino to the PC, start Arduinome serial... and enjoy.

My particular case was not so easy... I was using an old arduino board, an NG with Atmega8 instead of Atmega168, which was not compatible with the available firmware. I could have just bought a preprogrammed Atmega168 for a few dollars, but that was too easy and would have taken a few more days to get my monome working, so I had to analyze the problem deeply and try to find a solution. The incompatibilities with the firmware were because the firmware was using TIMSK0, TIMSK1 and TIMSK2 registers to configure the timers and those registers are not available in Atmega8, the Atmega8 uses only the register TIMSK instead. After reading through the datasheets of both the Atmega8 and the Atmega168, I found the solution. Here you can find my modified version of the firmware, supporting both the newer board (with Atmega168) and the older NGs (with the Atmega8).

So I had the arduino ready to be used. I plugged it in and unfortunately my 74164 was connected backwards in the socket (ouch) and nothing was working. The 74164 got damaged and when plugged it correctly, each button press was being detected as if the whole line of buttons were pressed. Replacing the 74164 fixed this issue. LEDs were working correctly at first try, except for some (7) of the LEDs that apparently got burned when soldering them. I had to remove the damaged LEDs and solder new ones.

And that's it, that is how I got my arduinome working!!!
The next step is to do the enclosure for the arduinome, which I still need to figure how, although I already have some ideas.

I will have a video soon (whenever I manage to improve my "monoming" skills).

Check out the whole Arduinome build log here.

martes, 10 de febrero de 2009

Arduinome phase 2: soldering components (and II)

After soldering all the diodes and LEDs, I worked on my personal approach to the Arduinome Shield. Instead of buying the shield in the monome blog I decided to make my own using a stripboard. There are frequent group buys of the arduinome shield in the monome forum and it is not particularly expensive, so if you are not experienced in electronics, I recommend you go for that option.

I use sockets for all the chips, it is safer since the heat of the soldering iron does sometimes burn them. This is how my stripboard looked like:
Once the stripboard had all the components soldered, I soldered wires to connect the stripboard to arduino. This is how the stripboard looks when connected to the Arduino:


The last step was to connect the button pad to the shield. This is probably the step where it is easier to make a mistake and where you can probably benefit more from using the "official" Arduinome shield. This is how it looks like at this step:

Frontside:


Backside:

So I am done with the soldering iron (unless I made a mistake in this whole phase).

I got the schematic for this phase from Julien Bayle's webpage here, but there are other sources.

This phase is over now. The next phase consists on programming the Arduino.

Check out the whole Arduinome build log here.

lunes, 9 de febrero de 2009

Webpages that make you go CTRL+D: Spotify

I recently discovered this web page called Spotify. As its webpage describes it, it is a "world of music. Instant, simple and free"... it can not be described better.
It works by invitation or with a monthly fee. Once you get the invitation (or pay the €10 fee for a month), you get access to an amazing database of music, which you can listen from your computer connected to the internet. I can not say that you will find absolutely everything available in the world of music, but almost, although apparently, what you get depends on the country where you are.
Enjoy!!!

martes, 3 de febrero de 2009

Arduinome phase 2: soldering components (I)

I started this second phase of my Arduinome build process by soldering the 1N4148 diodes in the SparkFun button pad. The diodes are a two terminal device that normally have a mark in one of the terminals. The mark on the terminal should match the marks in the diode pads in the backside of the SparkFun Buttonpad, as can be seen here:


This is how the 4 boards look with all the diodes mounted:


I soldered the diodes on the botton side of the board, which is not the usual (normally you would solder the component in the oposite side of the board where you placed it). The reason for doing that is to avoid the solder and the small part of the terminal left over damage the silicone.

This is how it looks with all dioses soldered and terminals cut:



The next step was to solder the LEDs. The first thing was to place the LEDs on the top side of the SparkFun Button Pad PCB:



The LEDs do also have two terminals (it is not surprising since they are also diodes). The pad marked in the PCB for the LEDs have a circle with a flat side. The flat side is where the terminal named cathode should be soldered. The cathode is also the shortest terminal of the LED. More info about the LEDs in this wikipedia page.

This is how the boards with the diodes and LEDs soldered looks like:



The next thing I did was to glue the four boards together and to solder wires connecting all the grounds in columns and all the switches and LEDs connections in rows. This is the result:




There are better Arduinome building instructions in bricktable's webpage.

And that is all for now. Still missing from this phase:

- Making the Arduinome Shield (I am brewing my own instead of buying the PCB)
- Making the connections between Arduino and the Arduinome Shield.
- Making the connections between the Button Pad and the shield.

Check out the whole Arduinome build log here.

viernes, 30 de enero de 2009

Arduinome phase 1: getting the parts (and IV)

This is the last section of this phase, I got all the parts for my Arduinome!!!


I went to my local electronic shop in Madrid and got:
64x1N4148
10x10KOhm resistors (I got normal resistors instead of a resistor network, since they did not have resistor networks in stock)
1x74164+socket
1x74165+socket
2xMale connectors for Arduino shields

That was 8 euros total.

I am only missing some other random stuff (connectors, cables, screws and nuts...), but all this should be enough to get me started.

Summarizing, the total cost so far is:

€68.93 - SparkFun Buttons and Button pads (including S&H to california, not spain)
€25 - Arduino board
€9.6 - Green LEDs
€8 - other components

These numbers are based on current exchange ratio.

Check out the whole Arduinome build log here.

domingo, 25 de enero de 2009

Arduinome phase 1: getting the parts (III)

The ultrabright green LEDs for my arduinome arrived last week from Hong Kong:


I bought them through eBay to an eBay store named “Amigo-of-China”. The transaction was perfect; the items were shipped very quickly and arrived in perfect condition. Will definitely buy from him if I need LEDs again, I have now an “Amigo” in Hong Kong!!!.

These are the LEDs:



And this is how it looks like with the SparkFun buttons:

Check out also this video I made with the SparkFun buttons. The keypad shortcuts the LEDs pins switching the LED on and off:



I need to think what to do with the remaining 36 LEDs and the 100 resistors provided. Suggestions are welcome.

On the arduinome project, the parts I am still missing are:
- Diodes
- 74165
- 74164
- Resistor network
- Screws and nuts

Check out the whole Arduinome build log here.

jueves, 15 de enero de 2009

Is Roland watching me?

As I have already stated in blog posts, forums posts and a youtube video:

WE NEED NEW KEYTARS!!!!



Well, I have been heard... Introducing the new Roland AX-Synth Keytar (or Shoulder Synthesizer, as they call it... I wonder if keytar is a registered trademark that roland can not use):


I do not particulary like it and the reasons are:
  1. It is a synth, not a controller, which will probably make it super-expensive for an amateur musician (who actually does not know how to play keyboard very well) like me
  2. It reminds me to the keytar Jordan Rudess plays sometimes:

I know, I know... that one is even worst...

However I am happy about it, other brands seem to follow what Roland does, so we should probably be seeing more keytars (or shoulder Synthesizers... pfff...) soon.

Click on the keytar image for more info from roland. Specs bellow:

Built-in sound engine with voices from Roland’s latest synthesizers

Ribbon controller, D Beam, modulation bar, knobs, and easy to see display for stage

USB MIDI for easy connection to PC
Dedicated V-LINK button for video/visual control
Long battery operation (approx. 6 hours)

Keyboard
49 Keys (with velocity)
Sound Generator
Maximum Polyphony
128 voices
Special Tones 8
SuperNATURAL 4 (included on Special Tones)
Controllers
D-Beam, Ribbon Touch, Modulation Bar, Volume Knob Controller, Aftertouch/C1 Knob Controller, Portamento On/Off, Hold button On/Off, Bender Mode: Normal/Catch+Last
Connectors
Output Jacks: 2 x 1/4' inch phone type (L/MONO, R), Headphones (Stereo 1/4' inch phone type), Foot Pedal, USB connector (USB MIDI), MIDI connector (IN/OUT), Power Adaptor
Others
Battery
8 x Ni-MH rechargeable Batteries
Display
(3 x 7) segment LED

Accessories
Owner's Manual, Shoulder strap, CD with PC/MAC Editor plug-in, Cushion
Size and Weight

Width
1,145 mm
45-1/8 inches

Depth
265 mm
10-7/16 inches

Height
90 m
3-9/16 inches

Weight
3.7 kg
8 lbs. 3 oz.

viernes, 9 de enero de 2009

Jota goes unplugged

Jota the singer of "Los Planetas" and "El Grupo de Expertos Solynieve" did an unplugged concert for Radio3. Listen to it here:

First part:


Second part:



There are also some videos in youtube, although it is hard to actually see anything on them:

jueves, 8 de enero de 2009

The end of MusicThing

Sad news from MusicThing came yesterday, Tom Whitwell is too busy with his "real-life" job to be able to continue writting his blog.

It will be missed.

All the best in your new job, Tom