System tray utility for bit pattern manipulation (two's-complement, IEEE-754, base conversions), file analysis (hex dump, checksum, NTFS/FAT attributes), and other stuff.
Projects
Wireless LED Strip Controllers/Drivers
Two separate projects for implementing a wirelessly-controlled LED strip using Bluetooth Low-Energy (LE):
Blixel — General-purpose wireless LED strip controller for Android mobile phones/tablets
Android mobile device -to- Arduino-driven LED strip
Designed for Android mobile devices, implemented using an Adafruit ItsyBitsy nRF52840 and a 300-pixel (5 meters) RGB LED WS2815 strip.
Instead of the commonly-found Bluetooth (LE) to serial UART string-based frameworks (hacks!), a custom BLE GATT protocol was designed as communication transport — which provides a rich, structured message framework for much faster (and more reliable) communication to transmit per-pixel and/or per-segment color information.
Currently supports several modes of operation:
Color fill entire strip, partial strip (segment), or individual pixels
Parameterized animation patterns (color wheel, theater chase, and fade/breathe)
Optional motion-activated trigger (passive-infrared or doppler radar) with timer — great as a nightlight!
NeoCLUE — Real-time sensor-reactive wireless LED strip controller
Arduino sensor-based device -to- Arduino-driven LED strip
Similar to the Android-based project above, but implemented using a pair of Arduino-based Nordic nRF52840 devices.
Additionally, this project is designed to utilize the suite of environmental sensors embedded on the Controller (Adafruit CLUE).
For example, the user can control the LED strip color in real-time using the accelerometer (e.g., X, Y, and Z-axis mapped to the Red, Green, and Blue components, respectively, of the RGB-colored LEDs), gyroscope, magnetometer, air temperature, barometric pressure, humidity, light color, proximity, gesture sensor, or PDM microphone.
Various animation patterns (e.g., color pulse/fade using microphone audio levels, rainbow pattern with origin seeded by magnetic North, etc.) are also supported.
The onboard IPS LCD screen provides a rich GUI interface based on the LVGL embedded graphics library.
This software lets you select a project and an associated activity, then you can start and stop a timer that tracks how many hours you worked on that activity.
Designed for the Adafruit PyPortal, it takes advantage of the ESP32 WiFi module by automatically synchronizing local time with an NTP server. Additionally, time is tracked by logging to the internal SD card, making it easy to open and read from a PC when you actually submit your hours wherever. Alternatively, if your time-tracking system and the PyPortal are on a shared network, the software could easily be modified to submit your time automatically.
Color Code
Color
Status
Description
Active
🟦
Excellent
Robust, tested, stable, well-documented
✓
🟩
Good
Correct, easy to use or understand
✓
🟨
Reusable
Functional, may require modification
✓
🟧
Deprecated
No longer used or maintained
🟥
Broken
Partially implemented, missing or broken capabilities