Timestamps for KiCad footprints

I’m bulk editing a bunch of KiCad footprints (a.k.a. modules) in a text editor. Said footprints have a tedit field, which turns out is a hex-coded timestamp. This means to properly edit a KiCad footprint in a text editor, you should update that field when you save it.

A one-liner for producing a hex-coded timestamp in Linux bash is:

printf "%X\n" $(date +%s)

USBtiny on Debian

USBtiny error

I was able to clear a “Warning: cannot open USB device: Permission denied” error when using a USBtiny programmer on my Debian sid system by adding the suggestion at the end of this Adafruit page.

Specifically, as root create a file /etc/udev/rules.d/99-USBtiny.rules with the following single line:

SUBSYSTEM=="usb", ATTR{product}=="USBtiny", ATTR{idProduct}=="0c9f", ATTRS{idVendor}=="1781", MODE="0660", GROUP="dialout"

The next time you log in, your USBtiny should work as expected.

You can confirm the ATTR{idProduct} and ATTRS{idVendor} values by plugging in your USBtiny and running dmesg (as root):

# dmesg
[404467.789928] usb 2-1.2: New USB device found, idVendor=1781, idProduct=0c9f
[404467.789930] usb 2-1.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[404467.789931] usb 2-1.2: Product: USBtiny

Update (9/17/2018)

I received a new programmer that was identifying itself as “USBtinyISP” rather than “USBtiny”, and so the udev rule above wasn’t allowing user access to the new programmer. The solution was to add a new rule in the form of a second line to /etc/udev/rules.d/99-USBtiny.rules:

SUBSYSTEM=="usb", ATTR{product}=="USBtiny", ATTR{idProduct}=="0c9f", ATTRS{idVendor}=="1781", MODE="0660", GROUP="dialout"
SUBSYSTEM=="usb", ATTR{product}=="USBtinyISP", ATTR{idProduct}=="0c9f", ATTRS{idVendor}=="1781", MODE="0660", GROUP="dialout"

AVA preamp chassis

AVA “SLR” remote controlled preamplifier chassis

A recent chassis redesign project I undertook for Audio by Van Alstine is now in production.

This project pushed “constraints as creative resource” to the limit. The client specified that the design language and elements from the product’s predecessor be maintained—down to the knobs, faceplate treatments, and typography.

The project brief revolved around electronic and industrial design work to bring the client’s preamplifer platform up to functional parity with current market offerings within a framework that fits with the client’s existing manufacturing capabilities. The result is a platform that is significantly more capable than what it replaces yet easier for the client to manufacture. It is also amenable to comprehensive appearance changes if and when the client deems the timing is right.

So while it might not seem there’s much innovation on the outside, there is a lot of innovation for the client on the inside.

AVA DAC MK 5 released

Berkeley investigates the DAC MK5

The new DAC MK 5 that I’ve been working on for Audio by Van Alstine has finally been released.

I am grateful to Frank Van Alstine for giving me the room to develop the best reasonably priced DAC I know how to design. The results have so far exceeded all expectations, including my own. We all learned a lot through the process of designing this unit, which is as it should be. Rapid prototyping turned out to be instrumental in exploring a number of early electronic design alternatives. Looking forward to the reviews!

Acrobotic’s ESP8266 Tips & Tricks

NodeMCU devkit

There’s a growing series of good videos covering ESP8266 Tips & Tricks on ACROBOTIC’s YouTube channel. The ESP8266 has become quite a darling in the IoT world, and a seriously cool community is growing around it.


NodeMCU devkit picture by Vowstar (Own work) [CC BY-SA 4.0 (http://creativecommons.org/licenses/by-sa/4.0)], via Wikimedia Commons.

More KiCad modules

kicad-appicon-128

I’ve added a bunch of modules to my KiCad library. These have not yet been vetted, so approach with caution. Here’s what’s new or changed:

  • New library mfk-ipc-7351-diode.mod with:
    • mfk-SOD3716X135N (SOD-123 diode)
  • New library mfk-smd-not-ipc.mod with:
    • mfk-fairchild-SOT23 (Fairchild version of SOT-23)
    • mfk-fairchild-SOT23_213 (as above but with “BEC” pinout)
    • mfk-fairchild-SOT233 (Fairchild version of SOT-233)
    • mfk-fairchild-SOT23_2313 (as above but with “BCEC” pinout)
  • Changes to mfk-ipc-7351-transistor.mod:
    • Deleted mfk-IPC7351-trans-SOT65P210X110-6N_10mil
    • Changed silk width in mfk-SOT65P210X110-6N (SOT363) to 10 mil.
  • New part in mfk-vishay.mod:
    • mfk-Vishay-TSOP341xx-alt (alt version of mfk-Vishay-TSOP341xx)
  • New part in mfk-keystone.mod:
    • Added mfk-KEYSTONE-621

AVA adopts my audio module in new DAC and preamp designs

ava-silver

Audio by Van Alstine has adopted my discrete Class A audio module into two of their products. The Vision DAC uses the module in its differential anti-imaging filter and output stage and the Vision SL Preamp uses it for line stage amplification. The pair will be premiered at the Axpona Audio Expo in Chicago this weekend. Looking forward to feedback from the show.

Motorized potentiometer for FLOSS remote control

top
bottom

As part of my Open source audio remote control initiative, I’ve just published Volume-AlpsRK16814MG, an open source hardware design that integrates a high-quality Alps motorized quad potentiometer  with an H bridge. The design lets you control the motor’s direction using two logic-level signals: VOL_UP and VOL_DOWN. The fact that it’s a quad pot means you can use it to control regular stereo volume by ignoring one of the dual gangs or a differential stereo signal.

Here’s the schematic* to give you an idea what it’s doing. Gerbers and PCBs are available at OSH Park.

I’ve also modified the remote control receiver to better support motorized pots. There is now a compile-time option that lets you latch and unlatch the VOL_UP and VOL_DOWN signals rather than produce repeated VOL_UP and VOL_DOWN pulses—which makes control of motorized pots more fluid.

*Subject to change!

Open source audio remote control

audio-remote

I’ve started a FLOSS remote control receiver project for DIY audio preamplifiers. I think it’s just about good enough to make public.

Remote control is one of the more challenging things for an audio DIY person to implement, so I thought having an open source hardware and software platform for doing this would be useful. It uses our good friend Arduino for brains and works with the Philips RC-5 protocol. I like RC-5 because its the closest thing I know of to a universal, well-documented, brand- and model-agnostic protocol.

The IR command decoding is done using Guy Carpenter’s excellent RC5 library. I also considered using Ken Shirriff’s multi-protocol IR library. Ken’s library works with a large number of protocols, but I thought its larger memory footprint might preclude porting this thing to tiny AVRs.

Details on the project are available in my RC5-Preamp GitHub or GitLab repository.