Skip to content

Instantly share code, notes, and snippets.

View todbot's full-sized avatar
💭
doing the blink1

Tod Kurt todbot

💭
doing the blink1
View GitHub Profile
@todbot
todbot / wifi_clock_code.py
Last active April 1, 2024 23:17
Make an internet clock with CircuitPython using WorldTimeAPI.org
# Make an internet clock with CircuitPython using WorldTimeAPI.org
# 31 Mar 2024 - @todbot / Tod Kurt
# Use resulting strings for displaying on a display of some kind
import os, time
import wifi
import adafruit_requests
import socketpool
import ssl
time_url = "http://worldtimeapi.org/api/ip"
@todbot
todbot / bitmapfilter_play1_code.py
Last active April 9, 2024 12:03
starting to play with bitmapfilter in CircuitPython for Processing- / p5js-like effects
# starting to play with bitmapfilter
# 31 Mar 2024 - @todbot / Tod Kurt
import time, math, random
import board
import vectorio
import displayio
import bitmaptools
import bitmapfilter
display = board.DISPLAY
@todbot
todbot / lilygo_tdisplay_s3_handsetup.py
Created March 28, 2024 20:18
LilyGo T-Display S3 display hand-setup in CircuitPython
"""
LilyGo T-Display S3 display hand-setup. Not normally required if using https://circuitpython.org/board/lilygo_tdisplay_s3/
"""
import time
import board
import digitalio
import displayio
import paralleldisplaybus
import adafruit_st7789
@todbot
todbot / code_color_palette_finder.py
Last active March 10, 2024 20:50
Color summarizer / color palette finder for CircuitPython
# code.py example for color_palette_finder.py
# 9 Mar 2024 - @todbot / Tod Kurt
# Needs 'color_palette_finder.py' library
# video demo: https://youtu.be/dSR6IVxeaTg
import time
import board
import displayio
import vectorio
import gc
@todbot
todbot / average_jpeg_color_code.py
Last active March 10, 2024 00:05
Compute average color of a JPEG image in CircuitPython
# Compute the average (median or mean) color of a JPEG using ulab.numpy
# 9 Mar 2024 - @todbot / Tod Kurt
# Note: test images are included as comment below, max tested resolution 256x192
import ulab.numpy as np
import displayio
import jpegio
def rgb565_to_rgb888(v, swapped=True):
"""Convert RGB565 (normal or swapped) to RGB888 tuple"""
if swapped:
@todbot
todbot / WiFiWebClient_todbot.ino
Created February 26, 2024 18:43
Arduino WiFiWebClient, verified to work on PicoW with arduino-pico core
// from:
// https://docs.arduino.cc/retired/library-examples/wifi-library/WiFiWebClient/
#include <WiFi.h>
// Enter your WiFi SSID and password
char ssid[] = "todbot"; // your network SSID (name)
char pass[] = "testtesttest"; // your network password (use for WPA, or use as key for WEP)
char server[] = "wifitest.adafruit.com"; // host name address for adafruit test
// lightly modified to print out the top level directory as strings,
// like for use with a display
/*********************************************************************
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!
MIT license, check LICENSE for more information
Copyright (c) 2019 Ha Thach for Adafruit Industries
@todbot
todbot / displayio_grapher.py
Last active February 5, 2024 19:54
Draw a funciton on the screen, like an oscilloscope, building on @jedgarpark Parsec on circle drawing
# builds on John Park's Parsec on drawing circle https://www.youtube.com/watch?v=nI55N6q0sUo
import math
import time
import random
# Set up the display
display = board.DISPLAY
# Create a blank displayio group
group = displayio.Group()
@todbot
todbot / spinny_radar_box_code.py
Last active February 1, 2024 21:57
spinning sorta radar based off of John Park's CircuitPython Parsec 1 Feb 2024
import board
import displayio
import math
import time
# Set up the display
display = board.DISPLAY
# Create a blank displayio group
tilegroup = displayio.Group()
@todbot
todbot / midi_solenoids.ino
Last active February 1, 2024 22:13
midi_solenoids for Arduino and TinyUSB
// Port of code at https://efundies.com/src/arduino/midi-solenoids.ino
// to use fortyseveneffects MIDI library and Adafuit_TinyUSB
// Be sure to set Tools -> USB Stack: Adafruit TinyUSB in Arduino IDE
#include <Adafruit_TinyUSB.h>
#include <MIDI.h>
// USB MIDI object
Adafruit_USBD_MIDI usb_midi;
// Create a new instance of the Arduino MIDI Library,
// and attach usb_midi as the transport.