Quarantine – Week fourteen

A week in which I’m probably going to walk the dog more than write.

Monday 2020/06/15
Fixed a few bugs in some visualisation code I’ve been toying with on and off for several years. It can actually show the three projections of a volumetric data file now. Win. Now to re-work it to it’s possible to add features. This means it’ll be broken for the foreseeable future.
Walked the dog twice.
Saw a squashed stag beetle on the way home from the second walk, all the years I’ve looked for stag beetles and the only one I’ve ever seen was 20m from my front door and squashed almost flat.

Tuesday 2020/06/16
Lousy night of sleep. Too hot & too humid. Awake at 5-ish, up at 7.
Writing this. Going to take the dog out later if it’s not raining.  Took the dog over to Crouch End to visit M and go for a long walk. My first trip on a train under the new face covering rules. I made some notes:

Walking to the station : 16 masks out of >50 people
Three men on the tube with no masks – totally brazen about it. One looks like he wants a fight about it. Everyone gave them distance. Approx 4 people per 1/3 of tube carriage.

Overground from Barking, all ok to start. One fucked up guy at station before Walthamstow, ranting. Jewish lady no mask, kids with her all masked ok. Another woman wearing a mask on her chin.

We walked the parkland walk to Highgate, got takeaway Tea and walked back though the woods and playing fields to CE. Fish and chips eaten socially distanced on the green. Tea. Home.

My mask notes for the return journey:
Overground much busier, only roughly every other seat occupied. Young lady diagonally opposite me with no mask and being very blatant about it – grinning as she looks around as people get on.

District line – similar, less busy. Two young men with no masks got on together and moved to opposite end of carriage.

Despite repeated announcements on the trains, there were still people ignoring the request for face coverings, perhaps there were genuine reasons for not wearing, but I’ll never know. At least three of the people not wearing masks seemed to be doing to so make a point. No one else said anything to them, will be interesting to see if this holds when the trains a busier.

Wednesday 2020/06/17
Total waste of a day really. Almost no sleep, so really didn’t get much done at all.
Walked the dog somewhere I was sure I hadn’t been before, but saw something that made me think I had. It’s hard to second guess yourself when the first guess was 25+ years ago and you were not entirely sure back then.

Thursday 2020/06/18
A meeting on MS Teams about our impact case statement for the REF 2020 return, the reviewer hadn’t read the draft we sent, so the meeting started a bit pointless as he suggested things already addressed in the draft, we puled it together in the end and got some useful advice.

Still not sure about a return to the lab date yet.

Handlebar-post-thing extender arrive for the bike, fitted it, but have several bits left over including two very long screws that seem to go nowhere. Took the bike for a ride, much nicer now.

Friday 2020/06/19
Pottering on some code today. Should have been going on holiday.

Saturday 2020/06/20
Longest day of the year.
I’m planning to cycle to work for a few months or longer depending on transport situation and the possibility of second- and third waves. Last time I cycled to work was well over a decade ago and the journey involves part of the A13, until I can switch to the Greenway at Beckton.
The ride to Beckton was much nicer with proper cycle paths segregated from the road. Exactly 30 min from home to the start of the Greenway.
I also built an oscillator.

Sunday 2020/06/20
A day spent tinkering with code and the oscillator. Rebuilt it to be less messy and more stable.

Took the dog for a long walk.

De-capping ICs for fun and profit, but mostly fun.

Some time back, a friend @codfishcatfish was building a GPS disciplined oscillator for radio measurements. Part of the circuit uses a MAX232 device to interface the low voltage digital signals to a PC serial port. He found his cheap (from eBay) MAX232s got very hot and failed in use.

It was obvious the devices were fake, so I offered to tear one down to see what it really was, a cheap clone or a re-badged something else?

 

A couple of sacrificial fake ICs
A couple of sacrificial fake ICs

The standard technique to remove all the epoxy and metal to leave the bare silicon die is to use strong nitric acid. So I cut the legs off the chips, no point wasting acid dissolving those, and ground away some of the epoxy resin to speed up the dissolution.

ICs with legs and some of the epoxy package removed
ICs with legs and some of the epoxy package removed

Soaking the ICs for an hour in room temperature nitric acid had no discernible effect, so I heated up the acid. The reaction became very vigorous!

It took about 20 minutes to remove sufficient epoxy to see the silicon die – it also removed the lead-frame and bond-wires so there was no chance to test the ICs after de-capping.

 

Cruddy mess after the acid finishes its work
Cruddy mess after the acid finishes its work

 

After the acid had done its work the bare die was visible in both ICs
After the acid had done its work the bare die was visible in both ICs

The ICs were dried and the die removed by scraping away the carbonised epoxy with a scalpel. This done, the die could be examined under high magnification to see if it looked anything like a real MAX232 or I could see any other identifying features.

