Plastic part surface finish: please stop making mirror products

They are simply dust, fingerprint and scratch magnet, everything is summarised in the amazing book The Hardware Hacker: Adventures in Making and Breaking Hardware from Andrew ‘bunnie’ Huang

“My world is full of small frustrations like this. For example, most customers perceive plastics with a mirror finish to be of a higher quality than those with a satin finish. There is no functional difference between the two plastics’ structural performance, but making something with a mirror finish takes a lot more effort. The injection-molding tools must be pains-takingly and meticulously polished, and at every step in the factory, workers must wear white gloves. Mountains of plastic are scrapped for hairline defects, and extra films of plastic are placed over mirror surfaces to protect them during shipping. For all that effort, for all that waste, what’s the first thing users do? They put their dirty fingerprints all over the mirror finish. Within a minute of a product coming out of the box, all that effort is undone. Or worse yet, the user leaves the protective film on, resulting in a net worse cosmetic effect than a satin finish. Contrast this to satin-finished plastic. Satin finishes don’t require protective films, are easier for workers and users to handle, last longer, and have much better yields. In the user’s hands, they hide small scratches, fingerprints, and bits of dust. Arguably, the satin finish offers a better long-term customer experience than the mirror finish. But that mirror finish sure does look pretty in photographs and showroom displays!”

Linux/Ubuntu: Speaking clock with online TTS

As a followup of my previous article:

Ubuntu: talking clock every hours

4 years after the previous article, I still need this tool, but I wanted a more “natural” TTS.

So I’m using Voxygen, a natural TTS provider (very good for French), retrieving the generated voice with wget and the following command:

wget --quiet --no-check-certificate -O /tmp/clock_`date +\%-1H`.mp3 "https://www.voxygen.fr/sites/all/modules/voxygen_voices/assets/proxy/index.php?method=redirect&text=il est exactement `date +\%-1H` heures.&voice=Loic"

Here is the script to run every hours:

if [ ! -e /tmp/clock_`date +\%-1H`.mp3 ]; then wget --quiet --no-check-certificate -O /tmp/clock_`date +\%-1H`.mp3 "https://www.voxygen.fr/sites/all/modules/voxygen_voices/assets/proxy/index.php?method=redirect&text=il est exactement `date +\%-1H` heures.&voice=Loic"; fi ; mpg321 /tmp/clock_`date +\%-1H`.mp3 --gain 200

We will be using gnome schedule taks:

screenshot-from-2017-01-05-100935

Portable soldering fumes extractor fan DIY (battery operated and USB rechargeable)

Here is a very simple fume extractor fan, to put an halt to apnea soldering.

Made of:

  • DC/DC buck boost converter (3€ on ebay)
  • USB battery pack 5€
  • scrapped fan
  • scrapped switch
  • scrapped potentiometer
  • Hammond prototype case (1€, same as my USB motion sensor)
  • nice labels
  • double side tape

Enough talk, a picture:

And in action, can suck up to 15cm at medium speed:

This “hack” took me 30min, and costs close to nothing, while some have been down to build a DC/DC converter for this!

Thing to add in the future:

  • active carbon filter for better filtering, but usable as is for small jobs: you don’t get fumes in your face anymore.
  • USB light for soldering in the dark

My favourite use: in the freezer/fridge, when you forgot to chill beers for an unexpeted party, it takes only 10min to have freezing beer instead of 1h. (remove the carbon filter first…)

Kobo Glo/HD enable without registering or account

Mount the device by USB, right click “open on terminal”

[code language=”css”]
echo “insert into user values(‘foo’, ‘foo’, ‘foo’, ‘foo’, ‘foo’,’foo’,’foo’,’foo’,’foo’,’foo’,’foo’,’foo’,’foo’);” | sqlite3 .kobo/KoboReader.sqlite
[/code]

Eject the device, and voilà!

What the heck, I want an ebook, not registering!

USB connected digital multimeter and graph plotting (UNI-T UT61E and sigrok)

Ever wanted to have nice plot (U/I curve, whatever) simply plotted?

I got 2 UNI-T UT61E with USB cable (50€ each)

With sigrok you can easily get data from many device with a single command:

sigrok-cli –driver=uni-t-ut61e:conn=BUS.DEVICE -O analog  –continuous

Where BUS and DEVICE is replaced with the output of lsusb

lsusb
Bus 002 Device 002: ID 8087:8001 Intel Corp.
Bus 003 Device 086: ID 1a86:e008 QinHeng Electronics HID-based serial adapater
Bus 003 Device 087: ID 1a86:e008 QinHeng Electronics HID-based serial adapater

In my case, as I’ve 2 devices, so 2 different commands are used:

sigrok-cli –driver=uni-t-ut61e:conn=3.86 -O analog  –continuous

