Skip navigation

Category Archives: craft

Ah, the bliss of populating THT circuits on manufactured PCBs… just follow the silk-screen and you’ll be fine. in contrast, the fun-factor of soldering perfboard is way lower. your eyes move from your plan (if you happen to have one) to the board and back, your brain is trying to mirror the layout while you flip the board back and forth all the time. while this might be OK for a single board, what if you have to assemble two? or three? or even more?

for my latest project, i have to populate 10 identical boards. why not have a PCB manufactured, you may ask. well for different reasons: first, it’s too expensive, because the boards are rather large. secondly, i have to get rid of a larger amount of perfboard. third, the layout is not complicated enough to justify a manufactured board.

anyway, in a former similar project, i used a CNC mill to plot the traces onto the board:

plotted pcbs

this was extremely helpful, but setting up the files and the mill took some time. now in the recent project, i experimented with toner transfer to not only put the layout on a perfboard but also a silkscreen on the top. the result is a board that is as easy and flawlessly to assemble as your first beginners electronics kit back in the day and it is neither complicated nor time comsuming:

bothsides

although this is supposed to be some kind of tutorial, i’m not going into details about the toner transfer process, because this is described in other tutorials.
the base of the process is to have a board layout. i normally create layouts even for my perfboard circuits in Cadsoft Eagle. if you set the grid to 0.1 inch and stick to 90 degree angles, you’ll be fine. after that, you usually print out the layout and use it as a template while soldering.
but soldering is still pain in the rear. so why not spend a few minutes with a laser printer, an iron and a sip of water to create a professional perfboard™?

first, i CNC’ed out the boards, because they have a rather odd shape.

milling

if you have no access to a CNC, just use a hacksaw, jigsaw, scroll saw, chainsaw, dynamite, whatever. if you cut your boards manually, you maybe want to cut it after the silkscreening to have an outline for cutting.

for the toner transfer, laserprint the layout onto a piece of catalog or anything else that does not absorb the toner. you may want to stick to one of the toner transfer tutorials i linked earlier for details.
now it gets a little counter-intuitive: keep in mind that during ironing, the layout gets mirrored. that’s why you should only mirror the TOP layer before printing, not the bottom layer. it’s a good idea to print out of Eagle directly. printing into a PDF first is likely to result in unwanted scaling of the layout.

bottom

top

printed_layout

this is a little tricky: you have to carefully align the perfboard grid to the layout grid. i made good experiences with aligning towards a window or a ceiling light, then holding both layout and board with two fingers, carefully putting it on a table upside down and carefully taping it into place. did it mention that you should be very careful? before ironing, check the alignment again.

alignment

putdown

taped

ironing

after ironing, let the board cool down and put in into a bowl of water. peeling/rubbing off the paper is easy if done underwater (only the board and your hands need to be under water). if you decided to do layout AND silkscreen, just repeat the whole process, but be sure not to iron the second layer too long, because you will re-liquify the toner on the other side and the board will stick to the surface.
satisfied? then go solder your professional perfboard™.

heap

stack

detailtop

summary of things to keep in mind:

* print directly out of Eagle/yourLayoutSoftware
* mirror the top layer, print bottom layer normal
* carefully align layout and perfboard grid
* check alignment before ironing
* iron second layer only half a minute or so

if you have any questions or ideas to improve the process, please do comment!

UPDATE: here’s timelapse of soldering the board. it took about one hour and the video is speed up 10x:

In the beginning of 2011, i was asked to create some light effect for electronic music partys. it had to be robust and simple, the budget was just 200 Euros. my first thought was obviously an LED matrix. but as i experienced in my former matrix projects, these things can be expensive. after a short brainstorming, we came up with the following concept: we decided to build single panels that contain five RGB LEDs in a row. these panels can be mounted on the ceiling and are either distributed in the room or combined to form a matrix. the design was kept very simple and therefore cheap, which allowed us to build a few panels with the budget and extend the project if more money is available.

time was short, so we went for five panels to end up with a 5*5 matrix at the first party. we bought slats, stapled them together and ended up with ladder-like constructs that were 3.3 m long and 0.4 m wide. some fabric was used as a diffusor. an ATmega168 and some transistors on a breadboard control the five LEDs and the thing looked like this:

 

