Category Archives: Tech

Checking faulty chips/hardware

When I fix old hardware I often use a flir camera.

My brother gave me his CAT S60 mobile phone. Which has a flir camera, he used it when he was a voluntary fireman.

Forward-looking infrared (FLIR) cameras, typically used on military and civilian aircraft, use a thermographic camera that senses infrared radiation

Soo .. when testing hardware. I do the following.

  • Clean the motherboard
  • Check chip pins
  • Press all chips/ic’s in their sockets
  • Test the power supply disconnected. ( Most will give a higher voltage when nothing is connected )
  • Measure the resistance of the board (sometimes)
  • Check if the machine can be started.

Now it gets interesting. Sometimes nothing happens. Sometimes the machine runs like it suppose to do.

But old hardware can be faulty or connections are bad. IC’s run hot and they stop working. ( Untill they are cooled enough or they stop forever 🙁 )

So I start monitoring the temperature when I boot the machine. Sometimes components heat up very fast. I use my finger and the flir camera.

These are pictures from my 8088. Nothing runs hot

Got some new sensors (HLK-LD2410B)

Sometimes you forget you ordered something from Ali Express, it takes too long to arrive.

Today i’ve got this in my mailbox

These are HLK-LD2401B motion/presence detectors € 2,91 a piece.

