CCC Freiburg visits RaumZeitLabor Mannheim

Last weekend the CCCfr Hackspace visited the RaumZeitLabor Hackerspace in Mannheim.
Smaller then the ShackSpace in Stuttgart, we visited before, but wich much more food. ;)
We made us 3 CCCfr T-Shirts using the cool cutting plotter and shirt-press they had to offer and I found the time to drill and solder the PCB I made.
(Originally wanted to drill it on the CNC but I didn't have the right collets to mount the tiny drills.)


Milling stamps

I'm currently collecting information regarding milling my own stamps on the CNC machine.
The main inspiration is to make some Hackerspace Passport -stamps for CCCfr.


You can get stamp rubber easily.
I thought about deep freezing it but a friend suggested against it and to cut deep with a real sharp bit to get large shavings.


Aparently an engraving cutter seems to work fine.
Conneticut uses a 1/32"=0.8mm one FFM a 1mm one.


FFM: 16K RPM and 200mm/s
Conneticut: 6 ipm = 2.5mm/s ???? 


Both use 2 passes. 
FFM: delta-Z=-0.75mm depth=-1.5mm
Conneticut: delta-Z=0.75mm  depth=0.060" = 1.5mm


My first PCB

My first (hopefully) working, etched PCB.
Made in CCCfr last night.
This time the problem was not the (stored warm and brightly lit) PCB from the store but that my acid simply cooled down.
I didn't have access to a heated machine this time, so I used a 10eur kit and hot water.
We tried to warm it up again using hot air from a distance and later a large hot water tub but it just didn't work again.
Maybe it was already saturated.


Mobile Fräs-Kreissäge-Stichsäge -Tisch

Update: This project got postponed indefinitely.

Lately I've been playing a lot with my CNC and woodworking.
Gaining experience in what cutters work up to what depth, what spindle speed burns rather then cuts the wood, how fast I can go, how to mount the parts properly and what tollerances I have to calculate with due to the wood bending, vibrating and flexing.

So here is my next project:
I'm designed myself a portable table that I can mount
  1. my large circular saw (using 2 flat bars),
  2. my cheap router (using 2 round rods) and 
  3. my jigsaw (using 4 bolts).
As you can see, apart from the jigsaw, non of these tools are equipped to be mounted below a table.

Having a CNC, I'm planning not only give them
  • precise mounting points but also 
  • pocket out the shape of these tools on the underside of the table and 
  • provide a bedstop that has precise stops every 10mm, starting at 0mm from the middle of the blade/cutter. ...and use an engraving bit to 
  • actually label these stops as well as a number of distances and angles on the table
  • and label heights on the bedstop-slider (for the router)
I'm not sure I can pull this off.
For once the table is quite large compared to the working size of my CNC and I have no experience in mouting anything flat yet.
I'll have to cut provisional holes. Use these to mount it onto the CNC. Then use the precise holes to mount it while cleaning up the provisional holes.
I'll also have to think about a sacrificial plate below this part, so I don't hit the CNC's bed when drilling all the way through.
I'll also have to have an easy to center on origin location in case MACH3 crashes, takes the current coordinates with it and I have to find my origin again to resume the program.
     IF I get this done, the design files will of cause be released as CC-BY . The mounting holes are very specific to these 3 tools but can easily be adapted to other ones.



Ätzworkshop im CCCfr

...by first time of etching PCBs.
Workshop in our CCCfr Hackerspace.

USB Isolator

Last night at the weekly CCCfr meeting, I found the time to SMD solder again.
This time a USB (full speed+high speed) opto isolator.
It is based on the ADuM 3160 chip and can generate isolated 5V from the USB input or be powered from 5-12V externally.
The PCB is version 1.2 or a design by CircuitsAtHome. It is larger then version 1.1 and quite easy to solder by hand.
I still have a 1.1 PCB here that I plan to do another day.

I plan to use it on my CNC to further reduce electric noise leaving the spindle VFD and interfering with the rest of the equipment.


Yongnuo YN560 II on the inside

Last night at CCCfr I had two defective YN560 II flashes with me and took them apart to look for obvious problems.
So in case you wonder how these look on the inside, click on the album below:


improving Firefox for Android

I'm looking into fixing the fact, that you can't access your stored passwords on Firefox for Android.


  • Added new menu item "Passwords" in Fennec preferences, just below sync
  • TODO: create dialog for displaying the passwords.
  • TODO: get and honour master-password.
  • TODO: how to localize my strings?
  • TODO: how to access stored passwords?
  • TODO: how to submit my patch?

Setting up

I've set up the development VM as per the instructions .
What they didn't mention was to
  • increase the memory of the VM from 512MB to something like 4GB+swap. Else ld crashes (see below)
  • You need to run an Ubuntu distribution upgrade to get the required yasm 1.0.x
  • You also need to install your language to get your localized keyboard layout and everything.

Where stuff is

The Android UI code seems to be Java but it's not stored as pack/age/name/Classname.java as it's supposed to be but flat in
  • mobile/android/base/*.java .
It is set up not like a Java/Android project but like a C project. So all sources have to be manually added to
  • mobile/android/base/Makefile.in

Sync related code is read-only and comes from a separate sync-repository. See
  • mobile/android/sync/README.txt

String resources for english are in mobile/android/base/locales/en-US .
It it not enough to edit the
  • mobile/android/base/locales/en-US/android_strings.dtd but also
  • mobile/android/base/string.xml.in

Non-String resources like xml/preferences.xml are in
  • mobile/android/base/resources and each new file you add needs to be added to
  • mobile/android/base/Makefile.in


Remote Filemanager for Dropbox ported to API1

    The CCC-Freiburg is visiting the Shack hackerspace in Stuttgart for the weekend.
    Apart from getting ready to do some programming in the Firefox for Android sources,
    I took the time to upgrade my "Remote Filemanager for Dropbox" app to the new Dropbox API1 instead of the old API0.
    It still needs a lot of graphical work and I had to drop the AccountManager for a first version but it can accept new users again.
    I find the northon commander style much easier to work with for transfering files then the official Dropbox app.


    Because it has the permission GET_ACCOUNT it needs a privacy declararion.
    That permission exists to access it's own account. the credentials you enter into the app to access your dropbox accounts. Not accounts of other apps.
    It has no advertisement. No tracking. Does nothing except the file operations you tell it to perform.


    Camera Flash comparison Metz 58 AF-2 and Youngnou YN560-II

    Comparing the
    1. Metz 58 AF-2 and the  
    2. Youngnou YN560-II (also a 58)

    Made the same photo.
    • Both flashes on 1/1 = full power and 50mm zoom
    • Camera on full manual (aperture, exposure, ISO)
    • Using a 25mm lens on a camera with 1.86x crop factor (GH2 multi aspect sensor on 16:9).

    Wanted to know of the "58" on the Yongnou was just advertisement.
    ...aparently it isn't.

    The Metz is 200eur and has all the bells and wistles.
    It can do TTL and even wireless slave with Panasonic GH3 (Flash firmware 2.0) and with Olympus cameras.
    The Yongou is 60eur, full manual only, very dump but has simple zoom (as opposed to the 460-II).


    Java program to probe Z for PCB milling VERSION 2

    I learned a bit more about g-code and completely rewrote my "PCBZCorrect" program.
    Usage now:

    1. create g-code to mill a PCB (or engrave anything else) using pcb2gcode or any other program
    2. Mount the blank PCB and mount the electrical probe onto your CNC machine
    3. optional: modify the sources to use EMC2 or another grid then 5x5 
    4. run the jar file, select the g-code file
    5. run the created *_zprobed.ngc g-code in MACH3.
    6. it will probe the actual z height in a 5x5 grid and store these values in variables #100 to #124.
    7. it will then stop
    8. disconnect your Z-probe and get ready to mill.
    9. press "Cycle start" to continue the program flow
    10. it will mill the PCB using a bilinear interpolation to follow the actual, meassured surface height of the PCB to ensure a consistent cutting depth in the micrometer range
    11. it will also have broken up all long movements at z<=0 to follow the surface at the right height

    left = before (45° engraving tip)
    right = corrected  (10° 0.1mm engraving tip)
    (Yes, I was too deep on the right side. Z-0.0008" was hovering above the copper, Z-0.0016" was cutting too deep into the glass fiber. )