Blog Pages

10/19/18

PULTEC PCB LAYOUT COMPLETE

I finally finished the PCB layout for the power supply and the make-up gain preamp circuits.  For Revision "A" I am soldering the wires directly to the PCB. Revision "B" will use wire-board connectors.

Pultec Power Supply PCB


Trenton Blizzard Pultec EQP-1A clone Power Supply PCB

Pultec Preamp PCB 

Just like the power supply, the Revision "A" Preamp PCB has wires soldered directly to the PCB. Revision "B" will incorporate wire-board connectors as well.


More to come as the boards get assembled and tested.
Thanks for reading,
Trenton


9/16/18

12AU7 Gain Stage - Part 1

In this video I demonstrate my "7-Step" process to designing a 12AU7 gain stage.



Thanks for watching,
Trenton

5/6/18

PULTEC EQP-1A POWER SUPPLY SCHEMATIC EXPLAINED

The Pultec EQP-1A uses a simple tube rectifier and RC filter networks to create high voltage DC. Follow along as I explain each stage.

PULTEC EQP-1A POWER SUPPLY SCHEMATIC



HIGH VOLTAGE AC
The high voltage transformer I am using is the Hammond 270FX. High voltage AC (alternating current) comes into the supply circuit by connecting the red transformer wires to (J6) and (J8) labeled "RED". Note: Either of the red wires can connect to J6 or J8. But, don't forget to connect the "RED/YELLOW" wire to (J22) labeled RED/YEL or your supply will not work. The red/yellow wire is the center-tap for your high voltage winding and is required with this type of dual rectifier circuit.


TURNING RECTIFIED AC INTO DC
When you send AC current through a diode one half of the sine wave current gets blocked by the diode and hence 'removed' from the total circuit current flow. This process is called rectification.

Although a DC voltage is created with rectified AC, you still need to 'filter' the rectified AC to get it smoother and closer to what a high voltage battery would typically supply. If you try to power your Pultec without filters, the result is a whole bunch of "HUM" in your circuit. For older Pultec EQ's, excess hum could be a good indicator that the electrolytic capacitors have dried up.


6X4 DUAL RECTIFIER
The Pultec EQP-1A uses a 6X4 miniature 7-pin dual rectifier tube connected as a full-wave-center-tap rectifier. 'Dual' means there are two rectifier diodes inside the tube. In order for any full-wave-center-tap rectifier circuit to work, tube or solid state, you must connect the 'center-tap' of the AC winding to your circuit ground. The high voltage winding center tap is the RED/YEL wire on the Hammond 270FX. Note: Your transformer might be different. Always check before connecting!

6X4 pin-out
Here are the pin assignments for the 6X4 tube.
 
FULL WAVE RECTIFIER CENTER-TAP CONNECTION
Below is a schematic showing how the high voltage AC is connected to the 6X4 tube. Note: center-tap RED/YEL connected to signal ground.
RC FILTERS
The rectified AC, from the 6X4 cathode (pin-7), is filtered by 4 simple RC filters made up of (R7-C2), (R6-C1), (R1-C?) and R3-C?). The question marks are because those capacitors are located on the make-up-gain-stage PCB and I don't have it completed at the moment. Also, note the wattage rating of resistors R1, R3, R6 and R7 in this build.

The original design used 40uF electrolytics rated at 450VDC. Although you can still purchase 40uF capacitors, they tend to be more expensive than the more common 47uF value. I went with 47uF for cost and availability purposes.

6X4 HEATERS
The 6X4 heaters operate on 6.3VAC or DC with a current draw of 600mA. However, for the Pultec EQP-1A you must use AC if you are going by the original design schematic. I use solder pads rather than PCB traces because I like the convenience of printed circuit board assembly, but the connection quality and flexibility of wire.

 HEATER CONNECTIONS

Green heater wires connect to (J9) and (J10) labeled GRN. Wire is used to connect all tube heaters. The green/yellow transformer wire (heater winding center-tap) connects to a 60VDC node created by a simple voltage divider that feeds from the high voltage DC output. The purpose of the 60V bias is to help reduce the voltage stress from heater to cathode. The 6X4 heater-cathode maximum voltage is 450V.




POWER INDICATOR
The power indicator lamp is powered by the 5VAC transformer secondary winding (yellow wires). You connect the yellow wires to (J18) and (J19) labeled YEL and your lamp to (J20) and (J21).

GROUNDS
There are plenty of ground connections on the power supply PCB. The RED/YEL high voltage center-tap wire can connect to any of them. However, J22 is centered in the middle on the PCB.


