Smart PWM Instructions

Connections to the PWM

These instructions are a work in progress. There are over 7,000 lines of code in the Smart PWM software. Covering all of it's capabilities will take some development. But if you have a Smart PWM and don't understand something, don't hesitate to write to I will answer you, but also I will use your question to improve the instructions so that others won't have to ask the same question.

High Current Terminal Block

The large black terminal block is for high current connections. There is the connection to battery positive, ground, and the 2 cell connections, HHO+ and HHO-. Don't make the mistake of assuming that HHO- is the same as battery ground. Failing to connect the cell to these 2 terminals, or shorting one of these 2 terminals to their battery counterpart will cause the system to not work.

Smart PWM

These are high current connections, and should use heavy gauge wire. The gauge will be determined by the number of amps you will be running and the distance from the PWM to the battery and the cell, which should be minimized as much as possible. Also note, with the Smart PWM, the amps will increase above your normal cruise amps if you use your sensors to modify the current. At high RPMs, under load, the PWM may run 2 or 3 times the amps that it does at cruise. This must be taken under consideration. I would not try to size this wire to the maximum amps you will ever run. Momentary periods of high amps such as when you are on the highway passing another vehicle, won't be kept for long periods of time. But you should size these cables at least one size higher than you would for your cruising amps. You can use this guide to help you choose an appropriate wire gauge.

Green Terminal Block

There are 2 rows of terminals, and these unplug from the PWM to make it easier to make your wire connections. The connections are marked on the PWM's case, and are relatively self explanatory. But there are a few things to know about them:

Smart PWM

Top Row

12~32 In: This is the power for the PWM and the display. It doesn't power the cell. You can provide any voltage between 12 and 32 volts nominal. The current draw is very small. It will draw less than 300 milliamps. This circuit should be connected to any switched circuit on your vehicle. By "switched circuit", I mean any circuit that comes on when the key is turned on, even if the engine isn't running. When the key is turned on, you are able to go into the PWM's menus and make changes.

Trigger: This terminal must be activated for the PWM to run. This function can be turned off in the menus, but is on by default. When voltage is applied to this port, then the PWM will run. That's why we call it a "Trigger". The threshold voltage that will activate this port can be set to any voltage you need in the menus. You may also set it up with reverse logic, so that no voltage on the port will trigger the PWM and voltage will cause it not to run.

Ground: This is just a handy ground connection if you need it. For instance the float switch, or level sensor switch, needs to be attached to ground. So you can use this port for that purpose if you wish. You do not need to make a connection to this port. The PWM gets it's ground connection from the Batt- terminal of the high current terminal block.

Refill: This is for connection to a refill pump, if you install one. This can be set up so that it will run when the float switch indicates that the electrolyte level is low. A pump connected to this port would then run to refill the reservoir. Note, this can also just be an electronic valve, if the refill reservoir is mounted higher than the normal reservoir. The Refill ouput controls the ground connection for your pump.

Unused: There are 2 unused ports.

Circ Pump: This is intended for a pump that can be used to circulate the electrolyte through the cell and reservoir. The Circ Pump ouput controls the ground connection for your pump.

12 V Out: This terminal was mostly intended for 24 volt systems where a 12 volt source was needed for powering things like EFIEs, MAP Enhancers etc. Using this port to power devices like this is wise to do even on 12 volt systems, because then if you switch off the PWM, then the EFIEs are also not powered. This prevents running your electronics in the absence of HHO production. This port provides a positive 12 volts.

12~32 Out: This will output the same voltage that you use to power the PWM. If you have a 24 volt system, then it will be 24 volts. If you have a 12 volt system, then it will be 12 volts.

The 3 outputs, Refill, Circ Pump and 12~32 Out, are all controllable by the PWM. Each of these is a mini-PWM of it's own. You can select the duty cycle for each output. You can also select what triggers each output to turn on, or they can be on anytime the PWM is on. Or anytime the PWM is producing amperage. They can be tied to some of the inputs. These are all controlled in the menu system as covered later in these instructions.

Bottom Row

Float: Float switch input. Also could be referred to as a level sensor. This is a switch that either turns on or turns off when the level of the electrolyte gets low. In the menus you can set it up so that it activates when the switch is closed (connected) or open (not connected). The level sensor has 2 wires. One wire connects to this port. The other wire connects to ground. Connecting the other wire to a voltage source will not harm the PWM. But it won't work either. You must connect the other end of the float switch to ground.

