Understanding STM32’s Flash Protection

TLDR: STM32’s flash protection requires a specific sequence of key registers and timing considerations to unlock. This guide explains the practical steps needed for FPEC unlock, option byte access, and handling the power cycle requirements. The STM32’s flash protection operates through a sequence of key registers and timing requirements. Here’s what you need to understand

Blackmagic probe revisited

Turn Your $2 STLink Clone Into a Black Magic Probe TLDR: Transform that cheap STLink V2 clone into a proper debugger by flashing Black Magic Probe firmware. 15 minutes of work, intermediate difficulty, and a surprisingly good outcome for something that probably came in a plastic bag with no labels. Historical Context Back in 2016,

Notebook Batteries don’t balance

TL;DR: Don’t trust the vendors. They only monitor the cells, they don’t balance them. Introduction It’s a less known fact that most notebooks don’t balance their cells. Maybe some do, but I haven’t found them yet. So I added an active balancer   Buy it here: https://www.aliexpress.com/item/4000228067138.html What is this? This is not a regular

Evolution of Chinese Car Chargers

TL;DR: Chinese Engineering has surpassed Western Engineering [cmtoc_table_of_contents] Introduction I’ve shown some interest in Car Chargers in the past: Tuning a dual usb car charger Dual USB car charger update   Quick Charge But the time goes on and today we apparently need Quick Charge to surpass the measly 5V 500mA of the original USB

PLA is not stable

TL;DR: Just don’t use PLA for anything you don’t want to fail   I’ve had a bunch of PLA items suddenly break on me, with no idea why. Especially screws and tensional load bearing parts broke. For example my Delta Extruder gave progressively worse results and I had no idea why. Apparently it was flexing?

FDM: Printing too hot, too cold, and about right

Summary: The optimal temperature for FDM printers depends on numerous considerations [cmtoc_table_of_contents] Introduction When I embarked on my 3D printing journey, I questioned, “What is the optimal temperature?” Responses varied from 180°C to 280°C, leading me to examine calibration cubes in detail. Sensors In case you are unsure about your sensor type, you’re most likely

3D-Design with openscad

TL;DR: You can program 3D stuff with openscad For a long time I’ve avoided designing 3D stuff myself. The reason is that my spatial imagination is really bad. I even get lost or take the longer route in cities I know. It’s a disaster in an unknown territory where I try to take a ‘shortcut’.

Teardown: SportDV Camera

TL;DR: Just buy big brand or open source cameras I ride a road bike in Germany, Cologne. And you probably know that 1% of drivers out there who are crazy and trying to work out their personal problems in traffic. Recently, someone opened his car-door intentionally when I was riding by. In the aftermath, the

Super Absorbers can help your plants

TL;DR: Put Super Absorbers into the soil. Your plants will recover better from droughts and moisture fluctuations are evened out I have one little Dypsis Lutescens palm which is always on the brink of dying. The reason is that it constantly struggling between being drowning and dying of thirst. So I tried out Super Absorbers.

Liquid thermal paste in laptop

TL;DR: Don’t use it in portable things as it cracks My laptop has become loud and slow over the years. This came from permanent 90°C CPU temperature and thermal throttling. From my experience, the manufacturer never uses the correct of thermal paste, so I opened my laptop up and applied Coollaboratory liquid pro thermal paste.

Learning a sine wave with LSTMs

TL;DR: Copy & paste the linked code to have working Neural Network as a starting point for your application Introduction I tried several times to get started with Deep Learning. But pretty much all the tutorials were outdated and it was just a lot of work with no result in the end. This time I

Connect Batteries easily

TL;DR: Use magnets to connect batteries Most Batteries contain Iron or Nickel. Just use a magnet to  connect the battery. On the other side you can use one of those cheap copper-clad cables from china or alligator clips Bonus: The magnets automatically disconnect if they reach ~90°C in case of a short circuit.

Fixing a chinese 3D Printer: Part 1

TL;DR: You have a lot of work to do until this is usable Introduction I’ve bought an Anet A8 für 143€, everything included. It’s a clone of the the Prusa i3 and available under all kinds of brandings and with every changing components. Here are the things I’ve learned on my way.   Common Errors which have

Raspbian headless install over Wifi

TLDR; Configure your new PI without a monitor Just follow this guide to install your raspberry pi 3 without a monitor. It enables wifi and ssh in the default raspbian installation. install raspbian on your sdcard: export DEV=/dev/sdX; \ unzip 2017-04-10-raspbian-jessie-lite.zip ;\ cd 2017-04-10-raspbian-jessie-lite ;\ sudo dd if=2017-04-10-raspbian-jessie-lite.img of=$DEV bs=4M && sudo sync mount boot partition

Lowside current measuring gone wrong

TL;DR: Always take into account the ground bounce. Introduction I’m developing a software controlled Switched Mode Power Supply (SMPS). For this I need to measure current at ~250kHz. This is a recollection of the false assumptions and mistakes I made. The circuit I’ve decided to measure the current lowside as it seemed easier when I

