Fix broken pins on QFP Package

That is how my new HW-0.30-mini Quadcopter Flightcontrol looked prior to the repair:

broken pins

Since a few of the Pads already were delaminated I decided to do a repair instead of soldering in a new CPU. For a repair I would need to get rid of the expoxy mold to directly acces the pins of the leadframe. Initially I was thinking of using a ‘dreml’ tool to remove the exoxy, but watching the Uncaging Microchips talk at 31C3 taught me that using a CO2-Laser will also work.

Those pictures were taken during the laser-removal:

 

After lasering, all left to do was attach new wires. I did use a microscope for that. For scale, the wire running on top of the CPU has a 0.3mm diameter.

I ran some quick tests with the software to make sure the repair worked. Then a blob of hotmelt was applied to secure and protect the repaired pins:

HW-0.30-mini fixed

 

Backstory: I am also responsible for breaking the pins. I did solder the CPU at 31C3 without proper lighting using borrowed equipment. The temperature on the soldering iron was set to 450ร‚ยฐC, I failed to check that. This lead to some major fuckup. Since I wanted to work with the board, the decision was made to simply cut of the broken pins. At the time I didnt need them.

LinuxCNC Pendant

To make jogging easier (doing this with the keyboard sucks) I decided its time to build a remote pendant for my Mill. From ebay I ordered a Device with a MPG (Manual Pulse Generator) and two rotary switches. Its prebuild with a case and cable. Like most china-ware, there was no documentation. But I could open the case to check the wiring and cable-colors.

The USB-Interface is a BU0836A device. It allows 8 analog inputs (unused) and 12 switches.

To make the MPG work one needs to configure a pair of inputs of the BU0836 for quadrature encoder. Fortunately there is a config utility for linux. The acutual connection was done by soldering female headers to the open cable ends of the pendant (as seen in picture 1). The pinout is as following:

  • Encoder +5V -> +5V
  • Encoder GND -> GND
  • Encoder A -> SW5
  • Encoder B -> SW6
  • COMM -> GND
  • LED- > GND
  • LED+ -> +5V, with 470R in series
  • X1 -> SW4
  • X10 -> SW3
  • X100 -> SW2
  • AxisX -> SW12
  • AxisY -> SW11
  • AxisZ -> SW10
  • Axis4 -> SW9

The BU0836 PCB was build into a PVC for protection.

 

Not only the software-part ist left. To make it work in linuxcnc only a few lines of HAL code are required ๐Ÿ™‚

Download it here: pendant.hal

Pizzaoven Reflow Soldering

Using a pizza oven for reflow soldering has already been done a million times by hackers/makers all over the world. You can even buy a ready made reflow controllers for such setups. Still, I will present my approach here since it is a little bit different from others I have seen so far.

Most setups use a relay to switch the heating element on/off. Some designs use a SSR and even have elaborate features like zero-crossing-detect. However, I didnt want to mess around with mains voltage. Thats why I decided to use a DMX512-Dimmer do control the heating element. When you think about it, its just another kind of lamp. So why not use a device made to control lamps?

The actual control is done with a Raspberry-Pi. I used a “max6667” Thermocouple amplifier from ebay which is interfaced via SPI. Fortunately there was enought sample code available on the net, I only had to do a litte copy&paste to get it running. I did modify the code to use the py-spidev library. My sourcecode is attached to this post. I also used python to run the PID-Temperature-Loop. Since that code is really ugly I wont publish it nowร‚ย  ๐Ÿ˜€

Here is a picture of the complete Setup:

I did label some of the Items on the picture:

  1. Thermocouple
  2. max6667 board
  3. DMX Dimmerpack
  4. Raspberry Pi
  5. Temperature Monitor for Control/Debugging
  6. USB2DMX-Dongle

As mentioned above, a PID-Algorithm was used to control the temperature. The Profile is rather slow, but it does work. I might add insulation to the oven to allow faster heating.

Modified max6667-lib: max6667