Bare die of fake MAX232
Bare die of fake MAX232

Comparison with a real MAX232 die proves these ICs are fake. The only identification I could find on the die is the following

Identification marks
Identification marks

So I’m non the wiser as to who actually made these, but the device does seem to show a general resemblance to the layout of a real MAX232 – they didn’t just program a micro-controller to do the job or something similar.

It was just a fun diversion and a chance to try something I’d wanted to do for a while. I might try to find some more interesting ICs to pull apart and take better images of.

Eclipse chasing

Can you really be an eclipse chaser if you’ve only actually chased one eclipse?
My chased eclipse was August 1999 – south west England. Back in the mid 1980s I had a book of fascinating astronomical facts, it listed the dates of upcoming eclipses until the far-off Year 2000. I decided that I’d see that one, and as time passed, I did find myself watching very cloudy skies from a side road near the hurlers stone circle. The sky did darken at the appointed time, the surrounding fields lit up with camera flashes and there was a genteel sense of disappointment when the sky cleared for a glorious sunny afternoon shortly after the end of the eclipse.

I’ve since caught a few other eclipses visible from London, but I’d not gone out of my way to travel to see any. I’ll not count the North American October 2014 partial eclipse as chasing because I was already in the country for other reasons.

Of course it was cloudy for the big event today. My preparation of solar film, pinholes and time-lapse camera was for nothing. With about ten minutes until first contact between sun and moon, I decided I’d at least have a try at logging the change in light levels.

I quickly bodged together an Arduino, an SD card and a light sensor, and put it in the garden. The plan being the thick cloud cover may stop be seeing the ellipse directly, but would act as a perfect diffuser for making whole-sky light level measurements.

Quick and dirty light logger

The graph shows the result – it got dark(er) when it should have.

eclipse2015

The y-axis units should be Lux, but are uncalibrated.

Other eclipses during my life.

July 1982 – No memory of this one.
December 1982 – No memory of this one either.
May 1984 – Vague memory of my Grandfather trying to view this though smoked glass.
May 1994 – Watched this though a pinhole in card held up to my eye.
October 1996 – I must have watched this, but I can’t recall it.
August 1999 – The big one, had planned to watch this since the mid 1980s. Got stuck in traffic close to our chosen viewing spot (along with half of Cornwall and the BBC), watched from the side of the road. Cloudy, but magic.
May 2003 – Far too early for me.
October 2005 – Set up with telescope and camera at work, clouds rolled in. Managed to get the occasional glimpse of the sun in projection though the telescope.
March 2006 – May have tried to watch this one, but it was only a tiny fraction partial eclipse and I was deep in PhD writing up, so no memory of this eclipse.
August 2008 – Another tiny fraction partial eclipse, I think I tried to spot it using a stack of CDs as a solar filter.
January 2011 – Early and cloudy, nothing seen.
October 2014Nicely visible from a front porch in Minneapolis
March 2015 – as above, cloudy but at least some data from the eclipse.

RTLSDR + MatLab 2014b

Horribly geeky post, more for my own information than anything. Might help others.

After installing MatLab 2014b on OSX, I thought it might be fun to see if it’ll work with an RTLSDR dongle – if you’ve a license you can download a driver package for the MatLab communication toolbox from Mathworks (No, I’ll not give you or help you get a pirate copy.)

The RTL support package installs ok, but it wouldn’t work with the existing librtlsdr.0.dylib library on my system. It seems the library had been installed with a Compatibility Version number of 0.0.0

matlab-rtl-error

Recompiling the library from scratch, or installing it from homebrew didn’t fix the error. A nose around in the  build folder for librtlsdr showed that no compatibility version number was being set when the library was being linked (final step in the compile process.)

The solution was to edit the link.txt file in /build/src/CMakeFiles/rtlsdr_shared.dir
There’s only one long line in the file, I changed it to read:

/usr/bin/cc  -O3 -DNDEBUG -dynamiclib -compatibility_version 1.0 -Wl,-headerpad_max_install_names -current_version 0.5.3 -o librtlsdr.0.5.3.dylib -install_name /Users/dm/scratch/rtlsdr/librtlsdr-0.5.3/build/src/librtlsdr.0.dylib CMakeFiles/rtlsdr_shared.dir/librtlsdr.c.o CMakeFiles/rtlsdr_shared.dir/tuner_e4k.c.o CMakeFiles/rtlsdr_shared.dir/tuner_fc0012.c.o CMakeFiles/rtlsdr_shared.dir/tuner_fc0013.c.o CMakeFiles/rtlsdr_shared.dir/tuner_fc2580.c.o CMakeFiles/rtlsdr_shared.dir/tuner_r82xx.c.o /usr/local/lib/libusb-1.0.dylib 

[all the above should be on one line]

Then the library was rebuilt (issue the make command in build.)

matlab-rtlsd-rworking