sigrok-cli –driver=uni-t-ut61e:conn=3.87 -O analog  –continuous

 

But what about logging in the same file the two ouputs simultaneously?

Here comes the magical function: paste and joined pipe:

paste <(sigrok-cli –driver=uni-t-ut61e:conn=3.86 -O analog  –continuous) <(sigrok-cli –driver=uni-t-ut61e:conn=3.87 -O analog  –continuous) > measure.csv

 

I’ll let you deal with the uber simple csv processing with octave or libreoffice calc (mV, mA range condition, etc…), as this blog entry is mainly used as a personal notepad.

 

Note: if you have trouble connected with sigrok, with an error. You may need to disable the power feature, with the script pointed by blog.philippklaus.de

#!/bin/bash
# see http://www.erste.de/UT61/index.html
for dat in /sys/bus/usb/devices/*; do 
  if test -e $dat/manufacturer && grep -q "WCH.CN" $dat/manufacturer; then
    echo "Suspending ${dat}."
    echo auto > ${dat}/power/control
    echo 0 > ${dat}/power/autosuspend 
  fi      
done

Process audio file with Sox using Room EQ Wizard filter file

Rationale: compensate a speaker response curve (gain and phase) on a audio file.

Just came accross REW (Room EQ Wizard) (Linux, Windows, Mac), it let you plot the output of your speakers, then create a filter to compensate the flaws.

Once you created your finely tuned speakers, Export-> Filter as text file.

Then, it’s time to process the audio file with this filter, using the amazing Sox:

sox -q input_file.wav output_file.wav `awk ‘$4==”PK” { gsub(/,/,””,$6 );val=$6;printf ” equalizer “val” “$12″q “$9}’ val=”%’6.3f” REW_filter.txt`

That’s it: you have a outputfile with the correct compensation for your just analysed speaker.

Of course this method is for non-real time need.

microSD card reflow: quick and dirty PCB with Kicad

Ever wanted to add a lot a flash memory to a small microcontroller? NOR flash or EEPROM are ok, but only for small size. For Gbit range, you need NAND, and with NAND comes CCR, LUT, wearleveling, etc… Furthermore, they are darn expensive in small volume.

SD and microSD card are very interesting: they cost nothing, and you just need a SPI interface as the controller is included.

Last night, I thought: “why not reflow a complete microSD card”, and save the cost of the socket, and PCB footprint size. As the card is composed of the same resin as chip casing and pins are flat bellow the microSD card and even gold plated, fore sure it should not be a problem to bring this to 270°C for 2-3 min….

Let’s try!

Here is the pinout

Then let’s create a small board, to try the reflow of a micro SD card and give access with some 2.54mm header.

Lets open Kicad and start with the schematic with Eeschema:

Then PCB new for the board layout:

Let’s submit the gerber files to OSH Park

Total including USPS post mail: 4.10€

That was my fastest board made ever, 1h30 from searching the pinout to the confirmation email!

See you back in few week for the oven reflow test!

Update: the board and the reflow!

First, let’s clean it and apply some flux:

Then some solder on the pads, and flux again:

Time to turn the heating plate and IR reflow on:

Just stir it a bit while it’s hot:

Houston, we have a reflow!

Then time to test: lets scavenge a super cheap reader microSD card reader:

And plug it: IT WORKS! After 3 min under the IR station, it does work.

I think I’ve to increase the pad size, in order to maximize the solder paste.

Now I’m confident sending to production, as I’ve quite a lot of theses cards in trays, ready for pick and place:

 

Simple CNC desktop router workflow and example

If you have access to a simple desktop mill/router, and you are not into mechanical part design, here is a very simple workflow:

Workflow

Sofware

You will only need free/open source program:

Example

In order to illustrate this example, we are going to make a case for a nice Nixie Clock from PV Electronics

A simple Ikea-hack will do for the wooden box: DRAGAN 2-piece bathroom dish set, bamboo

The front panel is milled

And fitted in place

The 2 stainless steel feet are from Ikea again

Thanks Dan Heeks for the very good software.

Happy milling!

Files are available here.

Dirt cheap DIY Smartphone Bike Mount

I use my bike quite a lot to commute in the city.

And, sometimes, to find the good street (believe me, in France, it’s not that easy) with the GPS while riding is tricky.

So I’ve been looking on the Internet to find THE good smartphone holder: unfortunately they are either bulky or expensive (and most of the time both)

Except this one: the Finn, a $9.95 silicone mount:

But buying things is not the hacker’s way.

So let’s take the design on Inkscape:

Download the pdf file here and print it on a A4 paper sheet without scaling.

Tape it with carpet double side tape on an old bike tube.

Cut the tube by cutting the paper pattern at the same time and remove the paper and tape.

Rub’it on your bike and let’s ride!

Important: the mount has to go on the back of the handle bar, as shown on the step 3.