Tach: This is the port we use to monitor engine RPMs. You need to connect a source of pulses that are proportional to the engines RPMs. It is a permissive port. It can take voltages in the range of +50 volts to -50 volts, and anything in between. The only requirement is that it each pulse must be greater that 2.5 volts and must go lower than 1 volt in order to be read by the port. Almost any source of pulses will do this. The most obvious source would be the tachometer signal line between your tach and the vehicle's computer. You can tap this line and run the wire to this port. The PWM will read this signal without disturbing it. If you don't have a tach, then you can try the camshaft position sensor or the crankshaft position sensor. These also output pulses that are proportional to the engine RPMs. Also, some alternators have a terminal on the back that puts puts out raw A/C voltage. This can also be used. If you're not sure if the wire you have selected has a valid pulse signal, you can just connect it to the tach port and see if the frequency shows up on the display. Just select one of the display formats that includes RPMs. There are no wires on the vehicle that you can connect here that will damage the PWM, EXCEPT the spark plug wire. These generate voltages orders of magnitude higher than 50V. But, if worse comes to worst, you can wrap a wire around one of the spark plug wires and connect that to the PWM. That will work too, but is a little uglier than one of the earlier options.

MAP: Map sensor. Expects a 0-5 volt input. Virtually all MAP sensors are 0-5 volts, but if you have an oddball that is 0-12 volts, contact me. I'll give you instructions for connecting resistors that will allow this larger voltage range to be read successfully.

Throttle: Throttle position sensor. Same as the MAP sensor. Expects to see 0-5 volts.

Press: Pressure sensor. This is intended to be a pressure sensor input. A sophisticated recirculation system can be set up whereby the PWM reads the pressure sensor, and by adjusting the Circ Pump duty cycle, can maintain that pressure. That function is not yet programmed, but if if you need it let me know. I'll get it programmed for you.

Spare 1 and Spare 2: These are also 0-5 volt inputs like the MAP, TPS and Press sensor inputs. They can be used to connect additional sensors if needed.

RJ-45 Jack

Use the RJ-45 Jack to connect the controller to the PWM. Note the controller does not need to be connected to the PWM after any initial setups are done if you don't need the display. The PWM will run without it and do everything it was programmed to do. The display is not needed at all for the PWM to perform all of its functions. However, the display can show much valuable information if left connected.

We provide a 25' cable to connect the PWM to the display. However, if you need more length, you can add it on by connecting additional Cat5 or Cat6 computer cables. Note, sometimes the designation has an "e" on the end, such as Cat5e. All of them will work. These cables are straight through cables, and are the kind used to connect computers to hubs, switches or routers. This is the most common type of network cable found in your computer store. You will also need a straight through splice to connect the cables together, which you can also get at your computer store. With additional cables and splices, you will be able to extend this cable to 100' or more. I haven't tried longer cables than this, but the limit may be quite a bit longer. Try to avoid running long cable runs close to very electrically noisy things like spark plug wires, alternators, etc. But probably even that won't matter.

How to Use the Knob

The knob is both a rotary knob and a button. In general you will turn the knob to rotate through options that have been displayed to you. You will press the button to select the current option displayed on the screen. If the LCD is not in the menu system, it will be showing data about the functioning of the PWM. To get into the menu system, press the knob once. Turn the knob to go through the different options in the main menu. Some selections will take you to sub menus, where you will rotate the knob again to select the menu item.

There is a special use of the knob that you will find helpful: Pressing the knob and holding it for more than one second will cause you to exit from the current task. You will hear a double beep after one second, letting you know that you can release the button. We call this the "long button press". The purpose of this is normally to end all processes you may be in the middle of, and exit the menu system completely. If you are in the middle of a process, no further changes will be made and stored into memory.

However, there is one exception to the above rule. The long button press is also used to end the process of entering a number or string of characters. Some of the menu processes ask the user to input a string of number or character data. In these cases, it can involve many button presses to complete the process, even though the correct answer is already displaying on the screen. Using a long button press will accept the data and end that process step for the user. The data will be saved to memory. Except for being in the middle of entering a string of numbers or character data, the long button press will exit any process without saving the data of the current process, and exit the menu system.