as you can see, the angle of radiation of the LEDs seperates the singe ‘cells’, making it possible to display clear ‘pixel’ images later on. since a breadboard is not the most robust solution for electronics and manufacturing PCBs would have been to time-consuming/expensive, i used perfboard and throughhole components. i routed the board in Cadsoft Eagle and used a CNC mill with a pen as a plotter to draw the traces onto the boards before soldering. this made it easy to reproduce them and place the mounting holes. no more messing around with mirrored Eagle printouts and forgotten traces. optimized like that, soldering went pretty fast, about an hour for a complete board.

plotted pcbs

so what’s on that board? as the brain, i still use the ATmega168. ULN2001A darlington arrays drive the LEDs and a 1489N RS232 receiver changes the +-12V signal to 0-5V. the voltage regulation is handled by a 7805, dirty but inexpensive. the complete board costs around 10 Euros. as connectors for the power supply, i chose 4 way MOLEX power connectors because they are cheap, robust and reverse polarity protected. for the data line, standard SUB-D9 connectors are used. the boards are designed to be daisychained, so power/data in on one side and power/data out on the other side.

ajolicht pcbs

power is supplied by an old ATX PSU. i use the 12V line and regulate down to 5V on the single boards. this is done to overcome voltage drops when using a long power line and many boards.
the data stream that controls the panels is generated by an old laptop running some python scriptage on a linux system.

AjoLicht matrix half hanging

all panels share the same RS232 line. this is possible because they only receive. each panel has it’s own address and can thereby be controlled individually, so it does not matter if you want to control one or fifty panels. the firmware on the panels handles the datastream, generates the PWMs via binary coded modulation and performs a gamma correction.

the protocol for data transmission is rather simple:
'A',address,15 bytes of data (5xRGB)
represents a data package for one panel, 17 bytes in total.
here’s a video of the finished five-panel, 3*3 m matrix:

 

the panels so far survived 3 partys, rough handling and beeing stored under bad conditions.
so yes, this is the billionth LED matrix, but this time, it’s large scale and really cheap, easy to build and makes a cool illumination for partys. and it always surprises me how you can still amaze people with a bunch of blinking LEDs.

specs in short:
* panel is 3.30m x 0.4m
* costs for each panel: 25 Euros
* 5x superflux RGB LED per panel
* RS232-bus
* 24 bit color depth
* ~80 FPS @ 5 panels in a matrix

