Skip to content

A CircuitPython driver for the AD9833 Programmable Waveform Generator.

License

Notifications You must be signed in to change notification settings

CedarGroveStudios/CircuitPython_AD9833

Repository files navigation

Introduction

Discord

Build Status

Code Style: Black

A CircuitPython driver for the AD9833 Programmable Waveform Generator.

image

The AD9833 is a programmable waveform generator that produces sine, square, and triangular waveform output from 0 MHz to 12.5MHz with 28-bit resolution. The driver controls the waveform generator's frequency, phase, and waveform type.

The Cedar Grove AD9833 Precision Waveform Generator and AD9833 ADSR Precision Waveform Generator FeatherWings provide all the support circuitry for the AD9833. The ADSR (Attack, Decay, Sustain, Release) version incorporates the AD5245 digital potentiometer to provide output amplitude control.

Dependencies

This driver depends on:

Please ensure all dependencies are available on the CircuitPython filesystem. This is easily achieved by downloading the Adafruit library and driver bundle or individual libraries can be installed using circup.

Installing to a Connected CircuitPython Device with Circup

Make sure that you have circup installed in your Python environment. Install it with the following command if necessary:

pip3 install circup

With circup installed and your CircuitPython device connected use the following command to install:

circup install cedargrove_ad9833

Or the following command to update an existing version:

circup update

Usage Example

# insert code here

ad9833_simpletest.py and other examples can be found in the examples folder.

Documentation

AD9833 CircuitPython Driver API Class Description

CedarGrove AD9833 Precision Waveform Generator FeatherWing OSH Park Project

image

CedarGrove AD9833 ADSR Precision Waveform Generator FeatherWing OSH Park Project

image

For information on building library documentation, please check out this guide.

Contributing

Contributions are welcome! Please read our Code of Conduct before contributing to help this project stay welcoming.