Here is an example of how the button press works when entering a string of characters: If you are using password security, you may need to log in to the system. When you press the Log In menu item you will be given a blank screen, with a cursor on the left side of the screen. Turn the knob to show different numbers and letters until you get the first character of your password. Press the knob. This advances the cursor to the next character position. Repeat these steps until your password has been entered. If you don't use the long button push, you will have to continue to push the button until the cursor advances to the far end of the screen. The long button press tells the system that you are done entering data and that the data on the screen is correct.

The Display

The display has 2 functions: 1. Program the PWM. 2. Display information about the system to the user when the PWM is running. The information that is displayed is configurable by the user (see below in the Programming Section). If the display function is not needed, then after programming, you can removed the display. Just unplug it. The PWM works the same way, with or without the display.

The PWM is designed to shut off all amperage to the cell under certain conditions. If you are using the display, it will flash the reason in the lower right hand corner of the display. If more than one reason for shutting down exists, it will alternate the code it shows between the different causes that are in effect. Here are the codes and the meaning of each:

M:Off  The PWM has been turned off in the Menu system.

T:Off  The PWM is turned off because of the Trigger.

V:Off  The PWM is turned off due to Voltage Sensing.

F:Off  The PWM is turned off due to the Float Switch.

H:Off  The PWM is turned off because the circuit board is overheated.

A:Off  The PWM is turned off due to a short circuit. (not implemented yet)

Programming Section

There are quite a few menu options, and you should familiarize yourself with all of them. But to get up and running fast, read: Set Current and Trigger Setup. That will get you up and running without setting up any sensors.

However, the real power of the Smart PWM comes from it's ability to adjust the HHO production based on the readings of your vehicle's sensors. To setup your sensors, first read the section below, Connecting Your Sensors to the Smart PWM. Then read Sensor Setup.

Main Menu
  PWM On/Off
  Set Current
  Setup Menu
    Volt Sensing
    Float Switch
    Set Frequency
    Set Freq Prec
    Trigger Setup
    Menu Stops HHO
  Display Menu
    Main Screen
    Menu Timeout
  Hardware Menu
    Outputs Setup
    Calibrate Amps
    Sensor Setup
      MAP Setup
      TPS Setup
      Tach Setup
      Spare1 Setup
      Calibrate Sens
      Adj Tach Disp
      Adj MAP Disp
      Adj TPS Disp
    Display Inputs
    Manual Duty
    User 0-5 Volt Input
  Admin Menu
    Passwords Menu
      Passwords On
      Set Passwords
      Power Option
    Factory Reset
    Lifetime Timer

PWM On/Off: Turns the PWM off in software. When turned off, it will stay off even after recycling power to the PWM. When the PWM is off, M:Off will flash in the lower right corner of the display to show you that the PWM has been turned off in the Menu.

Set Current: Here you sent the current you want from the PWM. Without your sensors activated, this setting is like any other constant current PWM. Whatever amps value you set, will be maintained by the PWM at all times. However, if you are using your sensors to modify the PWMs output, then you need to set the amps you want at cruise. If your sensors indicate that you are at less than cruise, the PWM will dial the amperage down. Likewise if the sensors indicate you are going faster than cruise or under load, it will dial up the amperage proportionately. See Sensor Setup for more information.

Setup Menu

Volt Sensing

This is a method of controlling the PWM by sensing the system voltage. The idea is that you want the PWM to run only when the engine is running. Not when it has been turned off. This function reads the system voltage and when it drops below a certain threshold, turns off the PWM until the voltage comes back up. This takes advantage of the fact that when the engine is running, it will be a volt or two higher than when it is not running. Even when using Volt Sensing, we recommend always using the Trigger function as well. It is a more simple setup and therefore less prone to error. We prefer to use Volt Sensing as a backup, or extra layer of safety.

During the initial set up of your HHO system, we recommend you keep this set to Off. We don't want your PWM shutting off for unknown reasons while you are trying to get everything working for the first time.

The voltage of your vehicle's electrical system is actually only nominally (in name only) 12 (or 24) volts. When the engine is shut off, the battery will usually provide less than 12 volts. If any kind of current demand is being made on it, such as would be the case with an HHO system running, it will drop even lower. However, when the engine is running, the alternator produces well over 12 volts to the electrical system so that the battery will charge. If you measure the voltage at your battery when the engine is running, you will usually see about 13.5 volts or a bit more.