Lasercut MyLittlePony CollectibleCardGame Action-Tokens

Recently I bought a 2-Player Starterdeck for the “My Litte Pony” CCG. One of the aspects of the game is managing you ActionsPoints.

The StarterBox did include some counters/tokens made from thin cartboard, but those are not easy to use. I also tried using dice to keep track of the actionpoints, but thats also not optimal.

Thats why I decided to create some tokens:

The material I used is Perspex (color-codes 2TL2 and 4TL1) in 3mm thickness.

 

The Design is based on My Little Pony Printable Cutie Marks which can be found on Thingiverse. I did some small modifications. The butterfly had some parts which were to small to lasercut; I enlarged those.

You can download the modified .eps files here: MLP.CCG.Tokens

Replace the battery of a Digital caliper with a supercap

I got the calipers off ebay (<10$) quite a while ago, but they kept draining the battery really fast. After i discovered this blogpost I decided to modify my calipers in a similar way.

Modified caliper with charging cable

The basic idea is the same:

  • replace the battery with a supercap
  • build a charging device

The only real difference compared to trevors project is the voltage used. I didnt have a 1.8V LDO around, so i decided to go with 3.3V.ร‚ย  An additional SI-Diode in the charging-path drops 0.7Volt, so the actual voltage for a charged cap is 2.6V which seems to be fine for the caliper (i did no long-time test yet). Also, with that diode one cant blow the cap by charging with reverse polarity.

I only used parts you can get from the german distributor Reichelt. The cap is a “SPK 1.0F”, the switch is called ‘T215″.

I did not much testing yet. But the cap kept enough power to work with the caliper even after 80 hours ‘standby’ ๐Ÿ™‚

Using OLA to controll a LED-Sign

Earlier this year my colleague Rรƒยผdiger and me build some LED-Letters and mounted them to the building front. The letters themselfes are made of 20mm Acrylic with buildin RGB-LEDs. A 3mm black Acrylic plate was added on top to cover the LEDs and generate more contrast for daylight conditions.

The control is build around the OLA Software. A Raspberry-Pi drives all the components. Two KarateLight devices provide 8 RGB channels each. A USB-Hub (which also poweres the Pi) and a USB-WLAN-Stick make the setup complete. The LEDs are powered by two 320Watt switching-mode PSU. Everyhting fits nicely into a steel cabinet which makes this thing waterproof. In order to organize the cables coming in at the bottom I build two combs which clamp the cables into place.

Since i dont have a cool DMX Application i wrote a few lines of python to generate a simple animation. Basically all it does is calculate a gauss-distribusion which is then shifted from left to right. Its quite simple and not well implemented, but it works: ola.python_fader.

I then use ola_recorder to store a single run of the script into a file. Playback is also done with ola_recorder running inside screen.

Adding alignment lasers to my laser-cutter

I bought my el-cheapo chinese lasercutter without a pilot laser. They did offer a visible laser for alingment, but that was just a simple laser-pointer mounted next to the main-laser-nozzle. It was kind of expensive (despite the fact that it was a really simple non-coaxial-design) so i decided to build my own.

From ebay i got two laser-modules in a cylindrical housing for about 21รขโ€šยฌ including shipping which already produce a line (they have a prism build in).

Iร‚ย  order to mount them i designed and build a bracket out of 12mm acrylic. Basically its a ring with a slot, i can slide it up the nozzle and fix its positin by tightening a screw. You can see how it looks mounted to the machine in the first picture.

Unfortunately i wasnt able to mount it further down on the nozzle. Now the laser angle is to steep and part of the laser is blocked by the nozzle itself (you can see the laser on the nozzle in the second picture). I managed to adjust it in a way that at least the pilot lasers cross in one point. Alignment in parallel to the working area required a little patience, but somehow i managed:

As a last job i wired everything up and slid the cables through the drag-chain. Since i was already soldering and installing additional wires, i also added two LED-Stripes to the portal to have better illumination while working.

