paul's Blog

Battery Pack Load

Submitted by paul on Tue, 2013-11-05 12:45

I purchased a cheap USB power pack, thinking it would be ideal for powering small projects.  But it automatically shuts off if the device isn't drawing a lot of power, since it's meant for charging cell phones.

Here's a 2 transistor circuit I built this morning that keeps it on with very little battery drain by using brief pulses.

Click "Read more" for the schematic, design details, and a PCB.....

Quality Audio on Teensy3 with Arduino

Submitted by paul on Mon, 2013-08-26 01:09

Over the last couple weeks I've been working on supporting quality audio (44.1 kHz, 16 bit) on Teensy3 using very simple Arduino style programming.  This weekend I added buttons and knobs to control parameters....

This work is still at an early stage.  I hope to publish a first alpha test version in about 1 month...

Edit: just a bit more info: The library manipulates audio with a collection of input, synthesis, processing and output objects that can be connected together in almost any way.  Audio connection objects automatically move the 16 bit data and run the synthesis and processing algorithms in the background, so the user's sketch isn't burdened with high bandwidth, real-time data manipulation.  The objects provide functions that can modify their behavior (volume, oscillator frequency, note on/off, modulation, etc) which can be used with extremely simple Arduino-style sketches, because the objects automatically handle all high speed data computation and movement in the background, triggered by interrupts and DMA transfers.

Designing a sytem to make excellent quality audio on Arduino with powerful features but also extremely easy has definitely turned out to be quite a challenge.  I'm still redesning the connection object's base class.  Much work remains, but now with I2S and PWM output working, .wav file playing and DDS sine wave generation all working, it really feels like it's starting to come together.  I hope to have the API stable enough (stable = unlikely to incompatibly change) for a first releast by October.

Measuring microamps & milliamps at 3 MHz bandwidth

Submitted by paul on Sat, 2013-07-27 04:52

Recently I needed to actually "see" a current waveform in the 100 uA to 5 mA range with at least a couple MHz bandwidth.  This extremely expensive probe would have been perfect, but instead I built something similar for about $30 using the amazing Analog Devices AD8428 amplifier.

Click "Read more" for details and a scope screenshot....

Maker Faire 2013

Submitted by paul on Tue, 2013-05-14 16:48

The Dorkbot booth at Maker Faire worked out really well.  Here's a couple good photos Zach took:

This is the right-hand side, with my extremely bright OctoWS2811 Arduino library demo triggered by stomp pads.

This is the center with Tom's Bee counter, Zach's Hypnolamp, and Tara's soldering demo in the center, viewed over the top of Jared's VFD display spectrum analyzer (and FPGA Robotron not visisble in this photo).

Click "Read more" for more pictures, source code and other stuff

Unix Select-Paste in Arduino Editor

Submitted by paul on Mon, 2013-04-22 06:14

The Arduino IDE editor's lack of support for X11's select-paste mechanism has always annoyed me.  Well, I finally got around to adding it.  Especially for helping people with their Arduino troubles (which I do every day), it's so very nice to finally be able to quickly select-paste between Arduino and forum messages, email, terminal windows, etc.

This is a Unix/X11 feature.  Mac & Windows do not have anything similar.  But on Linux it's so very fast and convenient.  This tiny little feature really makes me happy.  :-)

Update: Arduino 1.0.5 now has this feature on Linux.  It's not mentioned in the release notes, but if you try select-paste, it now works properly even without installing Teensyduino.