That's about it for now. I'll follow up once I have the real PCB's in my hands.
Thanks for reading,
Trenton

5/4/18

PULTEC EQP-1A MAKE-UP GAIN STAGE SCHEMATIC

My Pultec power supply PCB layout is nearing completion. Here's a look at my schematic for the makeup gain stage. This PCB will be able to accommodate either the 9600T or the S217D output transformers by Cinemag.


I am still in the process of making the component footprints for all of the parts. I will keep you updated.

Thanks for reading,
Trenton



3/10/18

PULTEC EQP-1A POWER SUPPLY SCHEMATIC

The Pultec EQP-1A circuit draws approximately 20mA from the power supply. The total circuit current is the combination of the 12AX7 plate currents, 12AU7 plate currents, 12AU7 grid bias current, and the Heater DC network current. Back when I taught electronics I sometimes used this schematic example as a test question.

trenton blizzard pultec eq power supply schematic

My Pultec EQP-1A power supply schematic is shown next.  Note: heater connections are not shown. This schematic shows how I wired the Hammond 270FX transformer. The two green (GRN) heater wires connect to all heaters.

12AX7 / 12AU7 HEATERS

Since the 270FX heater voltage winding is 6.3VAC, you need to connect the heaters on the 12AX7 and the 12AU7 in parallel by connecting pins 4 & 5 together on each tube. You then connect one green wire to pin 9 (center-tap) and the other green wire to pins 4 & 5.

6X4 HEATERS

For the 6X4 tube, you connect one green wire to pin 3 and the other green wire connects to pin 4. The 6X4 tube does not have a heater "center-tap" pin. The +60V on the green-yellow (GRN-YEL) wire floats 60 volts on the heaters and helps reduce cathode to heater potentials which can extend tube life.

trenton blizzard pultec eq power supply schematic

Thanks for reading,
Trenton

2/24/18

PULTEC EQP-1A POWER SUPPLY

TUBE POWER SUPPLY

Here's a shot of my prototype Pultec power supply using my 7 pin breadboard adapter. It worked perfectly for the 6X4 dual diode vacuum tube. The rectifier circuit of the Pultec EQP-1A is called a full-wave center-tap configuration.

trenton blizzard pultec power supply

POWER TRANSFORMER

The power transformer is the Hammond 270FX. I chose the 270FX because the 6.3VAC heater winding has a center tap. This center tap is important because the circuit puts about 60VDC on the center tap to help reduce the heater-cathode potential and helps extends tube life.

The 270FX also has a separate 5VAC winding that is typically used for 5V heaters. However, in this application it is only used to power the indicator light. This is a complete waste of a good low voltage tap. I guess you could add USB charging to your Pultec if you desired.

CAPACITOR WORKING VOLTAGE

You need to be careful when prototyping the supply by itself because you run the risk of exceeding the MWV (maximum working voltage) of the electrolytic capacitors.

The brown resistors on the right are my load current to help drop some voltage across the 470 and 1k Ohm series resistors. I'm not pulling the 22mA that would be typical of a Pultec circuit. So, the DC at my first capacitor is almost 400V. That's really close to the 450V maximum rating so I don't operate it for very long.

trenton blizzard pultec power supply voltage

Next in line for this project will be the make-up gain amplifier. However, I'm currently waiting for my output transformer to be built by Cinemag. I'll post after it arrives.

Thanks for reading,
Trenton

2/19/18

BJT Common Emitter Circuit #2

BJT Gain Stage #2


Here is the second common emitter gain stage for this series. It operates on a 9V battery or 9V DC supply and uses a 2N5089 NPN transistor. This circuit has a fairly low input impedance so you won't be plugging your electric guitar directly into this stage unless it has active pickups with low output impedance.


BJT STAGE SPECIFICATIONS