Making Custom Dice

Everyone who has been to a gaming convention/fair has probably seen chessex or q-workshop selling blank dice. I always wanted to use those blanks to create my own dice. Since I now own a lasercutter the time has come to finally manufacture some ๐Ÿ˜€

I used 16x16x16mm blanks which i got at this years RPC in Cologne. My lasercutter does not have any fixtures, rulers or clamping devices, so I needed to make my own. My simple fixture is a piece of 5mm HDF with a 16mm square cut out at an absoulte position. This allows me to align any futher engraving to those absolute coordinates.

After engraving the only thing left to do was to add some contrast. I used black acrylic paint to cover the engraving. Its quite hard to apply the paint only to the engraved areas, so I decided to rub the paint into the engraved area and remove excess paint after waiting a few minutes for it to dry.

I think it worked quite well ๐Ÿ™‚

Now i am looking forward to create one custom dice for each player of my RPG group with a symbol matching their char.

Modding a Futaba FC18-Remote

Today i finished the modification of my remote ๐Ÿ™‚

Its an old Futaba FC18v3. I still had that one left from my first experiences with model aircrafts 15 years ago. I hate throwing stuff away, so I bought some new bits to make it usable again.

Now it features:

  • Powered with a 3C-Lipo (not shown in the pictures)
  • Blue Backlight LC-Display
  • FrSky DHT Transmitter module
  • Bluetooth interface for FrSky telemetry

The complete setup draws about 150mA @9V (with all modules powered on). That will make it run more than 10hours with a 1800mAh LiPo.

The Bluetooth and LCD module were both ordered from Ebay, the FrSky stuff from Hobbyking.

The installation of the different parts was pretty straightforward.ร‚ย  I removed the old 40Mhz-PPM-Transmitter and soldered the 3 wires for the new 2.4Ghz module. The old antenna was removed, also i moved the CAMPAC module in order to use that space for the additional LED-and-pushbutton-PCB of the trasmitter module. The Bluetooth module only has 4 pins, GND,+5V,Rx,Tx which i all hooked up to the FrSky. Since the FrSky-Pins are RS232, i modded the module to output TTL-Signals by accessing the UART directly. Unfortunately i didn document that, but you can find several images on google how to do that.

Changing the LCD-Module also was quite easy. Its a standart HD44780 module with a 14Pin connector. Some of the pins are not used because the FC18 runs the display in 4bit-mode. Basically i just removed the old module and soldered the wires 1:1 to the new one. Then i added two wires for the backlight which also runs of 5V.

The last part was setting up data display on my smartphone. Fortunately some other people already took care of that. I just installed FrSky Dashboard. Done ๐Ÿ™‚

A new USB2DMX based on PIC18F24K50 chip

I was in need of a cheap USB->DMX interface and decided to build my own. Searching the web I fould quite a lot DIY solutions. But most of them were unsuitable for me.

My design features:

  • low cost (about 10รขโ€šยฌ)
  • open source: schematic and board are licensed CC-BY-NC-SA, the firmware is GPL (except microchip files)
  • a real rs485 transceiver
  • signal-generation by the Microcontroller (no bit-banging like the ftdi-dmx interfaces)
  • bootloader to update the firmware (thats what the switch is for – rescue mode)
  • fits into a ‘G027’ case (kemo-electronic)

If you take a look at the schematic you will see that the processor used is a 18F2550. But its possible and recommended to use the 18F24K50 which is cheaper and doesnt require a crystal oszillator. This is due to the fact that i made the initial design with the older controller (which i had at hand during the time).

On the software side there is a patch for ola. You will notice that reworked the ‘opendmx’ driver (i failed adding a new driver/directory to the build system).

There is no need to patch ola anymore. The karate-plugin is now in the mainline-tree.

 

Please respect the CC-BY-NC-SA licence when downloading and using it ๐Ÿ™‚

20130506_kldmx_usb2dmx_Firmware

20130506_kldmx_usb2dmx_board