Modifying the IKEA TRÅDFRI Shortcut Button

With the Zigbee remote-controlled lights and sockets I now needed a way to switch them that's more convenient than a mobile phone. There are various solutions available for this but the best looking one I could find is the IKEA TRÅDFRI Shortcut Button that can be used with any Zigbee coordinator. I can use these to switch lights on and off, play/pause music and turn speakers on/off.

White push button with a ceiling lamp pictogram that has been coloured in by hand

They work well but the battery management in the first version of the firmware isn't great and they regularly lose network pairing information for me when the battery runs out so I upgraded to the latest firmware (which is documented as fixing this issue).

One of the often requested features on these buttons has been the ability to set an action on a double press (as well as the original single press and long press gestures). The later firmware versions have added this feature.

Unfortunately to implement a double press requires delaying the reaction to a single press. Lights that would previously change instantly now take about half a second to do so which is visibly slow and irritating when you know that it used to be faster and doesn't have to be this way.

Trying to get IKEA to fix this is likely to be impossible and they don't provide any kind of email-based support that would allow complex technical issues to be communicated. Even if they could be persuaded that there was a need to make a change it could take months or years before they implemented it.

I don't want to wait that long before I can upgrade all of my push buttons to get better battery management, so I've decompiled the latest firmware and determined what to change to be able to disable the double press feature and remove the 400ms delay on single presses:

PCB from inside the IKEA TRÅDFRI Shortcut Button, with pins soldered onto the debug contacts at several different unusual directions and angles. Jumper wire cables are attached to most of the pins.

Full details on the firmware modifications and accessing the flash.

Zigbee multi-channel light controller

With a recent oven purchase I only had one device left that required the clock to be manually synchronised - a timer that I use to turn a light on in the morning. Having had to replace some remote controlled sockets with Zigbee variants I decided to do the same with the light timer so that it can be controlled by a computer that always has the correct time.

That worked ok but I wanted more integration with the light switch and since my living room lights could already be remotely switched by a different system I have consolidated both of them into a single light controller. There aren't any existing solutions for this that can handle multiple lights and multiple switches (you can have one relay/switch, or multiple relays plus multiple switches but Zigbee doesn't guarantee good integration in that scenario).

Using an ESP32-C6 I've made my own solution, the "Candle Dribbler" that satisfies my obscure requirements for how remotely controllable light switches should behave:

Left to right, low down on the wall: Opened double gang box with glowing red relays inside and 4 light switches on the front. Open single gang box with ESP32 microcontroller board hanging out of it. Open single gang box with cables hanging out.

Left to right, low down on the wall: Double gang fitting with 4 light switches labelled (FB M, LR C, LR L, LR R). Single gang box with ESP32-C6 inside behind a transparent plastic cover. Single gang socket with power supply.

Making the under-counter Fridge/Freezer more efficient

My existing fridge and freezer are over 20 years old and there are better insulated quieter models available that use less than half as much electricity.

Being under the worktop without any rear ventilation uses 25-30% more electricity too because the heat has nowhere to go. The fridge also becomes a freezer in the summer because the trapped heat at the back affects the internal thermostat resulting a feedback loop until my carrots are sitting in a frozen pool of ice.

Not enough space

Before I can get a new fridge and freezer they need to fit under the worktop. There are two popular widths for these appliances (55cm and 60cm) and both of the existing ones are 55cm wide in a space designed for that size only. In order to get the models that I want to fit I need to find an extra 5cm of space because the new fridge is only available in 60cm wide.

The cabinets to either side are made of wood so I took one of them out and made it 5cm narrower:

[Kitchen cabinet now 5cm smaller with doors that are too large]

The cabinet doors are now too wide for the cabinet so one of them needs to be made smaller:

[Cabinet door cut in half with 8mm steel rod as dowels] [Kitchen cabinet with 5cm extra space to the left of it]

There's now an extra 5cm of space so I can fit a 60cm and 55cm appliance under the worktop.

Not enough ventilation

The instructions for the new fridge and freezer come with warnings of damaging the compressor if there's no ventilation at the back. Some of the heat can escape over the top (to the front of the worktop) but not enough to stop an excessive build-up of heat in the summer.

I cut a long narrow ventilation hole in the back of the worktop and laser cut a cover for it out of plastic:

[Kitchen worktop leading into the dining room with a 6cm wide vent at the back of it]

[Kitchen worktop from above with a 6cm wide vent at the back of it]

There's now enough ventilation for the heat to escape at the back. Be careful doing this with old appliances because my freezer immediately developed a condensation problem now that the excess heat was no longer warming the outer surfaces.

New fridge and freezer

With all the worktop and cabinet alterations complete, I can now install the new fridge and freezer:

[Under-counter fridge and freezer below the kitchen worktop with a 6cm vent at the back aligned to the space between the cabinets and combined width of the two appliances]

Shrinking soap

