chipKIT® Development Platform

Inspired by Arduino™

chipKIT hardware documentation

Created Mon, 27 Jun 2011 15:49:32 +0000 by GeneApperson


GeneApperson

Mon, 27 Jun 2011 15:49:32 +0000

I'm getting the message both here and in other blogs and forums that I've been looking at that the documentation for the chipKIT hardware could be better. I'm in Vancouver, BC for the ASEE conference right now, but when I get back to my office, I'll start putting together some additional documentation.

What would you like to see?

Gene Apperson Digilent


TECH GEEK

Mon, 27 Jun 2011 17:40:06 +0000

i'm not sure this is related but how about the following:

  • Recommended supply voltage.
  • Recommended supply current for no load.
  • Recommended operating temp.
  • Recommended current limits for a single digital output pin.
  • Maximum driving current for the entire board board.
  • Maximum amount of pins that can be used, at max recommended current per pin.
  • Maximum operating temp range.
  • Minimum supply voltage.
  • Minimum supply current. (with no external current draw)

and ANYTHING else you can think of... (<<<doing so will likely save future chipKITers' having to write up a post)


KM6VV

Mon, 27 Jun 2011 17:47:36 +0000

Lists of fully tested libraries, untested libraries, and a list of what libraries will be tested next.

Test code for each of the libraries finished.

Lists and test code should include references to the builds used.

thanks!

Alan KM6VV

I'm getting the message both here and in other blogs and forums that I've been looking at that the documentation for the chipKIT hardware could be better. I'm in Vancouver, BC for the ASEE conference right now, but when I get back to my office, I'll start putting together some additional documentation. What would you like to see? Gene Apperson Digilent


TECH GEEK

Mon, 27 Jun 2011 17:52:49 +0000

Lists of fully tested libraries, untested libraries, and a list of what libraries will be tested next. Test code for each of the libraries finished. Lists and test code should include references to the builds used. thanks! Alan KM6VV

+1 for that


Toley

Mon, 27 Jun 2011 20:52:51 +0000

hummm I'm not sure the state of libraries should figure in documentation since it can change at any time. A wiki will be more adapted for this purpose.

What I would like to see in documentation is where each hardware peripheral is placed on the board and how to access them. A resume of the microchip peripheral library could be very usefull. Also some tutorial on how to start new project, how to setup existing library and differences between chipkit and original Arduino should be of interest.


Darth Maker

Mon, 27 Jun 2011 21:40:51 +0000

This page: [url]http://arduino.cc/en/Main/ArduinoBoardUno[/url]

And depending on how much is different enough to note it in the reference, this page: [url]http://arduino.cc/en/Reference/HomePage[/url] and of course the sub-pages.


hairymnstr

Tue, 28 Jun 2011 12:03:44 +0000

A bit more detail about what the jumpers do and what PIC peripherals are attached to which pins for people writing chipkit specific low-level stuff.

It might be best to put all the effort into one place, there is a fair bit of info contributed by users on [url]http://chipkit.org/wiki[/url].


jgetto

Tue, 28 Jun 2011 13:21:08 +0000

It would also be great if the "chipKIT%20Max32_bysa_sch.pdf" text was Ctrl-F able.


jarkman

Fri, 01 Jul 2011 18:04:28 +0000

Perhaps I'm looking in the wrong place - I'm new here, and don't know where anything is - but I've not found it easy to see any hardware docs at all.

I started at Farnell, who linked me to a Digilent product page for the Uno.

I was hoping to find answers to questions like 'How many serial ports are there?', and a simple board pinout diagram, so I could quickly work out if this was actually a board I was interested in. But the product page doesn't seem to answer any of that, or link to anywhere that does, it just links to the forum.

So, if the question is 'What would I like to see?', the answer is 'Some simple introductory docs that tell me what the thing actually does.' If those docs already exist, I'd like them to be fairly obvious links from the product page, or from the root of chipkit.org. I'm sure all this stuff is answered somewhere in here, but having to search for it in a forum is offputting.

Thanks,

Richard


KM6VV

Fri, 01 Jul 2011 19:03:24 +0000

Some information on the layout of the load image (hex file) would be helpful.

The boot vector, main body, config locations, bootstrap code location, etc.

How to patch the hex file so that the hex code could be loaded into a non-bootstrap coded part.

Alan KM6VV


GeneApperson

Fri, 22 Jul 2011 18:58:23 +0000

It has taken me a bit longer than I had originally anticipated to get them done, but I have finished the hardware reference manuals for the Uno32 and the Max32 and they are now posted on the Digilent web site in the support section (bottom of the page) on the product pages for the two boards.

Comments and criticism are welcome. Let me know if you think I've left anything out, and of course let me know if you find errors. (I think that they have been pretty well proof read, but mistakes are always possible).

Also, please note that these are the hardware reference manuals. They don't document the libraries or the boot loader.

Gene Apperson


PapyEt

Sat, 23 Jul 2011 09:00:23 +0000

Good job Thanks a lot This documentation is a good help for all beginners like me

papy


GeneApperson

Tue, 26 Jul 2011 23:18:41 +0000

There are now Excel spreadsheets giving the pinout tables for the Uno32 and Max32 posted on the Digilent web site as well. These are essentially the tables at the back of the reference manuals in spreadsheet format. I actually copied and pasted from these spread sheets into the manuals to create the tables in the manuals.

Gene Apperson Digilent


kciszewski

Sat, 07 Jan 2012 05:31:27 +0000

How about some help with the following problem:

I ran the "blink" sketch on the chipkit Max32, and got the error message shown below--the sketch failed to compile. It looks like there are software library problems or path problems (this a very long path if it's accurate)--the program apparently couldn't find a particular file. Any thoughts on this?

In file included from c:\documents and settings\kenneth ciszewski\my documents\design spark\mpide-0022-windows-20110822\mpide-0022-windows-20110822\mpide-0022-windows-20110822\hardware\pic32\compiler\pic32-tools\bin../lib/gcc/pic32mx/4.5.1/../../../../pic32mx/include/stdlib.h:7:0,

from C:\Documents and Settings\Kenneth Ciszewski\My Documents\Design Spark\mpide-0022-windows-20110822\mpide-0022-windows-20110822\mpide-0022-windows-20110822\hardware\pic32\cores\pic32/WProgram.h:5,

from Blink.cpp:8: c:\documents and settings\kenneth ciszewski\my documents\design spark\mpide-0022-windows-20110822\mpide-0022-windows-20110822\mpide-0022-windows-20110822\hardware\pic32\compiler\pic32-tools\bin../lib/gcc/pic32mx/4.5.1/../../../../pic32mx/include/stddef.h:75:26: fatal error: machine/ansi.h: No such file or directory compilation terminated.


Jacob Christ

Sat, 07 Jan 2012 16:55:05 +0000

How about some help with the following problem:

You should avoid cross posting the same message. It just makes more work for those that read all threads. Also this is off topic here.

Jacob


slayer1991

Sat, 14 Jan 2012 00:49:11 +0000

Quick question: If I input a signal of -0.4 V to 3 V on an analog pin is it a long term problem? The signal comes from the spark plug of a petrol engine. I put it on and measured the first rise over 0.3 V of a spark and then calculated RPM. It worked, but will it damage it if I use it more?

On an oscilloscope the signal seemed not to go down more than 0.4 for about a couple of ms.


les1943

Sat, 14 Jan 2012 09:51:58 +0000

Firstly your -0.4 v may be much lower than you can see on a scope, should be easy to protect with a diode to ground.


slayer1991

Sat, 14 Jan 2012 15:50:37 +0000

The original signal was put through a diode bridge and a zenner diode 3.3V.


kciszewski

Mon, 16 Jan 2012 02:30:28 +0000

I solved the problem with the error message indicating that the compile failed. It turns out if the mpide-0022-windows-20110822.zip zip file is unzipped at the C:\mpide-0022-windows-20110822 level, it works properly. I originally unzipped it at a level much farther down the subfolder chain, and this is where it didn't work.

It really would have helped if the documentation would have made this clear.!!!!!

And so, yes, it is appropriate to "cross post" this issue, because it directly relates to the "quality" and "content" of the documentation, OR THE LACK THEREOF!


knChip

Mon, 30 Jan 2012 04:53:57 +0000

Hi, It is little confusing about the connectors such as J6,J9, 8,15. It looks to be indicated on right side of the board(opposite to powersocket ) Iwould suggest to add a picture to indicate the connector pin in the user documentation.
Thanks, Narayanan


stefan646

Tue, 07 Feb 2012 07:13:26 +0000

I have a question about MAX32 : if I want to read a analog signal (from a sound card) using the MAX32 ADC should I use a buffer before the ADC ?


Saggitarius

Sat, 24 Mar 2012 19:22:43 +0000

I have a question about MAX32 : if I want to read a analog signal (from a sound card) using the MAX32 ADC should I use a buffer before the ADC ?

I'm just a fresh meat, get started use a MAX32 in my work, so my reply a suggestion only ATM. Have to check out sample rate/speed of MAX32's ADC, should minimum twice as your analog signal's highest frequency


Saggitarius

Sat, 24 Mar 2012 19:38:06 +0000

I'm just a fresh meat, get started use a MAX32 in my work, so my reply a suggestion only ATM. Have to check out sample rate/speed of MAX32's ADC, should minimum twice as your analog signal's highest frequency

As max232 use pic32mx795f512l, referring to datasheet, Max A/D Sample Rate (KSPS)1000, means 1Msa/sec, I reckon you don't need to buffer. Is that right?


GeneApperson

Tue, 26 Jun 2012 21:19:20 +0000

As max232 use pic32mx795f512l, referring to datasheet, Max A/D Sample Rate (KSPS)1000, means 1Msa/sec, I reckon you don't need to buffer. Is that right?

The A/D converter in the PIC32 devices can perform at up to 1Msps. This doesn't mean, though, that you can use the analogRead function and expect to get that kind of performance. Sampling a continuous audio stream in this way requires both a reasonable sample rate and constant rate sampling. Any jitter in the time interval between samples turns into noise in the resulting sampled signal. The analogRead function provides no mechanism to get a precise sample rate (with precise intervals between samples).

By reasonable sample rate, I mean that sampling theory says you need to sample more than two samples per second for the highest frequency component in the signal being sampled. So, for example, for a 10Khz analog bandwidth signal, your sample rate must be at least 20Ksps. Undersampling produces what is called aliasing, which turns up as false frequencies in the sampled signal. This also means that you need to band-limit the input signal (using a low pass filter) to make sure that there aren't high frequency components in the signal being sampled.

I'm not aware of a good A/D library for chipKIT (doesn't mean that there isn't one, just that if there is I don't know about it). Absent that, you would need to talk directly to the hardware to set up the A/D converter to get constant rate sampling.

Gene Apperson Digilent


knuckles

Wed, 25 Jul 2012 16:09:18 +0000

plenty of idiots guides on youtube would be a help to us and your sales. just basic stuff to get newbies moving then things start to drop into place . theres a video of the basic io board display working but no details of how it is accomplished .its all a mystery so far . even though i have been thru the documentation

impressive but its like a david blane mystery of how does he do it ,he is a magician

http://www.youtube.com/watch?v=0gqZJ-f9ZSw


JordanR

Wed, 25 Jul 2012 16:56:39 +0000

Hello knuckles,

The project he is running is actually the OledFullDemo that comes with the IOShieldOled library. The library provides functions for drawing characters, lines, squares, and patterns to the OLED display.

If you would like, you can download the libraries from the chipKIT Basic I/O Shield product page and run the demo yourself. The demo code itself is well commented, and there is also a PDF document that comes with the library to explain each function it provides.

Download the .zip file, and extract the libaries into your Sketchbook into a folder called "libraries". If you open MPIDE and go to File->Preferences you can find the location of your Sketchbook. Once you have the library files in your Sketchbook, open MPIDE and go to File->Examples, and you should see the IOShield libraries. I hope this is helpful to you!

Best Regards,

Jordan R Digilent


knuckles

Thu, 26 Jul 2012 13:33:26 +0000

i tried what you said and get a error message as follows even though the files are seen in the llibrary from sketch menu

C:\mpide\mpide-0023-windows-20111221.\hardware\pic32\libraries\OLED\OledDriver.cpp:59:18: fatal error: DSPI.h: No such file or directory compilation terminated.


JordanR

Thu, 26 Jul 2012 17:52:02 +0000

Hello knuckles,

Try downloading the IOShieldOled libraries from the Basic I/O Shield product page. The IOShieldOled and OLED libraries are not exactly the same. For one, the IOShieldOled library does not use DSPI.h. I was not able to reproduce the error you are getting, but I would recommend not saving custom libraries (such as the IOShieldOled and the OLED libraries) to the directory you currently have the OLED library saved to. Your Sketchbook should be independent of your mpide-0023-windows-20111221 files. Create your own folder called libraries in your independent Sketchbook directory. Again, you can find the location/change the location of your Sketchbook by navigating to File->Preferences after you open MPIDE.

Best Regards,

Jordan R Digilent


knuckles

Fri, 27 Jul 2012 15:47:33 +0000

still no luck ,i rebuilt the file from scratch and started afresh but still getting- error no file or directory wont compile . i dont have any idea what the file tree should look like .

i followed the instructions in the readme file,unzipped in the libraries folder ,started up MPIDE again but nothing extra seen in the sketch/import library folder under contributed .

nothing extra seen in the examples folder either .

tried manually putting the files in the libraries folder where they match the other files too

followed this

  1. Start MPIDE
  2. Look under File->Preferences and take note of your Sketchbook Location
  3. Shutdown MPIDE
  4. under your Sketchbook directory create a subdirectory called "libraries"; this directory may already exist.
  5. Unzip the OLED in the libraries directory.
  6. Restart MPIDE
  7. You should see the new libraries under Sketch->Import LIbrary, under Contributed
  8. Also you should see under File->Examples the chipKIT library examples directories.

knuckles

Sat, 28 Jul 2012 16:39:18 +0000

put the downloaded files into C.mpide/libraries and unzipped them and win files show them all there with the exisiting files

but below is not the case

You should see the new libraries under Sketch->Import LIbrary, under Contributed 8. Also you should see under File->Examples the chipKIT library examples directories.


JordanR

Mon, 30 Jul 2012 19:03:31 +0000

Hello knuckles,

In Sketch->Import Library, do you see DSPI under chipKIT?

At this point my recommendation would be to delete your MPIDE download, and redownload clean from either of these links:

https://github.com/chipKIT32/chipKIT32-MAX/downloads -> 2011 release

https://github.com/chipKIT32/chipKIT-builds/downloads -> 2012 test

Also delete your current sketches folder (back up any of your projects though) and let your clean download create a new one. Save the clean download to your desktop. Then follow the steps you did previously and re-download the IOShieldOled library from the Basic I/O Shield product page:

http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,892,936&Prod=CHIPKIT-BASIC-IO-SHIELD

I hope this works for you.

Best Regards,

Jordan R Digilent


knuckles

Tue, 31 Jul 2012 13:48:16 +0000

i think when i delete it ,its not shown in the undelete folder ,so i had to do it manually meaning theres some stuff left behind in the registry but not sure where it leaves a trail. i had a look with regedit .

i loaded the downloaded files into my arduino IDE library and unzipped and they show up in the menus ok when i start up.

i am using a laptop with an intel atom chip and win7 cut down version .

yep DSPI is there in the menu

thanks for your advice will keep at it ......


knuckles

Thu, 02 Aug 2012 16:39:20 +0000

all is working ok now ,i had a spurious path in the sketch from a previous installation ,that was corrected now all is well ,thanks do i need to add the board variant files ,as all is working so far ? what are the board variant files supposed to do ?


JordanR

Fri, 03 Aug 2012 02:44:27 +0000

Hello knuckles,

Glad to hear it! The board variant files provide board specific hardware definitions. The proper one is included in your sketch when you select the board you are using from the Tools menu.

Best Regards,

Jordan R Digilent


zulucat

Sat, 25 Aug 2012 14:55:08 +0000

I recently purchased a uC32 and a Basic I/O Shield. I had troubles getting the OLED to work. In the uC32 manual I came across the following:

  1. JP4 – Pin 10 Signal Select Jumper
  1. This jumper is used to switch connector J5 pin 5 (digital signal 10) between pulse width modulator (PWM) operation and SPI operation. The jumper is placed in the RD4 position for PWM output and in the RG9 position for SPI slave operation. The shorting block on this jumper will normally be in the RD4 position. The only time it normally needs to be in the RG9 is when using the Uno32 board as an SPI slave device.

Not needing SPI slave operation I moved JP4 to the RD4 position. As it turns out the Shield needs JP4 in the RG9 position for the OLED to operate.

You good folks at Digilent may want to revise the OLED part of the Shield manual to reflect the fact that with the uC32 ( & Uno32) JP4 must be in the RG9 position.


knuckles

Tue, 19 Aug 2014 20:01:45 +0000

thanks for that tip i wondered why the oled demos would not work ,now theyre all singing and dancing . needs to be added in big type on the Olel library ref manual


Richard

Wed, 11 Feb 2015 16:31:28 +0000

Starting simple... a "Getting Started" section for newcomers. Getting to "Hello World" in 5 minutes or less.

First questions I asked...

  • Which USB port do I connect for programming?
  • How should all these jumpers be set to get started? (e.g., one had fallen off in the carton)

And when mine didn't work...

  • How should a healthy bootloader behave out of the box? (Flashing / pulsing LEDs?)
  • Do I need to punch reset to enable the bootloader just before uploading a sketch? (No, but some platforms do need this)
  • Which LED is TX vs. RX? (And why didn't they use different colors?)

Suggestions:

  • A business-card "Getting Started" insert in the carton with a list of the default jumper settings, pointers to the obvious (connect here to program). Or just print this on the inside of the carton.
  • Since the correct URL is digilentinc.com, and not diligent.com, printing this on the PCB itself would be a smart idea.

Bianca

Wed, 24 Feb 2016 08:40:55 +0000

Hello Richard,

There is documentation about ChipKit boards, including manuals and how to program the board and the schematic. If in this forum will be created such a section you should take into account that from this year all the information about ChipKit boards were moved to Digilent's Wiki page, and is no longer on the official website. This is the new page where you can find information about the boards and the software used to program them [url]https://reference.digilentinc.com/doku.php#chipkit[/url] Also there you (or any person interested) should find some demo projects, in general led blinking on any board.

Best regards, Bianca