This circuit has been bench tested to verify that the design works. Use a good trim pot (see "Adjusting Bias) for R1 to bias the circuit. SPICE simulation calculated R1 to be about 34k Ohms.

The gain AV for this circuit, unloaded, is about 19.4db or 9.34 volts per volt. Is is the current draw in microAmps at 513 uA. Voltages for collector, emitter and base, VCVB, and VE, are all given. Resistor values are given with notes.

Zin is pretty low at 4.7 kOhm. Zout is about 15 kOhm. RL = open represents my oscilloscope probe resistance at 1 Mohm. (Not truly "Open")

Specifications for this stage:


AC GAIN

AC gain for a common emitter stage can be calculated approximately by:

Av ≈ RC total / RE total

EX-1: Av ≈ 15 kohm / 1.5 kohm = 15,000 / 1,500 = 10 V/V


Notice that we neglected the load resistance of 1 Mohm. But, you can't neglect the resistance value for lower load resistances. Let's calculate the gain with Rl = 5kohm.

EX-2  Av ≈ (RC total / RE total)

RC total = 15 kohm || 5 kohm = (15 kohm x 5 kohm) / (15kohm+5kohm)

RC total = 3.75 kohm

Av ≈ (RC total / RE total) = 3.75 kohm / 1.5 kohm = 2.5V/V

Not bad considering the actual measured gain was 2.32 V/V. Remember, take all resistances connected to the collector( Rc in parallel with your load) and divide that by all of the resistances connected to the emitter (In this case just the emitter resistor RE). Gain vs. load resistance is given below.



HIGH BETA TRANSISTOR

The transistor used in this example is an NPN 2N5089 with a Beta greater than 300. Almost any transistor with a Beta greater than 300 should bias up pretty close this this circuit with a little adjustment of the trim pot R1.

Note: Transistor "E-B-C" (Emitter, Base, Collector) pinouts for transistors can vary. All 2N5089's will have the pinout given below. But, other transistors might be B-C-E, or C-B-E. Always verify device pinout before building.



ADJUSTING BIAS

Adjusting bias is easy when you use a quality potentiometer. I use Bourns pots for prototyping.


Thanks for reading,
Trenton

2/2/18

Raspberry Pi 3 GUI - Part 7B - 3 LED's In Action

Below is an image of the three LED's turned "ON" from code in Part 7A.

blizzard python code led

Here's a short video of the program in operation:


Next up I will be hooking up the Raspberry Pi-3 GPIO pins to turn on phantom power, switch phase, and activate an input pad on a preamplifier.

Thanks for reading,
Trenton

1/25/18

BJT Common Emitter Stage - #1

I've received a few emails over time requesting that I post some simple transistor gain stages that could be used for various audio projects. So, I will be posting a series of transistor circuits starting with this one. The first series of circuits will all operate on +9 VDC.

This single stage BJT (bi-polar junction transistor) stage has been bench tested to verify that the design works. Specifications are given below. Use a trim pot for R1 to bias the circuit.


BJT STAGE SPECIFICATIONS

The gain AV for this circuit, unloaded, is about 16db or 6.3 volts per volt. Is is the current draw in microAmps. Voltages for collector, emitter and base, VC, VB, and VE, are all given. Resistor values are given with notes. Input impedance, Zin, and output impedance, Zout, are also given. Notice that the input impedance, is pretty low at 4.8 kohm. RL = open represents my oscilloscope probe resistance at 1 Mohm.

Specifications for this stage:

AC GAIN

Also notice that the AC gain AV V/V drops quickly once a real load has been placed for "RL". Notice that with a load of 5 kohms you only get about 6db of gain. Load value matters.


SPICE DC VOLTS

The circuit draws about 700 micro amps from the supply. Notice that the collector voltage is set to 1/2 VCC, or 4.5 VDC. SPICE simulation agreed fairly well with the real bench tested circuit.



HIGH BETA TRANSISTOR

The transistor used in this example is an NPN 2N5089 with a Beta greater than 300. Almost any transistor with a Beta greater than 300 should bias up pretty close this this circuit with a little adjustment of the trim pot.



ADJUSTING BIAS

Adjusting bias is easy when you use a quality potentiometer. I use Bourns pots for prototyping.


Thanks for reading,
Trenton

1/17/18

Raspberry Pi 3 GUI - Part 7A - 3 LED Control Buttons with Tkinter

Controlling 3 LED's with Tkinter on Raspberry Pi 3. This code adds some color to the status text so it's easier to tell when the LED's are on.

(1) WINDOW WITH 3 BUTTONS - LED's "ON"




(2) WINDOW - LED's "OFF"




(3) CODE
#! /usr/bin/env python

#import Tkinter module, GPIO and atexit
from Tkinter import*
import RPi.GPIO as GPIO
import atexit

# setup GPIO 
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7,GPIO.OUT)#red led
GPIO.setup(11,GPIO.OUT)#yellow led
GPIO.setup(15,GPIO.OUT)#green led

# create window, window title, window size
window = Tk()
window.title( 'tkinter7.PY')
window.geometry('300x200')

