Shared Projects by dewhisna
Shared Projects by dewhisna
FPGA-Based Dual-Resonance Solid-State Stereo Music Tesla Coil Interrupter V1
2 layer board of 4.91 x 3.31 inches (124.6 x 84.0 mm)
Uploaded:
April 9th 2018
Shared:
April 9th 2018
Total Price:
$81.05
FPGA-Based Solid-State Stereo Musical Tesla Coil Interrupter interface board. Uses the [Numato Mimas Spartan 6 FPGA Module](https://numato.com/product/mimas…
FPGA-Based Solid-State Stereo Musical Tesla Coil Interrupter interface board. Uses the Numato Mimas Spartan 6 FPGA Module to generate 512-note polyphony (256 per channel) Tesla Coil interrupter signals to drive two Musical Tesla Coils in stereo from MIDI and other audio sources at a 1.5625 MHz note-timer resolution.
It was originally designed to function with the Netduino Plus 2 host processor board, but will function with any Arduino R3 compatible host processor. It supports both 3.3v and 5v host interfaces with on-board level translators. Power can be supplied with 7.4v LiPo battery pack and monitored with on-board low-voltage detector circuit. This board includes a 4-button keypad connector and an I2C Interface circuit for connecting a 4x20 or similar character-based LCD screen (or other +5V I2C devices).
I built this to run two of the original v.1 old-style oneTesla Musical Tesla Coils running in stereo. I wanted something more hi-fidelity than their simplistic 2-note interrupter. I wanted an interrupter that you could actually play an entire orchestral piece through with complete fidelity, including pitch-bends and power level shift nuances. The only way to get enough capture-compare timers was to use an FPGA. I made the VHDL code for the FPGA available on OpenCores as Timer Output Compare Driver. Note: To access the source tree without needing an OpenCores account, click the “Browse” link next to the “SVN” label in the top left corner. The source files are in “timerocd/trunk/src/”, which can be built under the free version of Xilinx ISE. The prebuilt binary file is at “timerocd/trunk/xilinx/TimerOCD/TimerOCD.bin”, which can be loaded directly into the Numato Mimas module using the Python programming scripts on the Numato website.
Here’s a demo of the first prototype of this interrupter back when it was still running at 16-note polyphony on a single Tesla Coil: Amazing Grace on the Musical Tesla Coil. I don’t yet have a video of dual-coils on the new FPGA interrupter as I’m in the process of redesigning the primary windings to improve tunability (it isn’t perfectly tuned in this demo video – the arc should be even bigger!) and to try to alleviate some arc-over problems I’ve been experiencing (oh the joys of working with high voltage).
Final code for the host processor is still being developed.
ERRATA: The LiPo low-battery detection circuit on this board, while it works well in general, has a flaw in the output to the MCU. Due to the transistor connections between the base of Q7 and the gate of Q9, the signal to the MCU will not change when the low-battery LED is activated. One possible fix is to cut the trace going to the gate of Q9 and connect it to the collector of Q7 instead of the base of Q7. This will invert the logic level for the low-battery signal in the process, but it should let the signal actually function.
NOTE: This board has been replaced by the improved FPGA DRSSTC Interrupter V2 Board design.
FPGA-Based Solid-State Stereo Musical Tesla Coil Interrupter interface board. Uses the [Numato Mimas Spartan 6 FPGA Module](https://numato.com/product/mimas…
FPGA-Based Solid-State Stereo Musical Tesla Coil Interrupter interface board. Uses the Numato Mimas Spartan 6 FPGA Module to generate 512-note polyphony (256 per channel) Tesla Coil interrupter signals to drive two Musical Tesla Coils in stereo from MIDI and other audio sources at a 1.5625 MHz note-timer resolution.
It was originally designed to function with the Netduino Plus 2 host processor board, but will function with any Arduino R3 compatible host processor. It supports both 3.3v and 5v host interfaces with on-board level translators. Power can be supplied with 7.4v LiPo battery pack and monitored with on-board low-voltage detector circuit. This board includes a 4-button keypad connector and an I2C Interface circuit for connecting a 4x20 or similar character-based LCD screen (or other +5V I2C devices).
I built this to run two of the original v.1 old-style oneTesla Musical Tesla Coils running in stereo. I wanted something more hi-fidelity than their simplistic 2-note interrupter. I wanted an interrupter that you could actually play an entire orchestral piece through with complete fidelity, including pitch-bends and power level shift nuances. The only way to get enough capture-compare timers was to use an FPGA. I made the VHDL code for the FPGA available on OpenCores as Timer Output Compare Driver. Note: To access the source tree without needing an OpenCores account, click the “Browse” link next to the “SVN” label in the top left corner. The source files are in “timerocd/trunk/src/”, which can be built under the free version of Xilinx ISE. The prebuilt binary file is at “timerocd/trunk/xilinx/TimerOCD/TimerOCD.bin”, which can be loaded directly into the Numato Mimas module using the Python programming scripts on the Numato website.
Here’s a demo of the first prototype of this interrupter back when it was still running at 16-note polyphony on a single Tesla Coil: Amazing Grace on the Musical Tesla Coil. I don’t yet have a video of dual-coils on the new FPGA interrupter as I’m in the process of redesigning the primary windings to improve tunability (it isn’t perfectly tuned in this demo video – the arc should be even bigger!) and to try to alleviate some arc-over problems I’ve been experiencing (oh the joys of working with high voltage).
Final code for the host processor is still being developed.
ERRATA: The LiPo low-battery detection circuit on this board, while it works well in general, has a flaw in the output to the MCU. Due to the transistor connections between the base of Q7 and the gate of Q9, the signal to the MCU will not change when the low-battery LED is activated. One possible fix is to cut the trace going to the gate of Q9 and connect it to the collector of Q7 instead of the base of Q7. This will invert the logic level for the low-battery signal in the process, but it should let the signal actually function.
NOTE: This board has been replaced by the improved FPGA DRSSTC Interrupter V2 Board design.
-
Actions
Ordering shared project
Hey there! Before ordering, make sure you have all all the info you need to complete and use this design. This usually means a component list, and sometimes additional information such as assembly notes, source code, or usage guides.Since this is a project designed by a community member, it may contain design errors that prevent it from working as intended. OSH Park cannot place any guarantees about the functionality or correctness of the design.
PWM BLDC Motor w/Quadrature Encoder Interface Shield V2
2 layer board of 2.11 x 2.43 inches (53.5 x 61.8 mm)
Uploaded:
March 22nd 2018
Shared:
March 22nd 2018
Total Price:
$25.55
This is Version 2 of the Arduino Compatible Interface Shield for interfacing with Blushless DC (BLDC) Motors having their own 3-Phase controllers with a PWM …
This is Version 2 of the Arduino Compatible Interface Shield for interfacing with Blushless DC (BLDC) Motors having their own 3-Phase controllers with a PWM Speed Set Input. It supports either a two-signal 90-deg quadrature speed sensor or a 3-Phase Hall-Effect speed sensor input. It has support for either an optical reflectivity sensor or Hall-Effect sensor for Zero-Position/Index sensing or it can use an external Z-Pos Index Sensor if the motor already has one. Supports both 3.3V and 5V logic with on-board level shifters.
Unlike the original design, this version also adds an ATmega328PB (note: PB version, NOT ‘P’) coprocessor to control motor speed and provide a PID loop, which reduces the work overhead required by the main host processor on which this shield board is used. This processor is designed to communicate with the main host processor via I2C.
This version is the new replacement for the original https://www.oshpark.com/shared_projects/yW0aEBL9 design.
This is Version 2 of the Arduino Compatible Interface Shield for interfacing with Blushless DC (BLDC) Motors having their own 3-Phase controllers with a PWM …
This is Version 2 of the Arduino Compatible Interface Shield for interfacing with Blushless DC (BLDC) Motors having their own 3-Phase controllers with a PWM Speed Set Input. It supports either a two-signal 90-deg quadrature speed sensor or a 3-Phase Hall-Effect speed sensor input. It has support for either an optical reflectivity sensor or Hall-Effect sensor for Zero-Position/Index sensing or it can use an external Z-Pos Index Sensor if the motor already has one. Supports both 3.3V and 5V logic with on-board level shifters.
Unlike the original design, this version also adds an ATmega328PB (note: PB version, NOT ‘P’) coprocessor to control motor speed and provide a PID loop, which reduces the work overhead required by the main host processor on which this shield board is used. This processor is designed to communicate with the main host processor via I2C.
This version is the new replacement for the original https://www.oshpark.com/shared_projects/yW0aEBL9 design.
-
Actions
Ordering shared project
Hey there! Before ordering, make sure you have all all the info you need to complete and use this design. This usually means a component list, and sometimes additional information such as assembly notes, source code, or usage guides.Since this is a project designed by a community member, it may contain design errors that prevent it from working as intended. OSH Park cannot place any guarantees about the functionality or correctness of the design.
K40 Laser RAMPS Interface
2 layer board of 1.19 x 1.19 inches (30.2 x 30.2 mm)
Uploaded:
November 26th 2017
Shared:
November 26th 2017
Total Price:
$7.05
This is a K40 40W CO2 (Chinese) Laser to RAMPS Interface board. Similar to the "K40 Middle Man" board, but i…
This is a K40 40W CO2 (Chinese) Laser to RAMPS Interface board. Similar to the “K40 Middle Man” board, but is more of a “K40 Middle Woman” – that is, it was created second and is more complicated, er uh, I mean more sophisticated.
Unlike the Middle Man board, this board drops all water pump and 12V routing signals, since it wasn’t relevant to my configuration. What it adds is (hopefully) better interface circuitry between the RAMPS and the K40 Laser Power Supply. The PCB footprint, however, was kept the same as the K40 Middle Man to be a physical drop-in replacement. Parts of this circuit was derived from the M2Nano control board on my laser and from its documentation from http://www.3wcad.com, including corrections to the commonly listed pin-out of the 12-pin ribbon cable connector, which generally is missing a second ground pin and a secondary YL (Y-limit) switch pin.
Interface Circuitry added over the basic trace routing is as follows:
1) Current limiting and voltage clamping on the X and Y axis limit switch inputs has been added. This is useful in case there’s a short in the ribbon cable between the endstop lines and the motor control lines. It would be better to fry a resistor or diode in this circuit than your entire control board stack.
2) A Laser Fire signal buffer has been added that filters it for noise, both with a simple low-pass filter and with a transistor circuit that requires a current flow instead of just a voltage change. It also uses the K40’s +5V line as its pull-up, allowing you to drop power to your RAMPS board (and its processors) and not accidentally fire the laser. This change does, however, require that you define “HIGH_TO_FIRE” in the Configuration.h file of your firmware when you compile it, as this circuit needs a high-signal to fire the laser.
3) A low-pass filter has been added to the Laser PWM output signal to make it more of a proper DAC signal to operate in place of the potentiometer on the K40 design. Presumably, the K40 laser’s power supply already has some filtering circuitry since others are getting away without using a filter, but this addition should help.
Any or all parts of the circuit changes are easily bypassed by omitting parts and/or adding 0-ohm jumper “resistors” in their place to get a simple “pass-through” board like the “K40 Middle Man”.
All surface mount resistors and capacitors are 1206 footprint. The schematic and bill-of-materials will be made available on GitHub, and linked here, once the circuit has been fully proven (i.e. once I finish my K40 Laser build).
This is a K40 40W CO2 (Chinese) Laser to RAMPS Interface board. Similar to the "K40 Middle Man" board, but i…
This is a K40 40W CO2 (Chinese) Laser to RAMPS Interface board. Similar to the “K40 Middle Man” board, but is more of a “K40 Middle Woman” – that is, it was created second and is more complicated, er uh, I mean more sophisticated.
Unlike the Middle Man board, this board drops all water pump and 12V routing signals, since it wasn’t relevant to my configuration. What it adds is (hopefully) better interface circuitry between the RAMPS and the K40 Laser Power Supply. The PCB footprint, however, was kept the same as the K40 Middle Man to be a physical drop-in replacement. Parts of this circuit was derived from the M2Nano control board on my laser and from its documentation from http://www.3wcad.com, including corrections to the commonly listed pin-out of the 12-pin ribbon cable connector, which generally is missing a second ground pin and a secondary YL (Y-limit) switch pin.
Interface Circuitry added over the basic trace routing is as follows:
1) Current limiting and voltage clamping on the X and Y axis limit switch inputs has been added. This is useful in case there’s a short in the ribbon cable between the endstop lines and the motor control lines. It would be better to fry a resistor or diode in this circuit than your entire control board stack.
2) A Laser Fire signal buffer has been added that filters it for noise, both with a simple low-pass filter and with a transistor circuit that requires a current flow instead of just a voltage change. It also uses the K40’s +5V line as its pull-up, allowing you to drop power to your RAMPS board (and its processors) and not accidentally fire the laser. This change does, however, require that you define “HIGH_TO_FIRE” in the Configuration.h file of your firmware when you compile it, as this circuit needs a high-signal to fire the laser.
3) A low-pass filter has been added to the Laser PWM output signal to make it more of a proper DAC signal to operate in place of the potentiometer on the K40 design. Presumably, the K40 laser’s power supply already has some filtering circuitry since others are getting away without using a filter, but this addition should help.
Any or all parts of the circuit changes are easily bypassed by omitting parts and/or adding 0-ohm jumper “resistors” in their place to get a simple “pass-through” board like the “K40 Middle Man”.
All surface mount resistors and capacitors are 1206 footprint. The schematic and bill-of-materials will be made available on GitHub, and linked here, once the circuit has been fully proven (i.e. once I finish my K40 Laser build).
-
Actions
Ordering shared project
Hey there! Before ordering, make sure you have all all the info you need to complete and use this design. This usually means a component list, and sometimes additional information such as assembly notes, source code, or usage guides.Since this is a project designed by a community member, it may contain design errors that prevent it from working as intended. OSH Park cannot place any guarantees about the functionality or correctness of the design.
Raspberry Pi Zero UI HAT V1
2 layer board of 2.57 x 1.19 inches (65.2 x 30.2 mm)
Uploaded:
October 3rd 2017
Shared:
November 11th 2017
Total Price:
$15.20
User-Interface HAT for the Raspberry Pi Zero. Note: Attaches to the BOTTOM of the Raspberry Pi Zero Board!
This HAT provides a debounced 6-button keypad …
User-Interface HAT for the Raspberry Pi Zero. Note: Attaches to the BOTTOM of the Raspberry Pi Zero Board!
This HAT provides a debounced 6-button keypad interface and three I2C OLED connectors for mounting the little off-the-shelf 128x64 OLED displays readily available as either a single screen centered on the board, or two screens side-by-side.
It also has a connector for Serial I/O for debugging, plus a Real-Time Clock (RTC) module connector that works with the off-the-shelf DS3231 RTC modules.
Though I guess technically not a “HAT” since it doesn’t have the ID EEPROM. But it was eliminated because this board was designed to be used with another HAT board installed at the same time.
User-Interface HAT for the Raspberry Pi Zero. Note: Attaches to the BOTTOM of the Raspberry Pi Zero Board!
This HAT provides a debounced 6-button keypad …
User-Interface HAT for the Raspberry Pi Zero. Note: Attaches to the BOTTOM of the Raspberry Pi Zero Board!
This HAT provides a debounced 6-button keypad interface and three I2C OLED connectors for mounting the little off-the-shelf 128x64 OLED displays readily available as either a single screen centered on the board, or two screens side-by-side.
It also has a connector for Serial I/O for debugging, plus a Real-Time Clock (RTC) module connector that works with the off-the-shelf DS3231 RTC modules.
Though I guess technically not a “HAT” since it doesn’t have the ID EEPROM. But it was eliminated because this board was designed to be used with another HAT board installed at the same time.
-
Actions
Ordering shared project
Hey there! Before ordering, make sure you have all all the info you need to complete and use this design. This usually means a component list, and sometimes additional information such as assembly notes, source code, or usage guides.Since this is a project designed by a community member, it may contain design errors that prevent it from working as intended. OSH Park cannot place any guarantees about the functionality or correctness of the design.
Dual Pi CAN FD HAT
4 layer board of 2.57 x 1.19 inches (65.2 x 30.2 mm)
Uploaded:
November 11th 2017
Shared:
November 11th 2017
Total Price:
$30.40
Dual CAN FD Interface HAT specifically designed for the Raspberry Pi Zero W. However, it can be used on any of the Raspberry Pi boards, even those with the s…
Dual CAN FD Interface HAT specifically designed for the Raspberry Pi Zero W. However, it can be used on any of the Raspberry Pi boards, even those with the smaller I/O header, as apart from the HAT EEPROM, only the first 26-pins are used. This version supports CAN FD (Flexible Data rate).
NOTE: This board mounts upside-down on top of the Raspberry Pi, with the NSD10-12S5 Isolated power supply module that goes on the bottom of this board on the outside of the stack. So pay attention to the orientation of the J1 connector connecting to the RPi.
Dual CAN FD Interface HAT specifically designed for the Raspberry Pi Zero W. However, it can be used on any of the Raspberry Pi boards, even those with the s…
Dual CAN FD Interface HAT specifically designed for the Raspberry Pi Zero W. However, it can be used on any of the Raspberry Pi boards, even those with the smaller I/O header, as apart from the HAT EEPROM, only the first 26-pins are used. This version supports CAN FD (Flexible Data rate).
NOTE: This board mounts upside-down on top of the Raspberry Pi, with the NSD10-12S5 Isolated power supply module that goes on the bottom of this board on the outside of the stack. So pay attention to the orientation of the J1 connector connecting to the RPi.
-
Actions
Ordering shared project
Hey there! Before ordering, make sure you have all all the info you need to complete and use this design. This usually means a component list, and sometimes additional information such as assembly notes, source code, or usage guides.Since this is a project designed by a community member, it may contain design errors that prevent it from working as intended. OSH Park cannot place any guarantees about the functionality or correctness of the design.
- SERVICES
- Upload Your File
- Prototypes
- HELP
- Support
- If you can't find what you're looking for, please contact us at [email protected]
- CONNECT
- Shared Projects
- Log in / Sign up