Has anybody created a GCB project that works with this USB Host module? http://www.hobbytronics.co.uk/usb-host-serial I'd like to make a USB Host that can control a 3D printer from a PIC by serially sending GCodes and receiving data back.
That's because that was a parallel port programmer. PICkit only needs 5 connections as you found out. Very simple.
The jumpers are to connect the 6 pin header to the proper pins for the device size you are using when the device is placed into the top of the ZIF socket (Pin 1 to Pin1). You would have to find the instructions for that ZIF adapter or use a meter to figure it out. For PICs, 8, 14 and 20 pin chips use the same pin locations for Data, CLK and MCLR. 28 pin devices all use the same pinout and 40 pin all share the their same pinout. So the jumpers switch between those three groups. An 18F25K40 and 18F25K22...
LVP is low Voltage Programming. It's an option on many devices. High Voltage Programming (HVP) uses the MCLR pin connection on the programmer (PICkit2/PICkit3) to produce a high voltage (9-15v) very low current signal that puts the device into programming mode. Then the CLK and DATA shift in the 1's an 0's. I don't recommend LVP in most cases, especially if you have access to a PICkit programmer. If you design the robot board with the isolation resistors, then you should have no issues programming....
You need CLK and DATA to program the PIC. Those arent pullup resistors. They are series isolation resistors typically in the 100 ohm range. They allow the CLK and DATA i/o pins to be connected to your circuit without the circuit affecting the CLKand DATA signal. If you power the PIC circuit separately, the programner will sense it and wont power the board.
I believe the datasheet has a typo. It's missing a W. It shows R-1/1 when it should say R/W-1/1 like other devices. The second 1 in 1/1 is meaningless otherwise. That bit needs to be writeable to set the edge.
Looks like you got the rubber hose couplings as well not the metal couplings. That printed better than mine as my extruder didn't work. If you just print from the SD card you never need to install Arduino drivers. It's only for updating the firmware or running it directly from the computer. Have fun.
I reviewed that printer about a year ago. https://www.youtube.com/watch?v=jv_tRVZrN68
I have a YouTube Channel mostly dedicated to 3D printing. Just go to FilamentFriday.com Most 3D printers run Marlin firmware which is based on Arduino code. Most run a 2560 Arduino Mega or custom 2560 board. I don't know of any GCB based printers. Marlin firmware has autolevel built in if enabled for many of the popular auto level sensors. At that price, is your printer Acrylic frame? It's probably an Anet A8 or similar.
Why not setup a PATREON account for funding. many 3D PRINTING software development is supported this way. How much is needed?
Why not setup a PATREON account for funding. many 3D PRINTING software development is supported this way.
That is a clone. There are many different versions out there since Microchip open sourced the design. I built my own and simplified the design to remove the EEPROM for programming on the go. I also fixed mine to a 5v only programmer to reduce the circuitry. I share all the details on my website if anybody is interested. http://www.elproducts.com/build-your-own-pickit-2.html
Thanks to Pete and all the contributors to GCB. Its been amazing to watch this compiler evolve into a fantastic tool for both 8-bit PIC and Atmel products.
I forgot about the FCMEN bit. Good catch.
You can set the clock to other frequencies but you have to put the PIC into EC or External Clock mode and then supply that specific clock frequency to the OSC1 pin. There are three EC modes on the PIC12F1840: ECL - 0 MHz - 0.5 MHz ECM - 0.5 MHz - 4 MHz ECH = 4 MHz - 32MHz For a 2.1 MHz clock you would need to set the #config first: #config OSC = ECM Then the Clock Frequency #chip 12f1840,2.1 Finally, supply the OSC1 pin with your 2.1 MHz signal.
How would this affect the Flash Drive installation option? I have been using GCB on a flash drive so I can move it from computer to computer and it works great. Would the patch update the flash drive as well?
There is no direct replacement for the Basic Stamp format. There is a SerReceive command explained in teh help file: http://gcbasic.sourceforge.net/help/_serreceive.html
Hugh, How does that .raw file get incorporated into the code? Can that be used with an simple text file to produce a table or just that file format?
Hugh, what you have created is absolutely amazing. All the work Evan has done with help from many others has made Great Cow BASIC an incredible compiler. You brought the Microchip and Atmel parts together before Microchip did. People will always ask for what it doesn't have and that just drives it to be better but I just wanted to compliment you and the rest of the team for such an outstanding product. And to make it free to use both at home and commercially plus completely open source continues...
I did the same robot in my Book "Programming PIC Microcontrollers With PicBasic" published in 2003. Only difference is I used servo motors to drive and a Sharp GP2D15 IR Detector as the eyes and PICBASIC for the code. Mine ran slower but worked just as yours. Do you share the code and schematic anywere? I didn't see a link in the video description.
I put that together a long time ago when we didn't really have a help file and the download was confusing. I tried to make it BASIC Stamp like with the CHIPINO module but then ran out of free time myself. As Evan and company began to improve GCB I started to back off and now I've been switching it over to try and help support GCB as another portal entry.
Did you want me to post anything special on GreatCowBasic.com? I've shifted its focus to more core GCB and away from what I was doing with CHIPINO.
William understands the point of my video. So many beginners use Arduino and think its better/faster than anything written in BASIC because the Arduino uses C language. What they fail to understand is the libraries that are created to make programming easier for Arduino also are very in-efficient for both speed and code space. So it has nothing to do with C vs BASIC is has everything to do with the compiler. Most home 3D printers are run by Arduinos with Marlin code written in Arduino. My example...
William, Just noticed when I use PK2deviceFile_1_63_155_GCB_ONLY.dat with PICkit 2 GUI, under Help>About I see Device File Version 1.63.151.
Thanks Chris, I was originally aware of that about the PICkit 3 and completely forgot it until you mentioned it. I knew there was a reason I preferred the PICkit 2. You can get great clones of PICkit 2 on eBay. I bought one from China for $8.39 plus $1.85 shipping. It works great. http://ebay.to/2p1DfzA Great point on the developing with another device! That is so true. I often use my CHIPINO with 28 pin PIC16F886 and Arduino style shields to develop and then program a smaller PIC later on. GCB does...
It's because unlike PICAXE or Arduino, GCB doesn't have one hardware platform to communicate with, it works with multiple devices. PICAXE all use the same programming/communication cable and Arduino uses the bootloader and IDE. Though you can easily create this kind of feature, for example on the CHIPINO, I like to use the PICkit 2 programmer then I can send data back through the programming pins RB6, RB7 to the built in terminal application of the PICkit 2 GUI. Then I can just use a SerPrint command...
I see the problem. Check your schematic. The DFRobot shield shows DB4 - Digital 4, DB5 - Digital 5, DB6 - Digital 6 and DB7 - Digital 7. On CHIPINO that is Digital 4 - PORTC.4, Digital 5 - PORTC.3, Digital 6 = PORTC.2 and Digital 7 - PORTC.0. This was done so so the C6 and C7 could line up with the Tx and Rx pins of the Arduino pinout. If you include chipino.h all the I/O will be defined by the proper D0 thru D13 and A0 thru A5 port connections. Then you could just #define LCD_DB4 D4 #define LCD_DB5...
I see the problem. Check your schematic. The DFRobot shield shows DB4 - Digital 4, DB5 - Digital 5, DB6 - Digital 6 and DB7 - Digital 7. On CHIPINO that is Digital 4 - PORTC.4, Digital 5 - PORTC.3, Digital 6 = PORTC.2 and Digital 7 - PORTC.0. This was done so so the C6 and C7 could line up with the Tx and Rx pins of the Arduino pinout. If you include chipino.h all the I/O will be defined by the proper D0 thru D13 and A0 thru A5 port connections. Then you could just ~~~~ define LCD_DB4 D4 define LCD_DB5...
Anobium - None of my CHIPINO sample files were in the CHIPINO folder of my install. Should I send those to you again?
I just tested this attached sample on a CHIPINO and DF Robot LCD Shield and it worked fine displaying Hello World. Using version 0.97 of GCB.
Did you try the sample program on this page: http://www.greatcowbasic.com/sample-projects.html
Makes sense. Plus its fun to design your own.
For 28 pin have you considered the CHIPINO? I designed it many years ago so I could use Arduino shields with PIC. Its designed to accept a PICkit programmer and has both 5v and 3v regulator. Design is open source non-commercial and in ExpressPCB format. See more at chipino.com Also available at howtronics.com (the only approved reseller).
If you use the PICkit2 GUI then it has a built in terminal that connects through...
Thanks William.
Ok, thanks. Is there a document or list that shows what the default or version 1_63_155...
Does the latest PK2deviceFile_1_63_155_GCB_ONLY.dat support PIC16F18855? I tried...
Did not realize that. Great. I use PK3 for MPLAB X work and PK2 with latest device...
PICKit 3 has two operating systems floating around. One works with the GUI (like...
PICKit 3 has two operating systems floating around. One works with the GUI (like...
Yes, I didn't realize POR was required but that makes sense. I want to have a version...
To my mind a bootloader is set to a generic configureation to be distributed to people...
Actually could you produce two? 1. CHIPINO version, 16Mhz, Mode, External MCLR, Watchog...
I would like to see the PIC16F886/887 added to the list. Thanks
William, That is a good point and definitely a great description. To add to that...
This video might help: https://youtu.be/tf2SfSm6fQg
Wow, I honestly thought it was older than that. I must have started using it when...
William, I added your 8-bit only device file to my PICkit 2 Page
I've written millions of line of code for lots of production products and trust me...
Could just read the ADC at the top of the loop and then delay in a ForNext based...
Nick, I agree completely. I've written books on PBPro and used it since it was first...
William Roth: "The 1 is simply the number of stop bits. "Waitforstart" is a constant...
Agree on interrupts but also, if you aren't ready to tackle interrupts dont be afraid...
If you use a variable in a statement, I thought GCB automatically set it up as a...
Nice summary but I have to question the statement about PICkit 2: "It cannot be used...
Yep, just make a project and add the asm file.
Sorry, I'm not sure where to find that. I was able to add the -F at the beginning...
This was using AVRdude and the settings in the batch file for the mini pro. For some...
I tried to program a Arduino Pro Mini. I modified the AVRflash.bat file to remove...
You can take the raw .asm file produced by GCB and create a project in MPLAB or MPLAB...
Schematic is here: http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB%20Xpres...
Schematic if here: http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB%20Xpres...
Just for the record, that article has a typo. It has a pic16F18855. They left off...
You could try to use the Zero Cross Detect feature on some of the newer PIC devices....
Older data sheets have charts but the newer ones tend not to. I often refer to a...
Did you mean 16F688? As JackJames pointed out, that's normal per the data sheet....
Why not put the input voltage through a resistor divider to knock it down to under...
You need to add the 4 for 4 MHz. #chip 16F1455,4 Otherwise it will default to the...
If possible, I would propose that each chip file have predefined PPS connections...
Could this run on a Raspberry PI running Ubuntu or similar?
If you are using MPLABX you can see variables in the variables window. Window>Debugging>Variables...
Agree. I mentioned before on this forum and you've added to it. When using a GCB@SYN...
I'm confused by this. kk is a word and ii is converted to a word prior to storing...
I didn't realize he was already posting to the help page when I sent my email. You...
Yeah, those are mine. Just send anything you find to chuck@elproducts.com. Thank...
Where is the manual are you referring to? I have one that was written under a similar...
Yes, Agree with Kent If you want to work with the PIC10F, then the PIC10F320 and...
I understand you wanting to use your PICkit 3 and I recommend it for use with MPLAB...
GreatCowBasic.com is my website. I set it up to help others get started and I use...
INTIO67 means internal oscillator and B6, B7 are I/O pins.
This is great work by all parties involved and thanks for leading the effort. GCB...
Excellent. How do you program the device? What programming software do you use? What...
Doesn't GCB use a few bytes of RAM for system variables?
"Is the Arduino-GCC compiler that inefficient when changing the state of an I/O pin?"...
There is already a discussion on this here: http://sourceforge.net/p/gcbasic/discussion/579125/thread/67981ab7/...
The PICkit 3 pull-downs are for Debug mode using MPLAB. They should not be needed...
Maybe check out my site GreatCowBasic.com. I have a free to download manual and also...
It sounds like a timing issue. Didn't the LCD source files get updated to a faster...
I don't believe the R/W should matter when creating custom characters. Many years...
Yes, the GLCD is a nice added feature along with a few others PBP doesn't offer....
But you can use CHIPINO with both GCB and PBP. I do it all the time.
Peter, Go to greatcowbasic.com and download the Great Cow Basic CHIPINO (GCBC) Starter...
How do you bring it out of sleep? Need to see the code. Can you post it?
I assume you are using the ReadAD10 command? I would question if the oscillator is...
William, I think the issue has been there for some time as I recall having communication...
If the PORTC, 2 bit is set and the Var1, 5 is set then the i/o pin will see a glitch...
More detail needed. What Device? What Compiler level are you using? You could create...