# define dynamic properties for led button
def red_led_on():
    GPIO.output(7, True)
    red_led_status.configure(text='ON',bg='red')
    button_red_led.configure(command=red_led_off)
    
def red_led_off():
    GPIO.output(7, False)
    red_led_status.configure(text='OFF',bg='white')
    button_red_led.configure(command=red_led_on)

def yel_led_on():
    GPIO.output(11, True)
    yel_led_status.configure(text='ON',bg='yellow')
    button_yel_led.configure(command=yel_led_off)

def yel_led_off():
    GPIO.output(11, False)
    yel_led_status.configure(text='OFF',bg='white')
    button_yel_led.configure(command=yel_led_on)

def grn_led_on():
    GPIO.output(15, True)
    grn_led_status.configure(text='ON',bg='green')
    button_grn_led.configure(command=grn_led_off)

def grn_led_off():
    GPIO.output(15, False)
    grn_led_status.configure(text='OFF',bg='white')
    button_grn_led.configure(command=grn_led_on)

def cleanup():
        GPIO.output(7, False)
        GPIO.output(11, False)
        GPIO.output(15, False)
        GPIO.cleanup()

# create text box 
red_led_status = Label(window, relief='flat', width=4)
yel_led_status = Label(window, relief='flat', width=4)
grn_led_status = Label(window, relief='flat', width=4)

# create button
button_red_led = Button(window)
button_yel_led = Button(window)
button_grn_led = Button(window)

# set button text
button_red_led.configure(text='RED LED',command=red_led_on)
button_yel_led.configure(text='YEL LED',command=yel_led_on)
button_grn_led.configure(text='GRN LED',command=grn_led_on)

# set initial status text
red_led_status.configure(text='OFF',bg='white')                     
yel_led_status.configure(text='OFF',bg='white') 
grn_led_status.configure(text='OFF',bg='white') 

# set location of button and text
button_red_led.grid(row=1,column=1,columnspan=1)
red_led_status.grid(row=1,column=2,padx=10)
button_yel_led.grid(row=2,column=1,columnspan=1)
yel_led_status.grid(row=2,column=2,padx=10)
button_grn_led.grid(row=3,column=1,columnspan=1)
grn_led_status.grid(row=3,column=2,padx=10)

atexit.register(cleanup)
window.mainloop()






1/16/18

Raspberry Pi 3 GUI - Part 6B - LED Control Button with Tkinter

Controlling an LED with RPi.GPIO - Part 6B


This demonstrates one way to control functions of a microphone preamplifier, such as phantom power, using a software interface. Code can be found in Part 6A.

(1) LED CONTROL PANEL "LED = OFF"


(2) LED ON BREADBOARD = "OFF"


(3) LED CONTROL PANEL "LED = ON"


(4) LED ON BREADBOARD "LED = ON" 


NEXT UP - ADDING TWO MORE CONTROLS

Thanks for reading,
Trenton

1/9/18

Raspberry Pi 3 GUI - Part 6A - LED Control Button with Tkinter

Controlling an LED with RPi.GPIO

This program creates a button that accesses the hardware pins on the Raspberry Pi 3 to control an LED. The status of the LED is updated each time the user presses the button.

(1) LED CONTROL CODE
Add this code to your Python 3 editor.

#! /usr/bin/env python

#import Tkinter module, GPIO and atexit
from Tkinter import*
import RPi.GPIO as GPIO
import atexit

# setup GPIO 
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7,GPIO.OUT)

# create window, window title, window size
window = Tk()
window.title( 'tkinter6.PY')
window.geometry('300x200')

# define dynamic properties for led button
def red_led_on():
    GPIO.output(7, True)# set pin 7 to logic "high"
    red_led_status.configure(text='ON')
    button_red_led.configure(command=red_led_off)
    
def red_led_off():
    GPIO.output(7, False)# set pin 7 to logic "low"
    red_led_status.configure(text='OFF')
    button_red_led.configure(command=red_led_on)

def cleanup():
        GPIO.output(7, False);# reset pin 7 to logic low
        GPIO.cleanup()# cleanup GPIO

# create text box 
red_led_status = Label(window, relief='flat',width=4)

# create button
button_red_led = Button(window)

# set button text
button_red_led.configure(text='RED LED',command=red_led_on)

# set status text
red_led_status.configure(text='OFF')                     

# set location of button and text
button_red_led.grid(row=1,column=1,columnspan=1)
red_led_status.grid(row=1,column=2,padx=10)

atexit.register(cleanup)
window.mainloop()


(2) EXAMPLE CODE
My code looks like this:

