CAN bus on Banana Pi M2 Berry

The BPI M2 Berry is based on the Allwinner V40 chip, which includes a CAN controller. Unfortunately, the CAN pins are not exposed on the PCB, but used for connecting LEDs and Ethernet instead. In order to make the CAN bus work on BPI M2B, the following steps are required: Hardware modification Kernel patching Device tree overlay Hardware modification The…

Fixing Arduino Board Manager Downloads on macOS

Downloading new board definitions in the Arduino IDE’s board manager may fail due to certificates missing from the JRE certificate chain. This may for example happen with the ESP32 board, where the host dl.espressif.com is using a Let’s Encrypt certificate. The Let’s Encrypt root certificates can be added to the JRE keystore using the following instructions: https://drissamri.be/blog/2017/02/22/trusting-lets-encrypt-java/ Most interestingly, the…

Supernil

When calling super in Ruby without arguments, you expect all arguments being passed to the superclass method. If you want to pass your own arguments, you just put them there. If you don’t want to pass any arguments, you need to put empty braces after the super call: So far nothing new. Now imagine a block being passed to your…

Preventing Finder from reopening windows on startup

By default, the macOS Finder re-opens all windows from the last session when logging in. The following LaunchAgent uses AppleScript to close all Finder windows on startup: Put it into ~/Library/LaunchAgents/com.example.CloseFinder.agent.plist and load it using launchctl load ~/Library/LaunchAgents/com.example.CloseFinder.agent.plist On the next startup, there should be no more open Finder windows from the last session.