You should make a few measurements on your system to determine the correct voltages to use for your vehicle. For instance, we want the On Voltage to be low enough that it will always come on when it should, but not so low that it will come on when it shouldn't. To test for a good On Voltage, let your car run at idle, then turn on all the devices you will likely ever use. Run your HHO generator at the amperage you plan to use. Turn on your head lights and your stereo, and run you're A/C with the fan on high. Now measure the voltage. You'll want your On Voltage to be below this voltage. Note, don't use a meter to measure the voltage. Use the voltage you can read on the PWM's display. The voltage may be a bit different where you test with your meter, than where the PWM is reading the voltage. We want the figure that the PWM is reading.

Now turn off all of the accessories, and turn off the engine. Measure the voltage. You will find that it quickly drops down to below 12 volts. You'll want your Off Voltage to be above the voltage you are reading now.

After activating this function, if the voltage drops below your off voltage threshold, the PWM will set it's duty cycle to 0, effectively turning the system off. The display will flash V:Off in the lower right corner, for Voltage Off.

Getting these voltages correct is easy to do, and will give you an extra layer of safety with your HHO system. Between this function, and the Trigger function, we are making very certain that HHO is not being produced unknowingly, when the engine is off. This is an important safety consideration.

Float Switch: (Reservoir Level Alarm). This function causes the display to sound and show an alarm when the level in your reservoir gets too low. It requires that a float switch is installed on your reservoir. The Smart PWM supports 2 types of float switch. First is the 2 wire float switch which is most common. One wire gets extended and attached to the Float Switch Terminal on the PWM. The other wire gets connected to ground. For this type, select "Float Switch" as the "Type of Sensor". If this type of sensor is selected, you will also be given a choice of a normally-open or normally-closed switch. Some float switches make contact until the reservoir goes low, then it opens, but others are open and go closed when the level drops. So you can select the type of switch you have here. Don't worry if you get the logic reversed. If it alarms when it shouldn't, then just change the Normally Open/Closed setting.

The other type is a one-wire sensor. If you have a one wire sensor, then you must connect that wire to the Spare1 input port. The one-wire "sensor" is actually just a stainless steel terminal that is exposed to the electrolyte in the reservoir. If the reservoir goes too low, then the Smart PWM will sense this. For this type of sensor, select "One-Wire Sensor".

In the Outputs Setup section, you can also find out how to make a pump run to refill your reservoir.

Set Frequency: Set the desired frequency here. For large commercial cells, we recommend a lower frequency. We have been using 65 Hz on our commercial PWMs for years and this has proven successful.

Set Freq Prec: Probably only researchers working on the bench will use this function. It allows you to set the frequency to a fraction of a Hz.

Trigger Setup: The PWM should be powered by a switched circuit. This means that the circuit is only on when the vehicle's key is activated. This will turn on the PWM and display, and allow you to change options in the menu system. But we don't want the PWM to run and make HHO unless the engine is actually running. We use the Trigger function to sense when the engine is running. It is turned on by default. and by default, the port expects to see voltage or it will not allow the PWM to make HHO. You can turn off this function (not recommended). You can also set the threshold voltage that the trigger will use to turn on. If your wire produces voltage whether the engine is on or off (but different voltages), then you may need to adjust the threshold voltage. You can also reverse the logic so that the PWM will trigger only when the voltage is low. You can use this function for attaching to an oil pressure light which will show 12 volts only when the engine isn't running.

Menu Stops HHO: By default, when you enter the menu system, the PWM will continue to operate, making HHO normally. In our older PWMs when you enter the menu system HHO production would immediately stop, and would start up again after leaving the menu system. If you want this behavior for the Smart PWM, you would select "On" for this menu item.

Display Menu

Main Screen: Use this to set what the display will show when not in the menu system. We have a number of options that show different information. When you enter this menu item, then turn the knob, the different display options will show. There are currently 8 different screens. Each shows different information about the running of the system. For people who like to keep things simple, there is also a blank screen and one that just shows the name and version number of the system. There are a couple of special purpose screens you should be aware of. One is a screen you should use when you are attaching your sensors. It shows the voltage at the MAP port, the TPS port, and also shows any frequency that appears at the Tach port. Use this display to verify that you have connected the correct wires to the PWM and that your sensors are being read. There is also a screen used to verify a good connection between the PWM and the LCD Controller. It shows some numbers changing very fast on the screen, and will basically look like Greek at first. This screen is showing the counts of information packets that are coming from the PWM to the controller and from the controller to the PWM. Of interest are the numbers displayed next to the letter E, one on each line. These are the counts of packets with errors, and should be all 0's. If you unplug your display while the PWM is running, then when you plug it back in, you will see errors here. But other than that, we expect to see all 0s. If not, then faulty wiring between the PWM and display must be found and corrected.