blizzard tkinter python led control code

(3) SAVE WORK. RUN PROGRAM
Save to your desktop as tkinter6.py
Change directory to your desktop in your terminal editor.
Type chmod 755 tkinter6.py. Press Enter.
Type ./tkinter6.py . Press Enter.

(4) RESULTS - LED "OFF"
Screen Capture of the program window showing button and status text.
Notice that the LED is initially "OFF".



(5) RESULTS - LED  "ON"
Now notice that after pressing the button the LED is "ON". Press the button one more time and the LED will be OFF again.

blizzard tkinter python led control

UP NEXT - HARDWARE HOOKUP - PART 6B

Thanks for reading,
Trenton

Raspberry Pi 3 GUI - Part 5 - 3 Control Buttons and Text with Tkinter

3 Control Buttons with aligned text using Tkinter


This program creates 3 buttons that will be used to control 3 LED's. The text is aligned to the buttons using ".grid" and will eventually display the state of the LED.

(1) Enter this code into your Python 3 window

#! /usr/bin/env python

from Tkinter import*

window = Tk()
window.title( 'tkinter5.py')
window.geometry('500x300')

# create text items
red_led_text = Label(window, relief='sunken', width=15)
yellow_led_text = Label(window, relief='sunken',width=15)
green_led_text = Label(window, relief='sunken', width=15)

# create buttons for controlling LED's
red_led_button = Button(window)
yellow_led_button = Button(window)             
green_led_button = Button(window)

# set initial button text
red_led_button.configure(text='RED (ON / OFF)', command=exit)
yellow_led_button.configure(text='YEL (ON / OFF)', command=exit)
green_led_button.configure(text='GRN (ON / OFF)', command=exit)

# set initial text values
red_led_text.configure(text='RED LED IS OFF')
yellow_led_text.configure(text='YEL LED IS OFF')
green_led_text.configure(text='GRN LED IS OFF')

# set location of buttons
red_led_button.grid(row=1, column=1,padx=10)
yellow_led_button.grid(row=2, column=1,padx=10)
green_led_button.grid(row=3, column=1,padx=10)
       
# location of text                         
red_led_text.grid(row=1, column=3,padx=10 )
yellow_led_text.grid(row=2, column=3,padx=10 )
green_led_text.grid(row=3, column=3,padx=10 )

window.mainloop()

(2)
My code looks like this:
blizzard tkinter python code

(3)
Save your code as tkinter5.py to your desktop.
Change directory in your terminal window using cd Desktop.
Enter chmod 755 tkinter5.py in your terminal window. Press Enter
Enter ./tkinter5.py in your terminal window. Press Enter

(4)
Screen capture showing window with 3 buttons and aligned text.

blizzard tkinter python desktop

(5)
Next Up - Control and LED with a Button using GPIO.

 Thanks for reading,
Trenton

Raspberry Pi 3 GUI - Part 4 - Control Button and Text with Tkinter

Button and Text using Tkinter and Python

In this example the button aligns with the text using the ".grid" commands.
Pressing the ON/OFF button exits the program.

(1) Enter all code into your Python editor window
#! /usr/bin/env python

from Tkinter import*

window = Tk()
window.title( 'tkinter4.py')
window.geometry('500x300')

# create text item
text_box_1=Label(window, relief='sunken', width=15)

# create button
led_button = \
Button(window, text='ON/OFF', command=exit)

# set initial values here
text_box_1.configure(text='RED LED ON')

# set location of window items here
led_button.grid(row=1, column=1,padx=10)
text_box_1.grid(row=1, column=3,padx=10 )


window.mainloop()

(2)
My code looks like this:

trenton blizzard tkinter python
















(3)
Save to your desktop. Name your file tkinter4.py
Enter chmod 755 tkinter4.py into your terminal window. Press Enter.
Enter ./tkinter4.py into your terminal window. Press Enter.

(4)
Desktop screen capture (using scrot) showing button with text aligned with it.
Pressing the "ON/OFF" button closes the program.

blizzard tkinter python screen capture

(5)
UP NEXT? TWO MORE BUTTONS WITH ALIGNED TEXT

Thanks for reading,
Trenton



1/5/18

Raspberry Pi 3 GUI - Part 3 - Window Button using Tkinter

Window Button with TKINTER

This button will close the window when pressed.

(1)
Add code in BOLD to your python editor. Need help? See Part-1.

#! /usr/bin/env python
from Tkinter import*

window = Tk()
window.title( 'tkinter3.py')
window.geometry('500x300')