While PIR sensors are slow and doing only motion sensing, these nice small and cheap devices are fast and have more outputs.

  • Bluetooth (can be used using home assistant integration)
  • Motion and presence
  • 60 degrees detection angle
  • Measurements to moving/static objects (while the datasheet mentions till 5 meter, i’ve got measurements well above that.
  • Fast updates, and i mean really fast
  • Only 7mm x 35mm
  • mmWave – 24GHz
  • GPIO Uart

According to the bad translation it can also measure if you ‘devour’ something. Dutch ‘vreten’ means wild fast eating something.
Setting the language to English gives me the word ‘fretting’

Right screenshot shows Coline sitting at a distance of 5.5 meters

Above, the update speed in HA

To try: connect Uart to remote ESP
and tweaking the device
and distance gates

Maybe i can use some Triangulation go find the precise location of a person.

Mikrotik and Zerotier

Today i’ve upgraded one of my Mikrotiks to 7.8.

And installed the zerotier extra package!
I’m not going to explain what zerotier is .. read it here:

I already did some tests using my phone and a linux server.

  1. Upgrade to the latest stable version (at this time : 7.8)
  2. Install from the extra packages zerotier-7.8.arm.npk
    upload to the files folder and reboot your MT

Add zerotier network

Allow connection in the Zerotier Gui

Mikrotik changes from ACCESS_DENIED to OK

Ping test from MT to my Phone !

Maybe we could setup a adhoc zerotier network with some of my friends to do some remote assisting when needed!

Finished a display case for the SDK-85

So i made a nice display case for this SDK.

I made some designs and came up with this:

I just took a 12mm x 60mm piece of wood, and made a slit for the acrylic plastic using a circular saw, and removed a part for the back-plate using a wood router. I found a piece of acrylic in my shed, cut it to the right size using the circular saw. Slapped some paint on the wood.

I want to be able to use the sdk whenever i want, so i made a sliding window thingy. ( With wooden handle so the frame looks intact when closed. )

Then I 3D printed some holders, which I designed using Openscad.

Openscad code


    cylinder(h=9, d1=9, d2=9, center=true);
cylinder(h=9, d1=15, d2=15, center=true);
 cylinder(h=30, d1=3.5, d2=3.5, center=true);

I will probably add a powerconnector and lasercut a hole for the keypad at a later stage.

Last weeks useful schematics

While working on my game, i had to come up with some solutions i could not find an answer for on the internet.

I’m not going to post every little detail of my game on this blog, my main reason is sharing my experiences and solutions.


16 Switches on a Wemos Arduino. While push buttons are easier to connect, I needed ON/OFF switches.
Push buttons are easy, there is only one active, so 4 enable lines and 4 scan lines and you’re golden.
16 Switches can be enabled all at the same time.
So you need some extra components to get a good result (0-65535)

Above schematic works, you need 4x 1k Pull-up resistors and 16 diodes. I used 1N4007

CONTROLLING 24V using Arduino and a buck convertor

Next problem, i’m using some elevator buttons for a project. These have build-in leds but run at 24V.
I only have 5V from the Arduino.
Regular leds you can connect directly to the Arduino using a 220ohm resistor.
So i used a Buck-Step-Up-Convertor. This little module converts 5V to 24V. (You can control the output voltage using a variable resistor)
To control the lamp/leds i used a PN2222a transistor to switch the lights on/off using a pin of the Arduino.

MT3608 Convertor
  • Input voltage: 2V-24V DC
  • Output voltage: 5V-28V DC
  • Output current: 2A (max), 1A (recommended), <100mA (input <4.0V), <50mA (input <3.5V)

Mini DF MP3 player with MQTT control

Resistor is 1K, speaker is 4 ohm

I’ve got the DFPlayer with the GD3200B instead of the better YX5200, but it works.

As part of my game, so MQTT controlled.

First sound is low in volume.


I’m using Soft Serial

// based on code from: 
// above example has no wifi/mqtt and is missing the SoftSerial include line
#include <ESP8266WiFi.h>
#include <PubSubClient.h>
#include <WiFiClient.h>
#include <DFMiniMp3.h>
#include "SoftwareSerial.h"
#include <Ethernet.h>

#define wifi_ssid "SSID"
#define wifi_password "SSIDPASS"
#define mqtt_server "MQTTSERVER"
#define mqtt_port 1883

WiFiClient espClient;
EthernetClient ethClient;
PubSubClient mqtt(espClient);

class Mp3Notify; 

SoftwareSerial secondarySerial(D6, D5); // RX, TX
typedef DFMiniMp3<SoftwareSerial, Mp3Notify> DfMp3;
DfMp3 dfmp3(secondarySerial);

class Mp3Notify
  static void PrintlnSourceAction(DfMp3_PlaySources source, const char* action)
    if (source & DfMp3_PlaySources_Sd) 
        Serial.print("SD Card, ");
    if (source & DfMp3_PlaySources_Usb) 
        Serial.print("USB Disk, ");
    if (source & DfMp3_PlaySources_Flash) 
        Serial.print("Flash, ");
  static void OnError([[maybe_unused]] DfMp3& mp3, uint16_t errorCode)
    // see DfMp3_Error for code meaning
    Serial.print("Com Error ");
  static void OnPlayFinished([[maybe_unused]] DfMp3& mp3, [[maybe_unused]] DfMp3_PlaySources source, uint16_t track)
    Serial.print("Play finished for #");

    // start next track
    track += 1;
    // this example will just start back over with 1 after track 3
    if (track > 3) 
      track = 1;
    dfmp3.playMp3FolderTrack(track);  // sd:/mp3/0001.mp3, sd:/mp3/0002.mp3, sd:/mp3/0003.mp3
  static void OnPlaySourceOnline([[maybe_unused]] DfMp3& mp3, DfMp3_PlaySources source)
    PrintlnSourceAction(source, "online");
  static void OnPlaySourceInserted([[maybe_unused]] DfMp3& mp3, DfMp3_PlaySources source)
    PrintlnSourceAction(source, "inserted");
  static void OnPlaySourceRemoved([[maybe_unused]] DfMp3& mp3, DfMp3_PlaySources source)
    PrintlnSourceAction(source, "removed");

void setup_wifi() {
  WiFi.begin(wifi_ssid, wifi_password);
  while (WiFi.status() != WL_CONNECTED) {

void setup() 
  mqtt.setServer(mqtt_server, mqtt_port);

  WiFiClient espClient;
  PubSubClient mqtt(espClient);

  mqtt.setServer(mqtt_server, 1883);

  uint16_t volume = dfmp3.getVolume();
  Serial.print("volume ");
  uint16_t count = dfmp3.getTotalTrackCount(DfMp3_PlaySource_Sd);
  Serial.print("files ");

  // start the first track playing
  // dfmp3.playMp3FolderTrack(1);  // sd:/mp3/0001.mp3

void reconnect() {
  // Loop until we're reconnected
  while (!mqtt.connected()) {
    // Create a random client ID
    String clientId = "ESP8266Client-";
    clientId += String(random(0xffff), HEX);
    // Attempt to connect
    if (mqtt.connect(clientId.c_str())) {
      // Once connected, publish an announcement...
      mqtt.publish("escape", "sound connected");
      // ... and resubscribe
    } else {
      // Wait 5 seconds before retrying

void callback(char* topic, byte* payload, unsigned int length) {
    //  digitalWrite(led, HIGH);

    String topicStr = topic;
      byte value = atoi((char*)payload);
dfmp3.playMp3FolderTrack(value);  // sd:/mp3/0001.mp3

void waitMilliseconds(uint16_t msWait)
  uint32_t start = millis();

  while ((millis() - start) < msWait)

void loop() 
  if (!mqtt.connected()) {

Shelly Devices

I love shellies, easy to implement and hacker friendly.

MQTT out of the box.
Curl in and out – you can switch it on/off using curl, but it can send a http command also.
I’ve used this with Domoticz and Home Assistant.
It has a webinterface, with timers, and there is also a client for Android/Iphone
You’ve got some own gpio pins to your disposal and the unit is flash-able!

curl -X POST https://shellydevice/device/relay/control -d "channel=IDHERE&turn=on&id=ID&auth_key=AUTH"

The device is not isolated from the mains. To flash it, the mains must be disconnected.


I use this for simple on/off switches around the house.
Using it with a physical switch and MQTT (Nodered)


Same as above but this one has a build in power meter


Generic dimmer

Dimmer with low voltage rotary encoder!


A RGBW / 4 Channel controller
You can connect RGB strips, but also dimmable white strips in 4 channels. 12V or 24V.
NOTE! : There is a common 12V connection, and GND will be controlled!


I love these small wall plugs, i’ve used these also to find power consuming devices around the house.

For example, i made a nodered flow, to see if the washing machines are running or not.


This became my all purpose alarm thinghy


A door sensor WITH temperature and light sensor build in!

Home Assistant example


This one lays below our washing machine




A four channel power measure/switch for your fuse box

A smart doorbell schematic i found
Very nice .. printable cases for your shellies!

At last .. my own lasercutter

I did a lot of lasercutting at Fablab Utrecht, but they stopped a few years ago, and I moved to Hilversum.

I loved making this at this Fablab.

  • Lasercutting : Boxes, A cryptex of my own design, Xmas ornaments, Shogi game, things in acrylic, Rubber stamps
  • Cutting plotter ( Nae Bother Case logo’s )
  • CNC Machines
  • Vacuum form

Then i bought a mini engraver, which you can attach to your 3D printer.

But I really wanted a cutter, so there it is … the Sculptfun S9

First test. crafting paper. No burning and a really high resolution!

This laser module has a new optical design, so it can cut wood as thick as 10+ mm.
It can engrave metal, cut non-transparant acrylic, leather and more.


I’m using Inkscape, with the lasercutter tool plugin from Jtech.

I’ve also tested with LaserGRBL, which can be run under linux using Wine.

I’m trail testing LightBurn. (Native Linux App)

I will post my findings and test on this post.

UPDATE: 20230221

A stone slate engraved
Speed3000 mm/s
Laser Power100%
Lines per mm10

UPDATE: 20230306

Calibrate your machine! .. But NOT as found on YouTube using a 10x10mm or 1 inch by 1 inch. square.
As big as you can. This is far more precise!

My list of settings (Work in progress)

I have to check mm/s versus mm/minute!

Slate (engrave)
(using lasergrbl)
3000 mm/s100%101
3mm Plywood (cut)20 mm/s90%x8?
Cardboard10 mm/s100%x4
Cork (6mm)