Menu Timeout: If you are in the menu system, and get distracted, this function causes the menu to "time out" and exit the menus. There are some functions that are exempted from this feature, most notably, Calibrate Sens, which may need to run for some time before it is completed.

Hardware Menu

Outputs Setup Sub-menu: There are 4 outputs, and each one has the same setup steps. When you enter the "Outputs Setup" you will be able to scroll through the 4 outputs:

Refill: 2 Amps. Provides ground
Circ Pump: 2 Amps. Provides ground
12->32V Out: 2 Amps. Provides system voltage (Batt+ terminal)
12V Out: 0.5 Amps. Provides 12V+

After selecting an output to setup, you will get the following choices. The choices are the same for each output:

Never On This is the default setting
Always On The output is on whenever the system runs
FloatSw Grounded On when the float switch port is grounded
FloatSw Open On when the float switch is not connected to anything
Spare2 Grounded Works the same as the float switch port
Spare2 Open Works the same as the float switch port
PWM Duty > 10% This means that the output will run whenever HHO is being made. 10% Duty was selected as a threshold to indicate when the system is making HHO. When the duty is below 10% the output will be off. Otherwise it will be on

For any selection other than "Never On", then there will be one more step where you will select the duty % that you want for the output. Default is 100%, which is fully on, and is usually what is wanted. But these outputs all operate as a simple PWM running at 100 Hz, and you can set a duty % from 0-100%.

Calibrate Amps: This function is already done for you at the factory during setup and testing. But in the future, you may want to be sure that the amps readings are correctly calibrated in your PWM. It never hurts. But likely will also never be needed.

MAP/TPS/Tach Setup: The first question here is Use [Sensor]. You want to Use each sensor you have connected to the PWM. Next is the percentage of adjustment (1-100%) you want to occur due to the readings of this sensor. We recommend setting a high percentage for the tach sensor, even 100%. This is because the tach represents a direct ratio to the amount of air going into the system, and the primary statistic we are interested in is the air to HHO ratio. Like the air/fuel ratio, we want this value to be relatively constant. A high percentage value here means that as the RPMs change, the HHO will also change by a large amount. 100% gives a direct, one to one ration between RPMS and HHO production. For MAP and Throttle Position Sensors, we recommend a much smaller percentage, such as 25 percent. It is actually unproven that any gain will be gotten from increasing the HHO based on these 2 sensors. We will have to find out from experience as to what these values are best set. Please Note: The PWM can ask for more amps than the cell can produce. With the Smart PWM you'll need to set your electrolyte so that the PWM can produce 2 or 3 times the amps it does at cruise. This will allow the cell to produce more HHO at high RPMs and loads. One of the display screens in Main Screen setup should be used after first setting up your sensors. It is the default screen. It shows amps, volts and duty percent. But also on the upper right it shows T: and then a number. That number is the target amps. That means its the amps that the PWM is trying to produce based on the cruise current setting, and the result of all active sensors. You can monitor this number to see if the PWM is reacting in the way you expect. The actual amps that are being produced are shown upper left, and while that number may lag behind the target amps, the PWM will always be working to bring those 2 numbers together. You can watch the duty percent to see how the PWM is adjusting to make this happen.

Calibrate Sens: Calibrate Sensors. Once you have connected your sensors, turned them on, and given their percentage of use, you'll need to calibrate them to your driving conditions. Prior to this step, the PWM will not use the sensor's data. In this step the PWM learns what these sensors produce during idle and cruise. From this is knows what different readings at the sensor port mean, and can make adjustments correctly. All sensors are calibrated at the same time. It is a simple procedure. Start the engine. Activate this menu item. It will wait until you press the button, which you will do when the engine is idling normally. You're half way done. Now drive the vehicle at cruise, and by that I mean whatever is cruise for you for the majority of your driving. Once you are at cruise, press the button again. That is the end of it. Note: If you turn off a sensor, in the Sensor Setup menu, then the calibration will be lost. If you later want to use this sensor, you will need to do this step once again in order to use the sensor.