exit_button = \
Button(window, text='EXIT', command=exit)
exit_button.pack(padx=100, pady=100)
window.mainloop()

(2)
My code looks like this:


(3)
Save to your Desktop. Name your file tkinter3.py.
Change directory with cd Desktop in your terminal editor.

Enter chmod 755 tkinter3.py into your terminal editor.
Enter ./tkinter3.py into your terminal editor.

(4)
Desktop screen capture showing window with "EXIT" button. When you click the button the window will close.


(5)
Button Clicked - Window Closed


NEXT UP? CREATING TEXT IN YOUR WINDOW

Thanks for reading,
Trenton

Raspberry pi 3 GUI - Part 2 - Window Size in Tkinter

Setting Window Size In Tkinter
To set a window to an initial size we will be using ".geometry".

(1) 
Insert the BOLD code into your python editor. (See Part-1 for help with IDLE)

#! /usr/bin/env python
from Tkinter import*

window = Tk()
window.title( 'tkinter2.py')
window.geometry('500x300')

window.mainloop()

My code looks like this:


(2)
Save your work using the same procedure as in Part-1. Only this time name your file tkinter2.py.

(3)
Open your terminal window and change directory to your Desktop.
Enter cd Desktop in your terminal window. Click enter.
Enter chmod 755 tkinter2.py in your terminal editor. Click enter.
Enter ./tkinter2.py in your terminal window. Click enter.
Ignore my scrot commands in my terminal window.



(4)
If everything went OK then your screen should produce a window (below) with a larger size. Note: The window is not currently doing anything except opening.

Throughout these posts I will show you how to build a GUI that will actually do cool audio control stuff.

For now, practice the procedure I just showed you until you can enter all of the code without looking at mine. Also, play around with different window sizes while you are at it.

TKINTER2.PY GUI RESULTS:
Here is the screen capture for my Ras-pi-3 running tkinter2.py.


"Part-1" screen of tkinter1.py: Notice the size difference of the grey window?


NEXT UP? ADDING A SIMPLE BUTTON

Thanks for reading,
Trenton

Raspberry Pi 3 GUI Part 1 - Basic Window using TKinter

My son wanted to learn Python game programming so I bought him a raspberry pi 3. I've been working on getting the pi 3 to communicate to the GPIO pins on the PCB with plans to control audio hardware.

In order to communicate graphically with the outside world we need to create a basic window. Here's how using Python 3 and Tkinter:

First - Here's the current version I am working with on the pi3.




1. Goto Raspberry icon - Programming - Python 3 (IDLE)
and a new Python window opens up and looks like this




2. Goto FILE - NEW to open a clean page that looks like this:




3. Type the following code that is in BOLD only:

#! /usr/bin/env python 
from Tkinter import*
window.title( 'tkinter.py')
window.mainloop()

My code looks like this:



4. File - Save as "tkinter1.py" on your Desktop

5. Goto your Terminal Window - Note: (ignore the "scrot code")
SCROT is the screen capture application I am using




5. Change Directory to your Desktop using "cd Desktop"
Again: (ignore the "scrot line of code" in image below)




6. Type the following code in BOLD only into your terminal editor:
chmod 755 tkinter1.py 
(ignore the "scrot line of code" in image below)



7. Now type in your terminal window:
./tkinter.py



8. RESULTS:
If all goes well you should end up with this:




Common Errors:
(1)
#! /usr/bin/env python

This line of code must be the very first line in the program code otherwise you will get this error message in your terminal window:
from: can't read /var/mail/Tkinter
./tkinter1.py: line 8: syntax error near unexpected token `('
./tkinter1.py: line 8: `window = Tk()'


(2)
LOWER CASE "T" in Tk()
window = tk()
Traceback (most recent call last):
  File "./tkinter1.py", line 8, in
    window = tk()
NameError: name 'tk' is not defined


(3)
OMITTING "*" in from Tkinter import*
from Tkinter import
 File "./tkinter1.py", line 6
    from Tkinter import
                      ^
SyntaxError: invalid syntax


(4)
OMITTING "from" in from Tkinter import*
Tkinter import*
 File "./tkinter1.py", line 6
    Tkinter import*
                 ^
SyntaxError: invalid syntax

(5)
OMITTING "." in window.mainloop()
windowmainloop()
Traceback (most recent call last):
  File "./tkinter1.py", line 11, in
    windowmainloop()

NameError: name 'windowmainloop' is not defined

Next Up: Pre-sizing the window


Thanks for reading,
Trenton