T3000 Educational Trainer

I’m an HVAC teacher at a trade school and thanks to Maurice’s encouragement I’m building my first educational HVAC controls trainer using Temco’s T3000. I wired it for the most part, but I need help with the programming.

The inputs I have are:

  • Occupied/Unoccupied
  • Room Setpoint
  • Room Temp
  • Outside Temp
  • CO2 Level
  • Damper position (from actuator output terminal)

For the temperature inputs I used 5k resistors in series with 100k potentiometers to simulate 10kII thermistors.

The CO2 input I need to pull 10vdc from the controller somehow and feed it through some value of potentiometer. I also need 10vdc to power my voltage display that reads damper position 0-10.

The outputs I have wired are:

  • 24vac Y2 Cool stage 2
  • 24vac Y1 Cool stage 1
  • 24vac Fan (Indoor blower)
  • 24vac W1 heat stage 1
  • 24vac W2 heat stage 2
  • 0-10vdc to operate a modulating damper to open fresh air proportionally based on CO2 levels in the space and also to open fresh air all the way below a certain outside temperature for free cooling instead of running the compressors.

The functions I need help programming are:
If building is occupied I need to run blower fan all the time
If building is unoccupied then fan only runs with a call for heat or cool and 2 min off delay
If room temp varies more than 1 degree above setpoint I need to call 1st stage cooling
If room temp varies more than 1.5 degrees above setpoint I need to call 2nd stage cooling
If room temp varies more than 1 degree below setpoint I need to call 1st stage heating
If room temp varies more than 1.5 degrees below setpoint I need to call 2nd stage heating
If building is occupied, fresh air opens 5% and opens more (up to 20%) as CO2 level goes up
If building is unoccupied, fresh air stays shut unless there is a call for free cooling
If outside temp is below 35 degrees and there is a call for cooling, fan comes on if it is not on already, and outside air opens 100%, and the compressors don’t run.
I’m sure there are other programming commands needed to set minimum cycle times and compressor on delays and things like that too

I need to program one of the analog outputs to put 10vdc out all the time to feed my CO2 pot and my voltage display.

I’ve been reading the programming language directions and reading the forum regularly, but I’m having trouble getting started, so if anyone can help, I can probably learn from here. Thanks so much in advance, - Aaron


Well done Aaron. I’ll be helping you make a commercial version of this trainer as discussed. I am really looking forward to the documentation and lesson guide that goes along with it all.

Cool board!
Use of AO as power source doesn’t feel right for me. I would suggest separate power supply.
Can help you with programming someday later this week if no help come sooner.

I ordered this 9vdc regulator. Input is dc so I’ll cut the 24ac from my board in half with a diode and smooth it out with a capacitor and feed this regulator. Good idea and thanks!


I use LM2596 dc dc converters. Costs cents, work reliably enough. Voltage can be regulated on demand.


Cool project and right up my street as I was a DT (Design Technology - Computing) secondary school teacher for a deluded period of my career. :crazy_face:

I’m not sure if the T3 controller you are using is compatible with the T10 Thermostat I am using

and the program provided by Spring of Temco and as attached …

2Heat2CoolRev6.prog (65.0 KB)

and to be honest I haven’t dived into the tco Basic programming app yet …but this should be a good starting point.

You can install the prog file via T3000.



Were you able to get programming help?

Nothing yet, I’m going to study the book hard this weekend and see if I can make some sense of programming it.

Okay, I’ll try and work on something for you to help get you started…

If you happen to have a standard actuator around that is powered by 24 VAC the feedback is most probably already 0 - 10VDC. Check with a DMM before you apply an external 10VDC source.

On your CO2 Sensor, Why not just use the same potentiometer input you are currently using just “rescale” the input. What about just using an analog output 0 - 100 % = 0 - 10 VDC and tie your analog meter/display directly to the analog output (might need some current limiting resister)…

1 Like

Do you have devices for your inputs like CO2 sensor.
They are having some issues with their input conversions right now if that is what your issue is.
I wrote a conversion function that works pretty good.

20 REM FIT: Y = MX + B ----------------------------------------------------
30 “Your variable” = ( 2000 - 0 ) / ( 20 - 4 ) * ( “Your Input” - 4 ) + 0
40 IF “Your Input” <= 4 THEN “Your Variable” = 0
50 IF " Your Input" >= 20 THEN Your Variable" = 2000

This is for a 4-20 CO2 Sensor with a 0-2000 range. Jjust swap the 4 and 20 for 0-10 or 2-10 depending on your sensor.

1 Like

I’m just using potentiometers as simulated inputs

Where are you located at? Id be happy to send you some real but slightly used parts if you are in the USA. I got trashcans full of them…

Jim, I’m at Rosedale Technical College in Pittsburgh. 215 Beecham Drive Pittsburgh PA 15205. I’d really appreciate some controls stuff I could use for my controls class. It would help so much. I’d like to pay shipping.

What do you need?
A Co2 sensor, a couple of 10k thermistors, outdoor temp/humidity sensor, current switch, couple of 24vac relay and relay bases, 0-10vdc damper actuator with feedback, duct pressure sensor,0-10vdc valve actuator with feedback, room temp sensor? a couple of bacnet thermostats (viconics) you can try when maurice gets the bacnet subnet working. Ill see if I have a 24vdc power supply for some 4-20 sensors but not too likely. Anything else?

Jim, yes, some room temp/sliders, co2 and humidity stuff would really help, and anything you send will go to good use… It is really swell of you to help a non profit HVAC school. If you give me your paypal I’d like to pay shipping.

As ioware.io suggested, you can load the 2heat/2cool program as a starting point. There may be some shuffling of the IO around required since it was programmed on a Tstat10.

There’s no easy way to move IO around other than renaming them. You can save a bit of time with the programing though, before doing any renaming of IO you can save the program as a .txt file first. After you have shuffled the around by renaming them you reload the original .txt file back into the control basic editor and send to the controller.


1 Like

How can I get you something for you to review.

aaron.miller( at ) rosedaletech(dot) org