Adj MAP/TPS/Tach Disp: This is used to adjust what shows on the display for these sensors. The only one of interest, really is the Tach. Your tach signal source may well not have a one to one ratio with RPMs (Revolutions Per Minute). Even if it does, by default, all RPM reading will only show the frequency of the pulses at the Tach port. Frequency is pulses per second, which is not RPM. Therefore we use this menu item to set the ratio between tach pulses and RPM. If you have a tach already, then just turn this knob until the RPMs on the controller match the RPMs from your tachometer. If you don't have a tach, you can still get a crude estimate by setting this value to 750 or so when then the engine is in normal idle mode. This procedure only affects the RPMs shown to you on the display (assuming that you have selected a data screen that shows RPM). It doesn't affect how the PWM uses the tach signal. The PWM only uses the frequency it reads. It compares that frequency to the frequency it read during the calibration step at idle and at cruise. It doesn't translate those frequencies into RPMs. So realize this step is not needed for proper functioning of the PWM. It is only to adjust what is shown on the display. The MAP and TPS adjustment is really not needed unless you are closely watching the voltages for these devices on the display. In this case, if the display is off by a tenth of a volt, you can trim it up here. Again, this trimming doesn't affect how the sensor data is used. Only the value it shows on the display. You don't have to redo Calibrate Sensors after doing this step.

Display Inputs: Use this function to view each individual input. This includes not only the MAP, TPS and Tach. You can also view things like board temperature, float switch activation, the 2 spare inputs, and more. This was originally intended to be a function that would be removed after software development had completed. But it turned out to be too handy. Finally, you can use this feature to adjust the voltages that display. For instance, if the MAP voltage displays at 3.5 volts, but is actually, upon accurate measuring, really 3.6 volts, you can make that adjustment here. Realize that these adjustments have nothing to do with the calculations done based on sensor readings. These adjustments only affect what shows on the display.

Manual Duty: This function was intended for use on the work bench. You can set the PWM's output duty percent directly. When you set the duty manually, it overrides any changes that PWM might make to maintain constant current, or based on sensor readings. You can make the change permanent, after which the PWM will always have that one duty cycle. To undo a permanently set duty percent, just go back to this function, change the duty percent, then when it asks you if you want to make the change permanent, say No. Do not use this function for normal operation of an HHO system on an engine.

User 0-5 Volt Input: The user can supply a 0-5 volt signal to the Smart PWM to further adjust the output amps. The Smart PWM will do all of the other calcs it is programmed for and determine the correct amperage it should produce. However, this final amperage can be further modified by a 0-5 volt signal supplied by the user. For example, if the calculated amperage based on all other factors is 10 amps, and the user supplies 3.0 volts, then the amps the Smart PWM will output will be 6 amps (10 Amps * 3/5). You can reverse the logic of this port as well, so that higher voltage on the port will result in lower amps, which is the opposite of it's default behavior. You can select either Spare 1 or Spare 2 as the port to read your 0-5 volt input. Note: Be mindful of the fact that these 2 ports can be used with other functions. For example, if you earlier had used Spare 1 as an additional sensor, then be sure to turn it off in the Sensor Setup menu before using it as your 0-5 volt input port. By default, all possible uses of Spare 1 and Spare 2 are turned off in software, so this note is only applicable if you have activated the port.

Admin Menu

Factory Reset: Reverts all of the major settings back to factory default.

Lifetime Timer: Shows the total runtime of the PWM.


If you don't need password protection, then turn passwords off. The first item in the Passwords Menu is used to turn the password function on or off. If you decide to use passwords, then the following information will tell you how to use them effectively.

There are 4 levels of user, each with their own password. Permissions can be set separately for each level. For instance, the lowest level can be made so that no menus will show at all. No control of anything. Or you can allow them just to turn the PWM off. Each level can have whatever menu choices you want to allow.

1.Any User
5.Super User

Any User permissions are always available without entering a password. Set the permissions accordingly. All of the remaining levels require a password.

Super User permissions cannot be reduced. All menu options are always available to the Super User. The Super User login is the only one that can be used to set permissions for the other levels. To set permissions, you must first turn on passwords by going to: Admin Menu->Passwords Menu->Passwords On.

In normal use, the menu is activated from the main screen by pressing the knob/button once. If no one has logged in, then the All Users permissions will be options. One of the options for all users will be Log In. If permissions for other menu items have not been granted to All Users, then Log in will be the only option. If someone has logged in, then the password option changes to Log Out.

