Image 1 — Working on a passwordless fingerprint unlocker thingy
Image 2 — Working on a passwordless fingerprint unlocker thingy
Image 3 — Working on a passwordless fingerprint unlocker thingy
Image 4 — Working on a passwordless fingerprint unlocker thingy
▲ 323 r/esp32

Working on a passwordless fingerprint unlocker thingy

uses an ESP32S3 (Seeeduino XIAO) in HID to type your password followed by enter

It's kinda secure, with the main caveat of UART spoofing (since all fingerprint verification happens in the sensor, and not the microcontroller) [edit: want to clarify that this is NOT for secure environments, anyone with access to both the device and the computer can in theory uart spoof the ESP into sending a legitimate request and getting the password since the fingerprint sensor communicates over uart. An attacker with access to just the device, cant get the password, since it is not stored anywhere on the ESP]

The password is not stored on the device, it opens both HID and Serial with the laptop to request the password encrypted with it's public key and then types it over HID, and then zero's out its memory so the password decrypted is only present for a few milliseconds.

The only method that an attacker can get your password is having access to both your laptop and the device at the same time, in which case they can spoof the UART of the fingerprint sensor (preventable kinda with black epoxy, depending on how hungry the attacker is)

Also using Flash Encryption and Secure Boot so the keys cannot be extracted via flash dumping.

Planning to make an BLE version so it can be fully wireless.

tinytouch.zimengxiong.com (open source, not very polished)

u/arduinoRPi4 — 10 hours ago

Working on a Clamshell TouchID thingy

TL;DR an microcontroller (ESP32) emulates a keyboard and types your password followed by enter

If you're wondering how secure it is, it's as secure as I'm comfortable with, but understand that it is NOT secure if someone has physical access to your laptop and device, and relatively easy to attack unless you take precautions

  1. The risks are already low, its a physical device, so unless you take it outside and lose it or someone breaks in, your password is secure, but that doesn't mean I didn't try to make it secure (see below)
  2. The password is NOT stored on the device. A helper service on the Mac stores the password in your Mac's secure enclave (Apple Keychain), and only gives it to the device when it asks for it (after completing a crypto challenge with the device's public key+a nonce to prevent against replays). This means even if you lose the device alone a attacker can't do anything.
  3. The only method that an attacker can get your password is having access to both your laptop and the device at the same time, in which case they can spoof the UART of the fingerprint sensor. You can prevent against this by black expoxying the insides to make this hard and buy you time to realize that your mac was stolen and lock via findmy or something else

I just thought this was cool to share, not giving any other stuff b/c I don't want to be 'advertising/promoting/self-promoting' on this sub. But it's pretty easy to make your own and I hope I inspired some of you to make one. It is open source if you can find it.

u/arduinoRPi4 — 10 hours ago
▲ 584 r/mac

Upgraded my Mac's storage from 2TB to 8TB!!

Now I can store anything I want 😁 Saved over $2.2k by today's prices from Apple. Had to fill in the power components on the other side as well (that was really hell, they are TINY packages) since the 2TB is all on the left side and the right side PCB is completely bare. Took ~12hrs and some nerves.

u/arduinoRPi4 — 13 hours ago

Upgraded my Mac's storage to 8TB

Had to add the entire power circuit components as my original Mac (2TB) didn't have any on the other side. Took a lot of research and time (~12hrs), won't go into too much detail.

u/arduinoRPi4 — 1 day ago
▲ 191 r/mac

DIY Clamshell Fingerprint Unlock ~$15

Concept that I'm working on, an ESP32 with a fingerprint sensor, it sends the password and a return (acting as a keyboard), so it works in any field asking for your password.

This is as secure as reasonable for a project like it (and personally I'm comfortable using it), but not 100% foolproof (and will never be as secure as the magic keyboard):

  • Risks are low to begin with, because they require physical access to the device and the Mac.
  • Your password remains secure because it is never stored on the ESP32. Instead, a Mac helper service stores the password in an encrypted format and only decrypts it into the RAM of your Mac and the ESP32 for a few milliseconds during the unlock process.
    • This prevents compromise via memory or flash dumping, as the ESP's memory is volatile and its flash is protected by secure boot and encryption at rest. Additionally, the ESP only authenticates with correctly signed, authorized Macs (which matters less because there's nothing valuable on the device anyways)
  • The main attack vector requires an attacker to have physical access to your computer for an extended period, allowing them to spoof the UART connection between the fingerprint sensor and the ESP.
    • The only real defense against this is physical, i.e. black epoxying the device to make it hard to attach spoofing devices as well as increase the time it takes to do so, which at that point you hopefully would have realized your Mac was stolen and initiated a findmy reset/lock, making the device ineffective (helper only works during active user session)
u/arduinoRPi4 — 1 day ago
▲ 219 r/macapps+2 crossposts

[OS] Tabbed Windows

After posting my sidebared window manager a lot of people wanted just the window tabbing part, so here it is.

Tabbed lets you turn separate windows from different apps into a tab stack, like browser tabs. It's open source and free to install. Hold ⌘ while dragging windows over each other to create tab groups. Feel free to contribute or report issues

Not a lot of comparisons:

  • my own window manager above (open source), which I prefer, but I understand the want for an WMless experience
  • tangrid, a paid window manager
  • yabai/aerospace stacks/accordions which are hard to use and again, require a full WM setup

Built with AI, but I am a real person

u/arduinoRPi4 — 9 days ago

Keeps your computer running even when screen is closed, auto turns off brightness to save power/for thermals, can trigger based on current battery and what apps are open; auto return to sleep if battery is drained too much.

Yes, there are thermal consequences to this, in my experience it's not a big deal, still be aware of running heavy loads in a bag esp when the fans can spin up. I also don't obsess over my battery health too much (it has paid itself back multiple times).

You can also just run sudo pmset disablesleep 1 to prevent your Mac from sleeping, but having to enter your password each time and turn off brightness is tedious and not as efficient as it could be.

Free & Open Source: https://github.com/ZimengXiong/aquarium

u/arduinoRPi4 — 2 months ago
▲ 16 r/macapps+1 crossposts

Keeps your computer running even when screen is closed, auto turns off brightness to save power/for thermals, can trigger based on current battery and what apps are open; auto return to sleep if battery is drained too much.

Yes, there are thermal consequences to this, in my experience it's not a big deal, still be aware of running heavy loads in a bag esp when the fans can spin up. I also don't obsess over my battery health too much (it has paid itself back multiple times).

You can also just run `sudo pmset disablesleep 1` to prevent your Mac from sleeping, but having to enter your password each time and turn off brightness is tedious and not as efficient as it could be.

Free & Open Source: https://github.com/ZimengXiong/aquarium

Made w AI, but I'm a real person.

u/arduinoRPi4 — 2 months ago

Computer use is great but it often interrupts my other work and feels like I'm 'sharing' the desktop with another person, so I built a tool that allows an agent to spawn a disposable macOS VM and work inside that, completely headlessly (you can also VNC into it, if you choose).

Above is an example of it making an app for me and testing it out completely inside the VM, it can also be used to run flows and debugging on fresh systems, etc.

Note you do need quite a bit of space to use this, ~26GB for the base image alone

https://github.com/ZimengXiong/computer-use-vm

u/arduinoRPi4 — 2 months ago