• Increase font size
  • Default font size
  • Decrease font size

gpsim tutorial

To build a robot it is often neccesery to create also a hardware. PIC programming is one of many possible options. I have chosen this way several times and hence know a good PIC simulator is very handy. I have found difficult to find any gpsim tutorial aimed on windows version of the gpsim out there. Therefor you may find one here:


This chapter will lead you in a very fast way to run your first gpsim simulation by running a .hex file.

1. gpsim download page can be found here. if you want to download a windows installer use this link instead.

2. install the gpsim. in my case into following directory: "c:\Program Files (x86)\gpsim\"

3. to run your code (as a hex file) in simulator (gpsim) the fastest way is this:
- open command prompt
- execute following command  (correct path if neccesery).

 "c:\Program Files (x86)\gpsim\bin\gpsim.exe" 

it will start up the gpsim and at least 1 new window should be displayed - main GUI. You should stay in your command prompt window though. You may notice that command prompt has changed a little bit. Something like "**gpsim>" should be displayed at the beginning of the command prompt which tells you that gpsim is running and ready to accept your commands.

- now execute following command:

 processor list 

the list of all supported PIC processors is displayed. choose the one you will use for the simulation. Let's say "pic16f84".

- quit the gpsim by issuing following command:


you may notice that the beginning of the new line on command prompt has returned to its standard form - "C:\Users\Jon.Doe>" in my case.

- now you are finally able to run a simulation. To do this execute following command (correct path if neccesery):

"c:\Program Files (x86)\gpsim\bin\gpsim.exe" -pp16f84 c:\_cc5x\_Projects\Clock_generator\clock_generator_v01.hex

it will run "gpsim.exe" with parameter "-pp16f84" (this tells to gpsim that your processor is pic16f84) and then follows path to your .hex file - in my case "clock_generator_v01.hex".


This chapter will show you a basic usage of the breadboard functionality which I found the most important during the simulation. We will connect a PORTB0 port of the PIC to the LED module.

1. open Breadboard window by clicking: "Windows/Breadboard"

2. click "Add library" button and enter following text into the displayed input window: "libgpsim_modules.dll" and click "OK".

3. click "Add module" button. New window is displayed. The window contains list of many different modules, eg. switch, led, etc.

4. let's choose "led" as our new module. Click on it and enter its name afterward "led1".

* if mouse is not working for the window use keyboard instead - tab to navigate from input box to OK button.

5. a picture of the let module is now displayed in the breadboard window. click on a "+" sign of the led1 element in the upper left corner to display its ports. following situation should be shown:

- led1
- led1.in

- by clicking on "led1" you display properties of the module.

- by clicking on "led1.in" in the lower left part you display nodes/stimulus that are connected to the input port (since its name is led1.in) of this module. since we have not made any connection yet following situation should be shown:

Stimulus led1.in

Not connected

6. to create a node push "Add node" button and enter its name, for instance "node_led1".

7. now we are finally able to connect a PIC output port to the led1 module. the "node_led1" node serves for this purpous.
- click on "led1.in" and pusth the "Connect stimulus to node" button. double click on "node_led1" item in the displayed window.
- click on "+" sign of the p16f84 processor. list of all its ports is displayed. select "portb0" and pusth the "Connect stimulus to node" button. now select the same node as in the previous step - "node_led1".
- to check the new connection click on "+" sign of the nodes and select "node_led1" node. in the lower left part of the window both ports led1.in and portb0 should be displayed.

STC file

Maybe more convienient way to set up whole simulatin in breadboard is to code it. If this is your case you may use .stc files.

1. in the same directory as your .hex file create a new text file called for instance clock_generator_v01.stc

2. put following code into the file:

processor pic16f84
 load clock_generator_v01.hex
 frequency 32768
 # Processor position:
 p16f84.xpos = 50
 p16f84.ypos = 50
 # Modules:
 module library libgpsim_modules.dll
 module load led led1
 led1.color = green
 led1.xpos = 100
 led1.ypos = 350
 module load led led2
 led2.color = green
 led2.xpos = 100
 led2.ypos = 400
 # Connections:
 node n_led1
 attach n_led1 portb0 led1.in
 node n_led2
 attach n_led2 portb1 led2.in

 #scope.ch0 = "portb0"
 #scope.ch1 = "portb1"
 #scope.ch2 = "portb2"

 #break at interruption
 #break e 0x0004

 #break at specific instruction execution
 #break e 0x003f

 #break on write to 0x1A
 break w 0x1A

3. now you can run the simulation simply by calling:

"c:\Program Files (x86)\gpsim\bin\gpsim.exe" -c c:\_cc5x\_Projects\Clock_generator\clock_generator_v02.stc



0 #185 ace333 download 2019-04-22 03:47
Hi my family member! I want to say that this post is
amazing, great written and include approximately all vital infos.
I'd like to see extra posts like this .
0 #184 ntc33 2019-04-21 00:04
Therefore, you should give it a little time before making connection for that next date or journey.
Do not enable owner sweet talk you into purchasing a
dress you simply can't have.
0 #183 ace333 download 2019-04-20 18:51
Maybe two sites on the first page become worth reading. Are
generally generally advertisements powered by Lookup.
I've got three words for a person will."Research your Keywords".
0 #182 live 22 2019-04-20 16:08
Apparently, that bottle in front of them is dependent on identity for consumers ("I'm a Bud man").
Is it better the live prices or delayed prices?
These come as orders to buy market currency pairs.
0 #181 Slot Machine Fruits 2019-04-19 11:43
Hey! This post couldn't be written any better! Reading through this post reminds me of my old room mate!

He always kept talking about this. I will forward this article to him.
Fairly certain he will have a good read. Many thanks for
0 #180 scr 888 2019-04-18 21:55
When playing online slots you must always try to bet the
most coins. Examine the payback before playing, be sure you
do have the best payback anyone play.
0 #179 3win8 apk 2019-04-18 13:57
It was easier to plow ahead, even the hho booster meant discounting my hunch.
One more design that is in sought after demand is which the professional graphic prepare.
0 #178 live22 download 2019-04-17 15:29
Therefore, you should give it a bit of time before making connection for the next date or instance.

There are times any breakup occurs because the man's friends get involved yourself.
0 #177 sky777 download 2019-04-16 02:42
Now make that escrow shoot up to $750 - any kind of justification - and now you're
at $1,250. Consulting several doctors will see to it the most accurate diagnosis possible.

The diets throughout society is growing.
0 #176 scr 888 2019-04-15 11:57
Do not give too many details about yourself since just about
all them nowadays are complete strangers. Communication is fundamental understand
additional. Your self-confidence will face attack many instances when.
0 #175 ntc33 2019-04-13 02:40
This means, people will be returning to look
at a profile after. Basically you are saying-really quickly-what you can potentially tell you.
A good content-based website has been said to be 95% typography.
0 #174 scr 888 2019-04-11 19:49
The means to make money from blogging are many and rather easy to perform.
Be authentic and work with strategies that
always help other marketers. You get instant traffic from Google
within early months of blogging.
0 #173 joker123 casino 2019-04-10 18:07
Asking questions are actually good thing if you are not understanding something
fully, however this piece of writing gives good understanding

Add comment

No bad words.

Security code

Design by i-cons.ch / etosha-namibia.ch