feel free to download the source files including firmware sources, example python script and eagle files.

))) project files (((

if you have any questions, please do comment.

About a year ago, i joined a group of hackers to take part in the Nokia Push Challenge, which was basically a hacking contest brought up to advertise the N900 smartphone that was released at the end of 2009. The teams were asked to come up with creative ideas to use the phone.
The Solderin’ Skaters wanted to equip a skateboard with motion sensors in order to use it as a real life gamecontroller for a skating game running on the smartphone. the skateboard sends 6-DOF IMU-data to the phone via Bluetooth. a software on the phone uses datamining in order to detect the tricks the skater performed and award those with points in the game.

skateboard complete

i was one of the two hardware people that build the skateboard. the electronics were designed by the other guy and my main task was to mount them to the skateboard, sp o in this post, i will only focus on this aspect of the project.
what sounds simple at first is in fact fairly difficult. besides the strong vibrations while riding the skateboard, huge g-forces are applied to the electronics when you land a trick. another problem is that almost every part of the skateboard is exposed to kicks, scratches and impacts, which has to be kept in mind when searching for a spot to mount the electronics. additional constraints are Bluetooth connectivity and the sensitive LiPoly battery that powers the system.

spacer closeup

we decided to put everything between the deck and the trucks of the skateboard. therefor i designed a special mounting consisting of four important parts. first a frame that holds the electronics in place and protects them from impacts. second a set of transparent covers that allow to observe the status LEDs on the PCB. another important component is a custom foam rubber cushion that surrounds the PCB in order to damp vibrations and impacts. finally a thin piece of PVC separates the LiPoly battery from the PCB and keeps it safe inside the truck.

spacer montage

all parts were designed in a CAD software and CNC milled afterwards. after some try and error in the design, the results were pretty satisfying. the skateboard has been in sporadic use for about a year now and it still works fine.

besides the Push Challenge, we presented our work at the ACE 2010, the 7th International Conference on Advances in Computer Entertainment Technology in Taiwan.

demo of the application:

links:
solderinskaters.net, infos about the project
Solderin Skaters @ Flickr
Nokia Push Challenge

While relaxing on a beach in spain back in 2006, an idea came into my mind. i wanted to build an LED display. fullcolor and large. no large resolution, just large in terms of dimension. in december 2006, i made actual plans for the project. from there on, i experimented, prototyped, programmed and soldered from time to time. having no deadline made it a real long time project. but then in 2009, i had my 10×10 pixel RGB LED matrix, a square meter of color and light.

matrix with its creator

i guess most of you are particularly interested in some facts about the hardware and software. first the hardware. i used 100 Superflux RGB LEDs with an angle of radiation of about 100°. the LEDs are dimmed via 8-bit PWM, generated by ATmega8 microcontrollers. each controller is responsible for 4 LEDs, which makes it a total of 25 controllers, running at 14,7456 MHz. there are 4 controllers on each PCB, the outputs are amplified by darlington arrays.

guts of the matrix

every LED has it’s own small board, including resistors for each color channel. the pixels are separated by a grid made of 4mm plywood. the light in each pixel is diffused by a small piece of air filter material and the frosted plexiglas pane. diffusion was a major problem, and i guess it’s not really possible to achieve perfect diffusion. my solution is a tradeoff between good diffusion and complexity.

pixels seperated by a grid

the data comes from a PC via RS232(USB adapter) at 460800 baud. all controllers read the RS232 line simultaneously and are addressed by a reserved byte in the data stream. so i broadcast the data to all controllers and each one picks the data it is supposed to read. i’ve reached frame rates beyond 100 FPS.

the final software was written in JAVA because of the OS independency. it is still in development and will probably always be. at the moment it is capable of playing back animations which are stored in bitmaps, displaying the game of life and some variations of it, simple particles and several colorful effects and filters. and of course multiplayer tetris with overlaying playfields. can drive up to three sane persons really nuts.
the matrix was always supposed to be some entertaining decoration element, so it has to be able to generate an endless variety of content without steady user inputs. so i let the software surf the internet and jump from link to link. on every website, it collects content. at the moment, its just an image of the whole website, but i plan to analyze for example the text on the website. the image of the website is analyzed to get it’s n main colors, which are then the basic colors of graphical effects. i hope to end up with some kind of AI which analyzes the web in-depth and shows a simulated creative behavior in dealing with forms, colors and movement. but that’s an utopia right now and it’s gonna be a long way.
another plan was to add some kind of interactivity, but the design is not optimized for adding sensors. maybe a webcam could be used as a proper input-device.
future plans for the hardware include the integration of a netbook to have a completely standalone device which connects to the internet via wifi or ethernet. i considered some embedded solutions, but as old netbooks get cheaper and cheaper, this would be a reasonable solution

if you want to have detailed information about the development and the building process of this project, please visit the project’s own blog
http://rgb-led-matrix.blog.de (german)

So i had these three servos and thought about how to use them in a project.  i saw flexpicker robots on the internets which were really impressive. had to have one. found six ball joints in my drawer and started to do some cad. i needed twelve ball joints or at least something comparable, so i had to make six from scratch. a few days of cnc-milling and drilling later i had my delta-robot. now it’s time to find a purpose for this thing. i thought about attaching some kind of head to it with an integrated display. i plan to control robot and display via rs232 and a microcontroller. so there’s more to come.

pics:

delta robot in uncentered position

 

delta robot closeup

Some time ago i got into rubik’s cubes by accident. after a while i thought it would be nice to solve the cube using a different perception than the visual. i decided that i wanted something haptic.  so i went and designed some patterns that were

  • easily distinguishable
  • systematic
  • plain
  • easy to make
  • rotation invariant

 

    the result were three different basic shapes: cross, box, hollow box

    Cube Patterns

    “why no circle?”. well i decided to stick to the concept of straight lines. but i added some roundings just for a more comfortable feeling. anyway, it’s three basic patterns in a normal and diagonal version each since the colors on a rubik’s cube are also paired. we have [red/orange], warm colors on opposite sides of the cube, [white/yellow], bright colors and [blue/green], cold colors.  i wanted to keep that concept in order to have a better orientation when solving the cube. so each [normal/diagonal]-pair is located on opposite sides of the cube.

    finally the plates were cnc-milled out of  pcv and it was a really painful amount of work to clean them with steel wool.  it took a while till i got my fingerprints back. i peeled off the original labels of the rubik’s cube and mounted the plates using double-sided tape.

    54 plates later the cube was finished. the first days the cube felt a little uncomfortable, but it became better because the edges wore off. solving the cube takes me about five times longer than solving a normal cube, but it’s an interesting challenge every time.

    here’s a picture of the finished cube:

    finished cube

    %d bloggers like this: