Skip to content

Instantly share code, notes, and snippets.


Kasper Kamperman kasperkamperman

View GitHub Profile
View sound_normalizing.ino
/* script to calibrate (sound level normalizing) a microphone (or other sensor).
used with Sound Sensor v2.0 from / electronic bricks
sampling based on Arduino Cookbook recipe "detecting sound" chapter 6.7
dim_curve idea by Jims <>
created 7 september 2011 Kasper Kamperman
This example code is in the public domain.
kasperkamperman / ReadPulseCooking.pde
Created Jun 13, 2019
Code in which I read serial data and write it to a CSV file. Used for a research project.
View ReadPulseCooking.pde
// ReadPulseCooking.pde
import processing.serial.*;
Uses a modified pulse sensor script in Arduino to update each 10ms
A different string is formulated with all the data
kasperkamperman / callbucket_demo.php
Created Oct 18, 2018
This algorithm spreads out reoccurring (every n minutes) api calls over time, so server load is balanced. It's only the spreading out part.
View callbucket_demo.php
ini_set('display_errors', '1');
ini_set('error_reporting', E_ALL);
/* This algorithm spreads out reoccurring (every n minutes) api calls over time, so server load
is balanced. It's only the spreading out part.
The whole system uses a database with 60 columns. Each croncall (if we assume one a minute) we read out the
kasperkamperman / fixwrongutf8encoding.php
Created Jul 3, 2018
Function to fix ut8 special characters displayed as 2 characters (utf-8 interpreted as ISO-8859-1 or Windows-1252)
View fixwrongutf8encoding.php
<?php header('Content-Type: text/html; charset=utf-8'); ?>
<title>Fix wrong encoded UTF8 characters</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
/* Problem description:
kasperkamperman / dmxoutputdriver.ino
Last active Feb 4, 2018
Output DMX data on the Particle Photon. Transmission is done in the background with the DMA implementation. You can use any pin, so you are not restricted to the serial port. Counterpart is that it uses a lot of memory (4 bytes for every transmitted DMX bit).
View dmxoutputdriver.ino
/* Demo to create a DMX output on every pin of the Photon.
It send the information through DMA, so transmitting data won't cost you
extra CPU cycles. Counterpart of this method is that each bit occupies 32bits
(unt32_t) in memory. So almost half of the Photon's memory is used for the
data array.
You can choose to use continuousMode is DMX is transmitted on the maximum speed
of around 44 fps. You can't go faster (at least not if you use the whole buffer).
This code supports on pin, however without any additional memory cost you could
kasperkamperman / postImageToAzure.pde
Created Jan 24, 2018
raw sketch to test Azure posting and feedback in Processing
View postImageToAzure.pde
// download HttpClient 4.5.5 from
// Download Binary 4.5.5 zip:
// Create a folder named code as a subfolder from this sketch
// Copy all the files in the "lib" folder to the code folder.
// Microsoft Cognetive Services - FACE API
// Docs:
// Thanks to:
kasperkamperman / main.cpp
Last active Dec 29, 2020
DMA control of GPIO pins on Particle Photon STM32
View main.cpp
#include "Particle.h"
// RM0033 MANUAL - Table 23 / Figure 1 System architecture
// Photon is STM32F205
// Only DMA2 is connected with GPIO ports
// DMA_Mode_Circular
// Ulrich Radig OctoArtnetNode
// Thanks to Julien Vanier for the idea of BSRR manipulation.
kasperkamperman / add_to_functions.php
Created Nov 8, 2017
add source url to image captions in Wordpress
View add_to_functions.php
// add source url to image captions
// --------------------------------
// add this to functions.php of your (child) theme
// original by Kaspars Dambis:
// modified by Kasper Kamperman:
add_filter("attachment_fields_to_edit", "add_image_source_url", 10, 2);
function add_image_source_url($form_fields, $post) {
$form_fields["source_url"] = array(
View easingdemo.pde
Demonstration of the "Penner" easing functions.
I've used the Ani library. However you could also copy-paste functions form the source code.
This example only uses the functions in the Ani library. The Ani library is really time focused. However
with the demo you see how you can add easing on all values between 0.0 - 1.0, and use it for example for
music visualisation.
- online previz demo
View easingDemo.pde
void setup() {
// tip FX2D looks really smooth on retina displays
// some things won't work in this mode, but most things do
void draw() {