Earn money with your smartphone

TLDR; Let your smartphone mine cryptocurrencies I like money. Money is even better if you don’t have to work for it. So I set up my smartphone as a zcash node. Zcash is similar to bitcoins: You exchange computing power for virtual money. This post is twofold: First the hardware modification to keep the CPU

Blackmagic probe

TL;DR: Flash new software to a cheap STLink v2 clone to get an integrated gdb Essentially, I just followed the the instructions in their wiki. I still had some problems guessing the pinout and documented my progress. Hardware: To program the controller with new software you need a second programmer. I used another STLink clone

ESP8266 + Arduino + Eclipse

TL;DR: PlatformIO offers a complete toolchain, libraries, makefile and IDE integration Making a new microcontroller work is hard. You need to get a feel for the surrounding community and the way the manufacturer imagined them to work. PlatformIO solves all those problems and more. What you get is: the toolchain package management for libraries makefile

Enabling zram

TL;DR: modprobe zram num_devices=$(nproc) && \ sleep 1; \ for i in $(eval echo zram{0..$(( $(nproc) -1))}); do \ zramctl -t 1 -a lzo $i -s $(( 4096 * 1024 * 1024 / $(nproc) )); \ mkswap /dev/$i; \ swapon /dev/$i -p 1; \ done && \ sysctl vm.swappiness=100 && \ echo 0 > /proc/sys/vm/page-cluster

Verifying sdcards

TL;DR: Verify sdcards on the fly DEV=/dev/sdX && \ dd if=/dev/urandom bs=4096 count=$(( $(sudo blockdev –getsz $DEV) / 8)) \ | pv | sudo tee $DEV | md5sum ; \ sudo dd if=$DEV bs=4096 count=$(( $(sudo blockdev –getsz $DEV) / 8 )) \ | pv | md5sum I have a few sdcards which are probably

Dual USB car charger update

TL;DR: Chinese USB adapters work out of the box

 

I’ve bought a new car charger because the old one was too big. The new one is made from aluminum to dissipate the heat better and doesn’t waste that much space.

It’s 2.26 USD including shipping on aliexpress. I’ve expected the electronics to be garbage as the one before but i was pleasantly surprised:

IMG_20160306_142322IMG_20160306_142340

A double sided PCB with plenty of vias and a good layout. I’ve checked the switching node with my oscilloscope (no screenshot) and everything is rock solid and no ringing. I couldn’t have done it better myself.

The components are good as well:

3.8+ kernel for Pogoplug

TL;DR attach dtb file to kernel and boot I’m running gentoo on a Pogplug E02 and had some difficulties with kernels after 3.7. These kernels use a new infrastructure called device trees to tailor the kernel to new hardware. Luckily this abstraction layer is already prepared for common devices. It just has to be loaded

Working with Lua on an ESP8266

TLDR; use luatool to upload scripts Lua is a scripting language which has been ported to the ESP8266. After flashing the latest firmware you can connect to the module using screen /dev/ttyUSB0 You probably want to save your entered code over a restart. Nodemcu offers a whole file api which tells you how to manipulate

Wind Turbine: Cutting the blades

TLDR: I cut my blades using a chainsaw This happened a year ago. I never posted it because i “wanted to do it right and give good documentation”. But i think some pictures are better than nothing. Theory My goal is to cut 3 blades from the collected wood. Each blade  is tapered. This means

Variable Frequency Drive over Wifi

TLDR: Set the waterpump’s power over wifi I’m using a Siemens Micromaster Vector to continuously drive a waterpump. This way, i can change the frequency and with this the power usage. Unfortunately, the inverter is placed in a wet hole together with the pump and i don’t want to climb down to change the frequency.

qemu on gentoo

I’m running gentoo on a pogoplug. This is an embedded device with 1,2GHz armv5 and 256MB Ram. Unfortunately, big packages like gcc don’t finish. Thats why i set up a working qemu environment to emerge certain packages, zip them up, and unpack them on the working system. So the aim is to modify a backup

Repairing an USB-flash-drive

TL;DR: USB flash-drives can be repaired in Software. I have broken quite a few USB-flash-drives in my life. It’s commonly not the file system but something in the nand-flash itself, caused by too many read/write-cycles, caused by compiling me gentoo system. BTRFS states these errors: [30368.777688] BTRFS: bad tree block start 18446744073709551615 63586304 [30368.778927] BTRFS:

Opening a Qi Wireless Power Pad Charger

I bought one of those cheap chinese Qi chargers. It’s only $6.28, including shipping. It charges my Nexus 4 flawlessly and is definitively worth the money. The specifications say it draws up to 1500mA at 5V (USB). You can get the actual charging current via adb, depending on your device: adb shell “cat /sys/class/power_supply/battery/current_now” mine

Tuning a dual usb car charger

I’ve bought a dual usb car charger recently with the intention of modifying it. My intent is to use this charger to charge two Android phones at the same time with the maximum allowable current. Here you can see the charger. The connector to the left included a fuse. The eight-legged IC in the middle