Distinguishing between different FTDI devices

Just a short note for myself and everybody who will find this via google 😉

At work I needed to distinguish between five tty devices in linux, which in this case were almost identical FTDI to TTL UART adapters.

I thought of using udev rules for it and give each one a specific name in the file system based on the FTDI device id/serial number. Fortunately I found an easier solution: you can access the device not via /dev/ttyUSB0 through /dev/ttyUSB4 but via /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AD023MTX-if00-port0, which is a symbolic link to the corresponding /dev/ttyUSB*.

To match the tty device to the physical device I needed to collect all serial numbers of the adapters. In the above example this is AD023MTX. I found this serial number out via executing udevadm info –name=/dev/ttyUSB0 –attribute-walk, where you need to look for a line beginning with ATTRS{serial}.

import eagle boards in mechanical CAD drawings

Usually you use eagle to design your printed circuit boards (PCBs) only in 2 dimensions (when not considering the layers as 3rd layer). This gives you some headaches for narrow space designs like in small cases.

The common solution until now is to export your board with eagleUp and assemble it with a case in Sketchup. This also gives you some drawbacks. The most important to me was that the Sketchup files are mesh based like the data used for 3D printing usually, but for further use in CAD systems this is not really usable. You also will not be able to get a STEP model that you can give to your costumers out of this data.

Another solution is to use eagle3D, which gives you photorealistic renders of your boards. This images (or even videos) are really good for marketing brochures, but this way makes it impossible for you to play with your 3D models to estimate how much space is left in your case.

The solution I found was to write a macro for FreeCAD that interprets the XML Data that Eagle 6 uses to save your board (the .brd file). This means that my script reads the outline of the pcb and extrudes it with the thickness you specified in eagle. The XML file also contains the names of your parts, which you can map to 3D CAD Models (STEP Models) of them. The last step is to assemble the parts and the board. For more information on how to use it see my github repository.

The only drawback of the freecad solution is that somehow the colors of STEP models get lost – at this time I expect it to be a freecad problem that might be fixed in the future.

The result looks amazing:

Freecad Rendering of Eagle BRD File
Freecad Rendering of Eagle BRD File of I2SEs PLC-REL-M

Thanks to my boss Carsten Ziermann, who allowed me to make changes on the script in my time at work as well as to use the screenshot above.

My first 3d print

Yeeehaaa – I finaly got my first 3d print that was not totally messed up.

I had a lot of experimenting with the belt tension and the endless settings for the slicer software. But finally I got it working. The printquality is not perfect – but I will tune it later for a better print quality. When I have final settings they will be published – but this might take some more time 😉


first 3d print result

For those who do not know 3d printing well: the layer below the cylinder is called “raft” and it is used to get an flat surface where you can print at. The second use of this is to prevent the printed object to stick to much to the printing platform.

Building a current / flux probe for contactless measurements

In the last weeks I followed an idea to measure current without the need to cut the wires or even open a pcb trace. The solution i came up with is a hall effect based measurement.

I wrote some more about it in an article here: http://avrs-at-leipzig.de/dokuwiki/en/prokekte/fluxprobe

If you do not like to open the full arcitle here you can review the basic schematic as well as to see a foto of my first prototype:

schematic of the prototype
Foto of my prototype

The first but still impressing measurement:

flux probe measurement at 10Hz
flux probe measurement at 10Hz, 10ms/div, red: output of probe at 200mV/div, yellow current at 33,3mA/div

Self driving car – Take 1

The following video shows the first quasi autonomous movements of my 1:8 sized buggy. I wrote a little script that makes movements suitable for turning the car.  I had no space in my flat for letting it run right now so I stuck with the ‘dry run’ for now. After adding some more sensors I will replace the script to be event driven instead of timer based.

The electronic components are: Toradex Colibri T20 on an Iris carier board running Linux (I got that one at embedded world this year) and an Arduino for controlling the servos. There also is a DC motor controller for driving the wheels that came with the car.

