used Lenovo Thinkpad or new Acer swift?

My daughter will go to college after the summer, and it was decided she needed a notebook. We settled with her getting my Acer Swift 314-51 which has suited me quite well. I ran Ubuntu on it, and everything worked quite well, except for the fingerprint reader. I recently installed windows 10 on it and was surprised how smooth it ran on the 256Gb M.2 SSD.

Now it is time for me to get something to work on while on the road. I have a nice desktop setup, so it does not have to be a powerstation. I like the Lenove Thinkpad series which have proven to be reliable, well documented and great Linux support and to upgrade (T series) they are also slightly expensive. I found some relatively recent used models at the cost of a new Acer Swift 314. So I looked again at the current Swift 314-56 series and ended up ordering one for under Euro 600,- with interesting specs:

Core i5-8265U
Nvidia GeForce MX250/2GB DDR5
14″IPS (1920×1080)
8Gb onboard / 1 x slot (upgradable to 12Gb)
Storage 1Tb hdd + 16Gb Optane
Bluetooth 5 / Wireless 802.11AC
HDMI/USB Type-C/SD/USB3/audio

Missing RJ45 Lan port -> will use my favorite Dlink USB-LAN dongle there, and my Lenovo USB3 Docking when working on longer term projects.

I plan to replace the Optane M.2 NVME module with a 512Gb M.2 NVME SSD and install Arch Linux and see how this works. Then maybe use agressive power management on the 1Tb hdd, maybe just mount it for regular backups and archive. How to upgrade Optane to SSD.

Notes on Arch – tinkering on the Swift 314-56G .
To be continued.

X-Caliber project

The bike

Trek X caliber 7

As I am quite tall and unable to find a large frame “cross country” bike at local bike shops. I was on top of the world when I found a Trek X-Caliber 7 Frame size 23″ at Probike. I brought the bike home and started riding on it. I got the bike for a bargain price, so there was budget left to improve it. The X-Caliber 7 is after all the entry model, and slightly heavy. The frame is great, so time to look for upgrades. Initially I considered upgrading the group set to Shimano SLX or XT, but I must say the Acera 9-speed shifting is great, and I have no issues with the brakes, so these will probably stay on the bike until they break. The Wheels are rather heavy and I would love to ride tubeless. The plan was to upgrade the wheel set.

New Wheel set – DT Swiss M1700 boost

The X-Caliber has a weird rear axle, it is a Quick Release (QR) but in “Boost” size: Boost141. Local bike shops could not help me, I googled and was kind of lost on what to get. Having emailed both Mavic and DT Swiss, DT Swiss came back with a clear message. With the Boost wheel, I could replace thru axle end-caps with a 5mm QR conversion kit. Great! So I ordered a Boost wheel set and the suggested end-caps. These wheels provide an upgrade path for when I may get a different frame with thru axle. The M1700 with its “350” ratchet system hub has 18 engagement points which is superior to the M1900 “370” with a 3 pawl engagement hub.

Conversion kit to 5mm QR HWGXXX0001528S (Boost141)

When it all arrived, I could fit the back wheel right away. However installing the front wheel was a disappointment because it turns out that the standard rockshox XC32 was not boost?! my bad. What to do… return the boost front wheel and replace it with a regular one. That would work but I had already looked at the fork which is rather heavy, and has no remote lock, I also would love to have a fat 15mm thru axle to replace the thin 5mm QR.

Weight improvement so far: 350 grams.
Stock rear wheel (complete with XR2 tire) 2950 grams
DT Swiss M1700 rear wheel (complete with XR2 tire) 2600 grams

New Fork – Fox Float 32 Rhythm

Fox Racing32 Float Rhythm 29″ 100 Grip Tapered Boost Remote

Well this part is tricky. There are so many forks available, and I have no way of trying out different ones, so I have to learn from online reviews. I contacted a Fork service company in the Netherlands and they suggested Fox Racing. These are not cheap, but I managed to find an OEM fork on sale in Germany (which is usually sold with a bike, not separate). The “Rhythm” is an economical version of the “performance”. Here is an article and here a vlog on the Rhythm. The Fork is in the mail as we speak, hopefully it will arrive before my next cross country trip early march.

