Skip to content

Instantly share code, notes, and snippets.

@Neradoc
Neradoc / uos.py
Last active June 20, 2023 14:40
UOS compatibility for mpremote compatibility
import storage
from os import *
def get_mount_for(path):
path = path.rstrip("/")
if path[0] != "/":
path = os.getcwd() + "/" + path
while len(path) > 0:
try:
return storage.getmount(path)
# SPDX-FileCopyrightText: 2022 Neradoc NeraOnGit@ri1.fr
# SPDX-License-Identifier: MIT
"""
This file was automatically generated using Circuitpython_Keyboard_Layouts
"""
from adafruit_hid.keyboard_layout_base import KeyboardLayoutBase
__version__ = "0.0.0-auto.0"
__repo__ = "https://github.com/Neradoc/Circuitpython_Keyboard_Layouts.git"
# SPDX-FileCopyrightText: Copyright (c) 2022 brainelectronics and contributors
# SPDX-License-Identifier: MIT
"""
Implementation to interact with Winbond W25Q Flash with software reset.
Credits & kudos to crizeo
Taken from https://forum.micropython.org/viewtopic.php?f=16&t=3899
Converted from https://github.com/brainelectronics/micropython-winbond
"""
@Neradoc
Neradoc / resilient-HID.py
Last active April 22, 2023 13:24
Concept of a resilient HID keyboard. Restarts when USB is lost. Waits for UAB to be back.
"""
Resilient HID:
Test at the start to wait for the USB connection to be available
"""
import microcontroller
import supervisor
import time
# wait for connection
while not supervisor.runtime.usb_connected:
@Neradoc
Neradoc / code.py
Created April 21, 2023 11:10
Xiao RP2040 pixel fade in CP
import time
import neopixel
import board
import math
import adafruit_rgbled
pixel = neopixel.NeoPixel(board.NEOPIXEL, 1)
pixel.fill((255, 0, 255))
@Neradoc
Neradoc / PMW3901.py
Last active April 22, 2023 13:18
Circuitpython-PMW3901 driver, port from Pimoroni https://github.com/pimoroni/pmw3901-python
import time
import struct
from adafruit_bus_device.spi_device import SPIDevice
__version__ = '0.1.0'
WAIT = -1
BG_CS_FRONT_BCM = 7
BG_CS_BACK_BCM = 8
@Neradoc
Neradoc / board_display_grid_test.py
Created March 14, 2023 17:25
Test a builtin display with a grid to check colstart/rowstart and such
import board
import displayio
import time
import vectorio
display = board.DISPLAY
splash = displayio.Group(x=0, y=0, scale=1)
display.show(splash)
color_palette = displayio.Palette(2)
@Neradoc
Neradoc / mcp2221a_set_strings.py
Created February 12, 2023 02:48 — forked from twitchyliquid64/mcp2221a_set_strings.py
Example code for reading settings from the MCP2221 or MCP2221A chip, and writing product/vendor strings. Trivial to set/read other settings as well.
# Make sure you install pyusb and libusb on your system yo
import usb.core
import usb.util
import usb.control
HID_INTERFACE = 0x02
INPUT_ENDPOINT = 0x83
OUTPUT_ENDPOINT = 0x3
HID_PKT_SIZE = 64
@Neradoc
Neradoc / code.py
Created January 29, 2023 05:23
Scroll text on the Adafruit IS31FL3741 13x9 RGB Matrix with a Frame Buffer
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
# SPDX-FileCopyrightText: 2023 Neradoc https://neradoc.me
# SPDX-License-Identifier: MIT
"""
A somewhat hacky attempt at scrolling text on the IS31FL3741 13x9 Matrix
https://www.adafruit.com/product/5201
"""
import time
import board
from rainbowio import colorwheel
@Neradoc
Neradoc / code.py
Last active January 27, 2023 18:47
Text field demo for adafruit_httpserver with Circuitpython 8
# SPDX-FileCopyrightText: 2023 Neradoc
# SPDX-License-Identifier: MIT
"""Show text from the web page on a display"""
import board
import json
import mdns
import microcontroller
import socketpool
import time
import traceback