Skip to content

Instantly share code, notes, and snippets.

View m0xpd's full-sized avatar

Paul Darlington, a.k.a. 'm0xpd' m0xpd

View GitHub Profile
@m0xpd
m0xpd / ADSRduino.ino
Last active October 6, 2021 09:59
A simple ADSR for the Arduino
// ADSRduino
//
// a simple ADSR for the Arduino
// m0xpd
// Feb 2017
//
// see http://m0xpd.blogspot.co.uk/2017/02/signal-processing-on-arduino.html
//
// uses a Microchip MCP4921 DAC on digital pins 4,5,6 & 8 (see below)
// receives gate inputs on digital pin 2 (remember to protect e.g. with a 200R resistor and a 5V1 Zener diode)
@m0xpd
m0xpd / Kanga_VFO_3.ino
Last active August 29, 2015 14:04
Arduino sketch for the Enhanced Kanga VFO, handling 20 * 4 LCD
/*
Kanga_VFO_3
Enhanced VFO System for the Arduino
with AD9850 DDS Sig Gen Module
mounted in the Kanga DDS Shield
and a LCD Display on the I2C Interface
Handles either 16 * 4 or 20 * 4 LCD format
@m0xpd
m0xpd / Kanga_VFO_2.ino
Last active December 21, 2015 17:29
Arduino sketch for the Enhanced Kanga VFO
/*
Kanga_VFO_2
Enhanced VFO System for the Arduino
with AD9850 DDS Sig Gen Module
mounted in the Kanga DDS Shield
and a (16*4) LCD Display on the I2C Interface
m0xpd
August 2013
@m0xpd
m0xpd / Keyer.ino
Last active May 26, 2018 11:44
A Simple Morse Keyer for the Arduino
/*
Keyer
Simple keyer for the Arduino
m0xpd
shack.nasties 'at Gee Male dot com'
Pins 6 & 7 connected to a paddle...
pin 6 is the 'dit' key (usually the left)
@m0xpd
m0xpd / WSPR_Tx.py
Last active December 11, 2015 18:19
Sending WSPR on the RPi Beacon
if Proceed == 1: # External timing code sets Proceed = 1 for WSPR
# and enters at the start of the transmission interval
sendFrequency(WSPR_freq) # setup the DDS frequency
GPIO.output(11, True) # key the Tx
time.sleep(1) # wait for 1 second : WSPR starts 1 second into the minute
for i in range(0,len(WSPR_Message)): # read each character
sendFrequency(WSPR_freq+WSPR_Message[i]*WSPR_df) # set frequency
time.sleep(0.682) # wait for 682 msec
GPIO.output(11, False) # All Done - so un-key the Tx
@m0xpd
m0xpd / AD9850.py
Last active December 11, 2015 09:09
Demonstrating how to run an eBay AD9850 DDS Module on the RPi GPIO
#!/usr/local/bin/python
# Run an eBay AD9850 on the RPi GPIO
#
# translated from nr8o's Arduino sketch
# at http://nr8o.dhlpilotcentral.com/?p=83
#
# m0xpd
# shack.nasties 'at Gee Male dot com'
import RPi.GPIO as GPIO
# setup GPIO options...
@m0xpd
m0xpd / RotaryEncoder2.py
Created January 17, 2013 19:32
RPi Object-oriented Rotary Encoder Read
#!/usr/local/bin/python
# m0xpd
# shack.nasties 'at Gee Male dot com'
import RPi.GPIO as GPIO
# setup GPIO options...
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
class RotaryEnc:
@m0xpd
m0xpd / RotaryEncoder1.py
Created January 17, 2013 19:29
RPi Simple Rotary Encoder Read on GPIO
#!/usr/local/bin/python
# m0xpd
# shack.nasties 'at Gee Male dot com'
import RPi.GPIO as GPIO
# setup GPIO options...
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
# setup IO bits...
GPIO.setup(12, GPIO.IN) # PinA is on GPIO 12
GPIO.setup(16, GPIO.IN) # PinB is on GPIO 16
@m0xpd
m0xpd / Morse_Gmail.py
Last active December 10, 2015 09:08
Morse Code Gmail Notifier
#!/usr/bin/env python
"""
Morse_Gmail.py
m0xpd
December 2012
"""
import feedparser, time, sys
import RPi.GPIO as GPIO