TEENSY - VG/GR Rack project

Started by ploveday, January 16, 2013, 05:33:01 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ploveday

Hey guys,
I'm in the process of combining my VG99 and GR55 into a single 1U rack mount unit, controllable from the FC300.
I'm almost at the point of getting a proto run of PCBs made, so I thought I would post the schematics here to see if anyone can spot any silly mistakes, or make any suggestions for improvements.  I'm only an electronic hobbyist (my day job is computer programming), so I'd appreciate any feedback from those who may be better versed with electronics than I.
The idea here is to use the VG and GR main cards, minus their dislays and front panels, controlled from a pair of CPUs via MIDI.  Simple editing will be implemented via a front panel interface, but mostly this will still be done via USB/MIDI.
More complex control mappings from the FC300 (and whatever else) will be allowed, and as we drive the Control pedals directly (as well as the expression inputs), these assigns are freely available to us.  So not only more assings, but the ability to assign Gr55's Ctrl pedal to any MIDI event.  Which means the ability to (finally!) externally assign Hold.
Anyway, the software is in the early stages, but anything is possible there. 
As the schematic isn't particularly well documented, here's a bit of a summary of the design:
CPU sheet:
2x Teensy 3.0 modules. These things are freakin' awesome :)
* Slave CPU:
- provides 3 MIDI interfaces for VG99, GR55 and external MIDI connectors.
- provides most of the GK interface, such as volume and switches out, also drives Ctl and exp on VG and GR.
* Master CPU:
- MIDI4 interface - to FC300 RRC2
- USB MIDI interface
- Front panel interface
    -- SPI access to uSD card and TFT display (160x128 1.8")
    -- Rotary encoder and buttons for input
  - RS485 Interface
* CPUs are 'networked' via I2C (SCL, SDA) and an extra line for slave to indicate MIDI data avilable for master (to avoid polling)
MIDI Sheet:
  * 4x MIDI in and out.  Nothing much to see here...
GK In Sheet:
* GK Input for Guitar
* HEX pickup input buffers specified... these are optional, it may well be fine to leave these out, omit the 3 ICs  and simply link each channel of the opamps.  US20 and GKP-4 do not buffer the hex inputs, but I wanted the option to do so here.
* Guitar pickup and GK Volume are handled by another opamp IC.  The Guitar Pup is simply buffered through to the outputs, but the GK Vokl in is reduced to a 3.3V range, buffered, then fed to an ADC.
* GK Spare is routed to a pin, for some potential future purpose.
* GK Switch 1 and 2 are routed to inputs, but also to an RS485 driver.  This allows for a bidirectional half-duplex RS485 link to the guitar CPU, which will be detailed in part B :)
* Power to GK can be jumpered as either +7V/-7V from the GK out, or +9V/-7V, to allow for running 9V circuits on the guitar (yes, I'm looking at you, sustainiac).
* Power to most ICs is listed here, with decoupling capacitors.
GK Out sheet:
* Hex outputs and Guitar output straight to connectors.
* Various analog outputs, such as GK Volumes for both devices, and expression pedadls for both devices are buffered, and converted to 5V range, here.
* Jumpers allow +/- 7V supplies to be bridged, in the case of single device use.  If these are not bridged, typically device 2 (GR55) supplies the control board's opamps et al, and device 1 (VG99) supplies the guitar's GK hardrware.
* the expession, and various Ctrl outputs, are routed to VG/GR control headers.
* Some controls on the VG specifically require switches, rather than just pulling to ground, so these are routed to a VG control header.
* A simple mixer combines the stereo inputs from the VG and GR here

I think that's about it.  If anyone else is interested in doing this kind of mod, let me know, as I'll be getting 10 PCBs made (minimum order).  This PCB could actually be used as a pretty handy 4-in/out MIDI controller, with lots of control options and a UI too, I guess.

Oh also... I am well aware this precludes use of VG's dbeam and ribbon controller, and looper in the VG.  I know some people use these things at arms' length; that is not me.  Though the design with separate full MIDI interfaces would enable this to be used as an intelligent controller for the full devices also.

Anyway, input for this project welcomed.

Thanks,
- Peter











Elantric

#1
Very Ambitious!

Thanks for the heads up on the Teensy 3.0
http://diydrones.com/profiles/blogs/teensy-3-0

There is much to debug - suggest you own a SPI/ I2C "sniffer"  - and lots of skill. to replicate  / document the the Front panel controls and Display.

http://www.gabotronics.com/development-boards/xmega-xprotolab.htm

Also it would be ideal ( but not cost effective) to have access to a spare VG-99 and spare GR-55  - to assist in the debug process.


Do you have access to the GR-55 Schematic? VG-99 we already have.
https://www.vguitarforums.com/smf/index.php?topic=28.0


Also, the biggest problems for most who embark on these projects are:

* Lack of "Ground" / Earthing " knowledge. (Must employ separate Audio Ground, Digital Ground, Chassis Ground, then employ one common Star Ground tie point.
* Lack of adequate test points  - suggest first version be for desktop debug, and after you get SPI /I2C sorted out, then commit to a smaller PCB with less test points.
* Family Distractions - (Ive witnessed a few divorces due to such behavior at home)
 

ploveday

I've got the I2C and SPI stuff working; had to optimize the SPI for teensy3, the speed was a bit dismal with the (arduino) library.

No I have no GR55 schematic.  It would be nice, but not strictly necessary.  About the only things I need to hook into are the exp and ctl controls.  Well, and MIDI, but that's straightforward.

Exp is a simple pot divider on 3.3V, and ctl is a simple switch.  It's actually somewhat easier than the VG99, where the CTL buttons are hooked to resister dividers to have more than one value per matrix location on the button scan.

Thanks for having a look,
- Peter

Elantric

#3
If you have a budget spin a 2nd set of blank PC boards and I'll purchase a set too and I can stuff these here at my end and maybe assist in debug.

gumtown

Looks interesting !! Great stuff  :)

Just one question for now,
Are the midi Tx's being driven directly from the CPU outputs?
Would have expected a sink/source transistor there. (external static damage)
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

Macciza

'70s Strat, Brian Moore iM, VG-8, VG-99, FC-300, VL-70m, StringPort, SoftStep, Sentient6, iMac QC i7 27".

ploveday

Hmm yes you're right, I probably should buffer the MIDI outs to be safe.

Previously I had a level translator/buffer in there to bring it up to 5V for the MIDI out, but as I then discovered both the GR and VG are 3.3V MIDI anyway, I decided it wasn't so important.

Thanks,
- Peter