New Tyres

Bontrager XR2

The Bike comes with Bontrager XR2 tires which are heavy and look rather simple compared to Schwalbe tires which I use to buy. I did a long ride last weekend with lots of technical sections, climbing and downhill, and I must say that they roll great, and the grip is fantastic. I did order lighter tires (Rocket Ron 2.25 for the front and Racing Ralph 2.25 for the back to setup tubeless, but I may only mount these when the XR2’s are worn out. The weight penalty is big because the XR2’s are with over 350 grams heavier than the Schwalbe combination.

Expected weight improvement with Schwalbe setup another 350 grams, the fork will also be lighter (300 grams?) as will the front wheel (another 300 grams?) resulting in an expected total of 1300 grams compared to the stock bike. We will see.

to be continued..

Well, things did not work out as planned, the ordered FOX fork and other goodies got lost in the mail, and when I got my money back this fork was not available anymore. By now, my local bikeshop could source a Rockshox Reba RL, so I got this instead and had it installed.

Since I will not be using the MTB a lot in the summer, I plan to move to tubeless only after the summer, and keep the Bontrager tires on the bike for now. These tires actually started to grow on me. I have done a few rides with the new setup, and am still playing with the air pressure of the fork and the tires. If you ask me if I can feel the difference in weight (The bike is more than a kg lighter than stock, I can say it reacts better, I get more easily off the ground at bumps, and the cornering is more direct.

Riding the iot wave with esp8266.

This is a short write-up of my recent esp8266 / MQTT / RF switch project, providing an MQTT interface to control ac loads (in this case lights).

The objective is to MQTT enable a radio remote controlled (RF) switch.
“yam” multifunction digital remote switch as pictured here.

This particular device has three relays, switched by a 315mhz remote.

I used an Arduino to capture the code for each button to be used later. There are plenty posts explaining this (like this one on There is no difference in the code using a radio with a different frequency.

The RF radio kit (seperate rx and tx prints) is rated 5v, but works also with 3v3. when 5v is desired for a longer range, a simple transistor circuit should be added to protect the 3v3 on the mcu.

Any esp8266 or nodeMCU can be used, but for development I find a model with built in usb more  practical. The RF-TX is connected to gpio0 (pin D3).
The code consists of snippets from the RF send demo, and from the pubsubclient documentation.

The MQTT broker can run anywhere, using a raspberry pi is a popular way to go, I installed it on a Synology NAS which is running 24/7 anyway.

Once the MQTT broker is running, get familiar with it, using a cli mqtt-client like mosquitto pub/sub.

The code for the nodeMCU (using arduino ide) can be found on my GitHub page

Debugging information can be read on the serial console.

One example on switching the using the MQTT broker:
This is to turn the nodeMCU led on/off (with resp. -m “1” and -m “0”)

$ mosquitto_pub -h broker_ip -d -u user -P password -t topic -m "1"

Now this works, it can for example be integrated into Domoticz by using virtual hardware and virtual switches.
link the on/off actions to a script . A simple example for Relay A in my case (

/usr/bin/mosquitto_pub -h broker_ip -d -u user \
-P password -t topic -m "A"

Note that this particular RC switch does only toggle the single channels, there is no way to know the current state. Since there are codes for “all on” and “all off”, one could simply send this command followed by the settings for the separate channels. One should also set the switches after a power failure, since the default state may be “on”.

Thank for reading my page. I hope it has been informative, and got you some ideas.

Nice to add:
-Device fallback to wifi access point when the default access point is unavailable – wifimanager
-Over-the-air updating – ota
-Use remote as “middleman”. This would require the RX to send different codes, have the NodeMCU received these codes and forward to the MSTT broker allowing some more automation like scenes.

Links to hardware / software used:
3 way RF switch Aliexpress
nodeMCU Aliexpress

315Mhz radio Aliexpress

Mosquitto docs.
nodeMCU / arduino ide crash course