Electronics Production

Our Electronics Production started with a lot of difficulties. The first problem was that our Roland MDX-20 didn’t work with the fab-modules. I had already tried it a while ago to make cad.py work, and spent a lot of time trying to find out what was wrong. After connecting with

stty 9600 raw -echo crtscts -F /dev/ttyUSB0 

I sent the generated .rml-files to the machine with

cat [filname].rml > /dev/ttyUSB0 

The machine started working, but moving in almost random ways. The first laugh about our “creative” machine huched up after a few hours of unsuccesful attempts to improve this. I figured out that single commands of code would get executed correctly, but as soon as I sent more than one line it started to go random.

With the fab-modules it was the same problem. I wrote a shell-script that would send the commands line-wise to the machine with a delay in between, but even like this the machine wouldn’t work properly. After trying to “echo” single commands to the machine I found out that some commands like “! are not recognized and others need a space in between to work.

In the week after the lesson on Electronics Production Luciano, from Fablab Barcelona, came for a visit and told us that the solution would be another cable. According to his advice we bought those two cables:

USB to RS232 DB9 Serial Adapter Cable - M/M

Belkin DB9 Female/DB25 Male Modem Cable

They arrived on the day that we were supposed to deliver our assignment. On the same day my colleague Luis made a trip to Fablab Coimbra for meeting Luciano there. In the meanwhile I tried the new cable. To my annoyance the new cable didn’t work in Linux nor in Windows. At about 11pm I learned that another hack to the “modem-cable” was neccesary. On the next day Luis brought a cable with a modified order of pins, that would finally work.

But the problems weren’t resolved yet. The milling bits that we bought from the Fablab Barcelona didn’t fit in the collet of the modela. Their shaft diameter of 3.175mm is slightly too big, so the bits would only enter with force and even then not fit well enough to rotate properly centered.

Since we could’n find a place where to order different collets for the modela on short notice we decided to try another solution. Fourth Axis offers a motor mount for a Proxxon motor. Since we were in need of a “Rotary-tool” anyway we decided to buy a Proxxon that would come with collets in the right sizes. In order to adapt it to the Modela, we had to design a motor mount that would connect the Proxxon to the machine.


The design was made in Solidworks and milled out of a sturdy plastic of unknown origin.
Here you can find the files and the drawing.


After half a day of work we ended up with a motor mount that would make the Proxxon fit to the MDX-20. The z-range is slightly reduced, but for the PCBs this works fine.


Like this we managed to mill the ISP-programmers out of FR-1 board.


The next problem was that we didn’t have any of the required electronic components. Only after going to almost all electronic stores in Lisbon did I realize that ordering at Digikey was the only solution. For the Fab-ISP I ordered the following components:

CAP CER 18PF 50V 5% NPO 1206
CAP CER 10PF 50V 5% NPO 1206
CAP CER 1UF 50V 10% X7R 1206
RES 499 OHM 1/4W 1% 1206 SMD
RES 100 OHM 1/4W 1% 1206 SMD
RES 1.00K OHM 1/4W 1% 1206 SMD
RES 0.0 OHM 1/4W 1206 SMD
RES 10.0K OHM 1/4W 1% 1206 SMD

You will also need the connectors for making the ISP programmer, that I got from a very nice shop in Lisbon ledsandchips.com and some flat-cable, that I took from some old hard-drives.

Finally we were able to stuff our boards:


The next step was to program the board. For this we had a borrowed “USBtinyISP V3.0 AVR ISP” from our friends at ISEL. Thank you!

First we connected the programmer to our board with the 6-pole flat-cable (check that ground is on the same side on both of them).

On Ubuntu we installed the following software:

sudo apt-get install flex byacc bison gcc libusb-dev avrdude gcc-avr avr-libc libc6-dev

Next we downloaded and unzipped this firmware, and ran the following commands:

make clean
make hex
make fuse
sudo make program


If this all runs OK and finishes with

avrdude done. Thank you.

the programmer is ready to use after removing the jumpers.