Finishing the construction of my 3D Printer

Over the weekend I finished the mechanical work on my 3d printer. It now has all parts assembled. It took a long time because the seller needed two more tries to deliver all missing parts. But finally I got all parts plus a few bonus parts. Thanks for that to John from seemecnc.com!

As in my last post I have shot timelapse videos to show you the progress:

I connected all the motors, the heater and the thermosensor to the printer. Surprisingly all the axes were working instandly. Unfortunately the heater and the sensor were not working at all and the stepsize of the motors seem not to fit. Als I have to attach the end stop sensors to the printer for the Gen6 hardware… This means it will take some more time until I finally can print 😉

SeeMeCNC construction

Yesterday I was coming home and a parcel from the USA was waiting for me – It was of course the kit of my 3D printer 🙂 I could not wait a second to start building it up. So here we are – the video shows about 8h in 3:20 minutes.

At some points you can see me confused for some time and putting unfinished modules aside. This is because a few parts were missing… John got back to me over the night and promised to send the missing parts out today. Well, that means I will wait for these parts to arrive for one or two weeks. In this time I can also order some other missing things like plugs for the motors and glue to hold the temperature sensor in place.

Here is a picture of the machine how it is looking at the moment – without any adjustments because I will have to take some parts out again:

SeeMeCNC H1, half built up

Some random updates

Some of you might know it already: I stop to participate at the students project Leobots at my university. There were some disagreements in the team over the last weeks that led to my decision to leave the team as of now. I just finish the documentation of my work as far as I got and support the team at the trade fair “embedded world” next week.

As I still like to play around with robotics I bought a small rc car, a wifi-router and some electronics. I hope to get it somehow self driving and self navigating in unknown terrain.

RC Buggy

I think my other new toy, the 3d printer will be a good help for my modifications… at least for adding backets for the distance sensor that is scanning the sourrounding of the car it will be superb to have a costum made part that really fits my needs 😉

buying and building a 3d printer

Since a long time I wanted to have one of these fancy 3d printers like makerbot or reprap. I was spending quite a time searching for one that I could afford. Some weeks ago I heard of Makibox, which is quite exactly what I was looking for. It is affordable (350US$) for a student and on top of this it is a neat box that keeps your desktop clean.

Unfortunately it is sold by company like “kickstarter”, that is much less known and does only show a few projects hosted there that are all much cheaper than this 3d printer. Additionaly they seem to not be very open minded. I could not find any manuals or documentation regarding their printer. This was why I decided to ignore this great sounding offer, as I trust them less then for 350 US$.

Dissapointed about that I can not afford a 3d printer for quite a time I had some weeks not thinking about this as I had to write this semesters exams. The written exams were over last week, so I was looking for 3d printers again 😀 This time I found another great deal. It is the SeeMeCNC H1 printer, which is a reprap like machine. It looks like they did a great job in redesigning the printers to make them cost less. Still their machine looks solid and long-lasting compared to other constructions I’ve seen so far. The company manufaturing these bots put much more effort in the documentation and to build a community around the bot, which made me really happy as I saw what type of problems people had with this printers and how good they were helped.

The H1 can be shipped in 3 different combinations: only the Hardware, Hardware and Motors, Hardware and Motors and Electronics. I decided to not take their electronics as they use parallel port for printing. Instead I use the reprap generation 6 electronics. This is a massively compressed pcb, that holds all components you need on it. Unfortunately it is one of the most expensive parts of the printer with about 150€ for what I show in the picture below. The cost of the complete printer will be around 350-400€ – not including a power supply as I have one already.

Gen6 Electronics from cubic-print.com

I ordered this PCB at cubic-print.com (a germany based company) and they shipped it within 3 days, which I found surprisingly fast compared to some other orders I made in the last time. Thumbs up to the owner Wen Li. Now I am waiting for the printer itself coming from the US and the plastic coming from the UK. I will give a new update on this as soon as it arrives.