Johnson's have shrinkflated their packs of soap from 4x100g down to 2x90g bars. This had been selling for £1 for several years so it was overdue for a simple price increase, but instead of doing that they've gone for the deceptive option of shrinking the product to make it appear cheaper when actually it won't last as long; the extra packaging will increase the overall cost and produce more waste.

The price is still £1 but that now only gets you 180g instead of 400g of soap - an increase of 222% with more outer packaging per bar.

Johnson's Baby Honey Soap (pack of 4x100g bars)
4x100g (2014-2022)
£1.00 (25p per 100g)

Johnson's Baby Honey Soap (pack of 2x90g bars)
2x90g (2022)
£1.00 (55.6p per 100g)

Migrating Windows 10 from 512 byte to 4096 byte sectors

I've recently changed from a SATA SSD to NVMe SSD for my Windows PC and there's a format option for the NVMe SSD to use 4096 byte sectors for better performance.

The NTFS boot sector (at the start of the partition) contains references to the sector size of the disk. This is unnecessary information on more modern filesystems but NTFS is 28 years old. Changing the following little-endian values allows Windows to use the filesystem without needing to recreate it (instructions assume a 4K cluster size):

OffsetSizeNameModification
0x0B2 bytesBytes per sector0x0200 (512) → 0x1000 (4096)
0x0D1 byteSectors per cluster0x08 (8 * 512 = 4096) → 0x01 (1 * 4096 = 4096)
0x1C4 bytesHidden sectorsThe number of sectors preceding the partition
0x284 bytesTotal sectorsThe partition size in sectors

Modifying Logitech Z906 Speakers

Logitech Z906 Subwoofer and a Speaker

I bought these speakers before purchasing a standing desk because my existing speakers were attached by a fixed length cable. The cable had to be a certain length because the volume controls used capacitive touch all the way back to the amplifier/subwoofer.

Logitech Z906 Control Console

These speakers have a separate controller console attached using a cable with a DE-15 connector so it can be extended with any VGA extension cable.

I turn the power on/off remotely with a keyboard shortcut but the speakers always turn on in standby mode. Having reverse engineered the protocol between the console and amplifier I could bypass this but the console itself would still not turn on. If it's not turned on then the volume control knob won't do anything.

By decompiling the firmware on the microcontroller inside the console I was able to find and modify a parameter that would make it turn on automatically when powered on. I also found a hidden feature to disable the automatic standby that happens after 2 hours and the procedure for enabling this (hold the "level" button for 5 seconds until the level change light goes out).

Full details on the interface, protocol and firmware access.

Cooling the HTC Vive Wireless Adapter

I've had problems with the HTC Vive Wireless Adapter overheating for a while and mounted fans on top of it which cooled it down but still had instability with sudden power outages. Moving the fans from the 5V output to the 12V input (so that it doesn't require any power from the wireless adapter itself) appears to have helped.

HTC Vive headset with Vive Wireless Adapter and two 40mm fans held on with cable ties

Four! I mean five! I mean fire!

These smoke alarms look like they're as old as the house itself:

Visibly aged smoke alarms

I put some other alarms up in 2015 and moved these ones into bedrooms but they were in need of replacing.

There are new minimum standards for fire alarms in Scotland that come into effect on 2021-02-01 that require interlinked smoke alarms in the main living area and hallways/landings as well as a heat alarm in the kitchen.

None of the other alarms are interlinked so I've replaced all of them with mains powered interlinked alarms. There's even a control panel to make the entire house start beeping or identify which alarm is detecting fire when it's not obvious:

Control for Smoke and Heat Alarms with Test and Hush/Locate buttons

I'll automatically get an email if a fire is detected.

Melbourne

I'm just back from a holiday in Melbourne.

I've walked along the Yarra River, around Albert Park Lake, through the Botanic Gardens and been up to the Eureka Skydeck.

I visited Melbourne Zoo and went on a tour of the Great Ocean Road.

I went to all three days of PAX Australia at the Melbourne Convention and Exhibition Centre.

I attended a performance of Harry Potter and the Cursed Child at the Princess Theatre.

I took several photos and a few videos.

Shrinking toilet paper

ASDA have applied some pre-Brexit shrinkflation to their own brand toilet paper "Shades So Soft". This time you get 10 fewer sheets per roll. That's 1¼ rolls less paper for the same price.

Contents: 24 rolls, 2 ply tissue. Average 200 sheets per roll. Sheet size 118mm x 104.5mm. Total area 59.18m².
59.18m² for £8.00 (2018-05-02)
Contents: 24 rolls, 2 ply tissue. Average 190 sheets per roll. Sheet size 118mm x 104.5mm. Total area 56.23m².
56.23m² for £8.00 (2019-02-11)

They're still advertising it as Bigger Pack Better Value but now it costs 5% more to get the same amount of paper.

Find recent content on the main index or look in the archives to find all content.

Content authored by myself is just my honest opinion.

  • Linux
  • Get Firefox!
  • Get Thunderbird!