Under Admin Menu->Passwords Menu, there are 3 options:

  1. Passwords On: This is an on/off selection for turning the password function on for the whole system. If this is Off, then all menu items are available at all times to all users. No login is ever required. Default is Off.
  2. Set Passwords: Here you set the passwords. The system comes with the password "1111", "2222", "3333" and "4444" for the respective user number. First you'll be asked to select which user to set the password for. Then the existing password for that user will be displayed, and you will be able to edit it. Passwords can be a maximum of 16 characters, and each character can be 0-9 or A-F. Once you have made any changes needed, you can press the knob quickly twice to accept all characters on the screen. Or press once for each character until the end of the row. Any spaces after the password are not part of the password. Note, if you set the same password for 2 different security levels, when entering that password the lowest user privilege will be granted. You won't be able to log in to the higher security level until you change the lower password to something unique.
  3. Power Option: This is for a situation where the programming has all been done and now the PWM is in general use. The driver doesn't want to have to login each day when he drives his truck, or if he stops for lunch. So if this option is set to Stay Logged On, turning off the power will not log off normal users. When the truck is started again, and power restored to the PWM, the previous login will remain in effect. This option doesn't apply to the Super User. The Super User is always logged off the PWM powers off. Default is to Log Off when the PWM powers off.

Setting Permissions for Menu Items

To set permissions you must first log in as Admin. No other user can set permissions. You must also have password security activated. Got to Admin Menu->Passwords Menu->Passwords On and turn passwords on, if not already. If these conditions have been met, then a new menu item will be added to the end of each menu. It will say Permissions.

Permissions are set for one user, but a whole menu at one time. This will be clearer with an example: Lets say you want to set the permissions for Any User for the Main Menu. You should take a piece of paper and write down, in order a "1" for each menu item that you want to give access to, and 0 for those you don't. Here are the current Main Menu items, with my choice of access for each one.

1) Log Out - Access
2) PWM On/Off - Access
3) Set Current - No Access
4) Setup Menu - No Access
5) Display Menu - Access
6) Hardware Menu - No Access
7) Admin Menu - No Access
8) Permissions

For the main menu, the last two items are Permissions and Exit. For any sub menus, the last three items are Permissions, Previous Menu, and Exit. These 3 items are not included when setting permissions. Therefore when you press the Permissions button the controller will display 7 items that you will select permissions for. Items 1 - 7 above. The 8th item, Permissions, will not be included.

Let say they look like this: 1111000. The cursor will blink by the first character (leftmost character). We will then change that to match the permissions we wish to set as per the list above. Turn the knob as needed to get a 0 or 1 as appropriate. Then press the button. Repeat for all 7 items. When you are done you will have edited that string of 1's and 0's to read: 1100100. Notice that this matches the permissions we wanted in our worksheet above. There is a 1 corresponding to each menu line that is marked "Access and a 0 for each menu line that is marked "No Access". When you have completed entering the number, the system will show you your number and show you the Saved message. After that the new permissions will be effective for Any User.

You would then go through the next 3 users and make a string for each of them as well. These would be Driver, Mechanic, and Foreman. Notice there is noAdmin choice for the permissions screen. That's because the Admin always has access to all menu items. They can't be removed.

Some of the menu items are for sub menus. If you turn off the permission for someone to use a sub menu, you do not have to also turn off the permissions for each item in the sub menu. Just leave them. If the user doesn't have access to the sub menu, even if you wanted them to have access to one of the items, they would never see it because they wouldn't see that sub menu item on their menu. So, they would never be able to access the process you wanted for them. In order for any user to have access to any items in a sub menu the sub menu permission must be turned on. You can turn off all of the items in the sub menu except one if you want. That's OK. But if you don't want them to have access to any of the sub menu items, don't bother setting those permissions. Just turn off the whole sub menu.

Lastly, the example above has one oddity that none of the sub menus have. Notice the first item above is 1.Log Out. If you were logged out, and password security was turned on for your PWM, then the first item would be 1.Log In instead. These items, Log In and Log Out can't be turned off. So, in our example above, where we set the permissions for All Users to "1100100", if we were to try to turn off the 1.Log Out menu item, the number we would enter would be this: "0100100" (0 in the first position). The system will change that first 0 to a 1. None of the sub menus have this exception. Only the Main Menu.

Software Revision History

Version 1.4: First version released for the Smart PWM

Version 1.5: 12 June 15, Added User 0-5 Volt input function

Copyright © 2023