sku: DEV-09713
Description: The new version of the UBW32 now uses the PIC32MX795 IC. Based on the work of Brian Schmalz, the UBW32 is a small development board for the new PIC32MX795 32-bit CPU from Microchip. The UBW32 is breadboard friendly and includes all of the external circuitry needed to get the PIC32 up and running. Power can be provided over USB or from an external source. It has 3 push buttons (Reset, and 2 user-defined buttons) and 5 LEDs (Power, USB, and 3 user defined LEDs). All of the 78(!) of the PIC32's I/O pins are broken out. The board comes pre-loaded with a USB bootloader and special UBW firmware that accepts simple serial commands to control the various I/O functions.
If you have used a UBW or Arduino before and are frustrated by the lack of CPU power, lack of memory, lack of I/O pins, or lack of sophisticated software, the UBW32 is just what you are looking for! While only slightly more expensive than the 8-bit UBW, the UBW32 has significantly more I/O and CPU horsepower.
The UBW32 is also a very good stand-alone development platform for the USB PIC32 chip. It contains a simple to use USB bootloader so that you can write your own code and download it to the board without any additional programmer, tools, or software. If you need low-level debugging, you can also attach an ICD2/ICD3 or other PIC debugger.
The PIC32 chip is capable of doing USB OTG, USB Mass Store, USB Virtual Com Port and USB Host roles. There is a footprint on the bottom of the board for a USB connector that will allow you to plug any USB device into the UBW32. There is a jumper that allows you to power the VBUS 5V USB wire if you program your UBW32 to be a USB Host.
Note: This product is a collaboration with Brian Schmalz. A portion of each sales goes back to them for product support and continued development.
Features:
Documents:
Replaces: DEV-08971
CAB-00598
USB Mini-B Cable - 6 FootPRT-09011
USB Female Type A SMD ConnectorDEV-08265
USB Bit Whacker - 18F2553 PTH KitDEV-09645
CUI32 PIC32MX Development Stick
Comments 43 comments
Hey just a helpful comment for those of you that are porting MX460 code to the new MX795, check out the “APPENDIX A: MIGRATING FROM PIC32MX3XX/4XX TO PIC32MX5XX/6XX/7XX DEVICES” in the PIC32MX795 datasheet above. The way that certain interrupts are handled is different.
Hopefully my couple hours of digging can save someone else some time.
Just wondering, is this a 4 layer pcb?
side note… i want one heh but the bottom pins including icsp gets me upset since theyre on edge
Nope, just a 2-layer board that took me for-freeking-ever to route because of the much larger 8MHz crystal and the new 32KHz crystal footprints.
Sorry about those couple pins on the edge – what I do is put male headers pointing down on each of the 2 long sides, then male headers pointing up on the remaining short edge. That way I can plug in my PICKit3 really easily for debugging/programming.
*Brian
cool thanks . i know it had to be a huge headache to do :)
i assume batchpcb produces these PCBs? i was going to make my own after buying this but realized my vias would be too large to get the size you achived. ill get one or two this month.
thanks for quick response!
Well, SparkFun makes the boards and they have their boards made at Gold Phoenix. So does BatchPCB. That doesn’t mean that they use the exact same ‘rules’ for all SparkFun boards and BatchPCB board though.
thanks for the info. I hear batchPCB is great. I never used a PCB Fab. before. I hope my first time doesnt go bad heh :D
Sparkfun doesn’t use Gold Phoenix. Only Batchpcb does.
Well it was time well spent. I am making a code archive database / IDE for the StickOS. I know people want C but this StickBasic is just fine for all but the tightest applications. really though it can do it all.
i just found the footprint for adding the crystal.. where can i buy the suitable crystal and the pfs? (I have the lates version of the UBW32)
What a coincidence. My (now deprecated) DEV-08971 just arrived today.
Same here… I wish I knew… Nevertheless, great news!
Not sure if anyone noticed a typo:
“All of the 78(!) of the PIC32’s I/O pins are broken out. "
should be more like
"All 78(!) of the PIC32’s I/O pins are broken out. ”
The reason I do not use Microchip is the cost of a decent C compiler. AVR has a good C compiler, and FREE. Any recommendations, I am kinda attached to my arm and leg and do not want to give either up for a C compiler, or have to use cripple-ware…
You know, I hear this at least once a week. For some reason, there are a large number of people who believe that you have to pay for Microchip’s C compilers. This is NOT TRUE! I use the free versions every day, and they work great. They have free versions of C18 (for their 8-bit PICs), C16 (for their 16-bit PICs) and C32 (for the 32 bit PICs like on the UBW32). The latter 2 are GCC based. Are they as awesome as the relatively expensive Hi-Tech compilers? Nope. But Hi-Tech has free versions of it’s amazing compilers too. Lack of a C compiler is not a good reason to stay away from Microchip parts. Do I wish C18 were a better compiler? Hell-yah, twice over. But all of Microchip’s sample code works with their free versions, and works well.
The only thing ‘cripple-ware’ about Microchip’s free compilers is some extra optimizations are left out. Other than in one very rare circumstance related to a USB bootloader with C18 has this ever been a problem for me.
Don’t forget that it does CAN and Ethernet too !
(deleted – answered my own question).
Just a quick question @EmbeddedMan, maybe you would know if i can use this new ubw32 as a replacement in a project for an old one, like in pinout compatibility or something (Not planning to use CAN or Ethernet yet for my project)
Yes. The MX795 is source level compatible with the MX460. So you should re-compile your code. It is also pin compatible, I believe. It is not binary compatible, although it is close. The location of the UART registers are the only thing I know of right now that will prevent a binary built for the MX460 from failing on the MX795.
I just posted a quick port of StickOS to the UBW32 with PIC32MX7.
You can find a bootloader version at: http://www.cpustick.com/downloads.htm
Happy on-chip software development! :–)
— Rich
is there a way to get a Schematic of the old USB 32-Bit Whacker – PIC32MX460? I need to compare the pinout to see where things changed
Send me your e-mail address and I can send it to you. Because the two chips are so similar, I did not update the schematic symbol to the new part, so you’ll find there are no pinout differences.
Can the PICKit3 do source level debugging for this version of the UBW32?
Yes, I am using a PICKit3 with MPLAB v8.66 and programming/source debugging the new MX795 model.
OS: Windows 7 64-bit.
Yes, but everyone should be aware that the PICKit2 does NOT support the new MX795 CPUs. So you’ll need a PK3 or better to program/debug this new guy.
The ICD2 should be able to program the 795. I ordererd a PK3 before i knew…
I have a question and hope someone can provide the info:
I need to be able to drive 2 brushed DC motors with incremental encoder feedback. The motors draw about 1 amp each.
I want to use the PIC32MX795 Development Board to do that but I cannot do any hardware development and was wondering if someone can suggest: is there an H-bridge that plugs directly into this dev board’s PWM outputs and if there is a an opto-isolated encoder daughter board that can also be used by the PIC32MX795 Development Board.
This is a simple system but I cannot spend the money on industrial components that cost $100’s.
Thanks
I’m the proud owner of one of these dev boards and i’ve used it with great joy. Up untill now, I’ve powered the device through the USB connection but since I’m now using it to control my lego robot, I want to use the little white powersocket that is attached tot the board.
Problem is, and this might be a really stupid question, I don’t know what kind of connector it is and where I can get the plugcounterpart. Are they available on sparkfun?
this board say CPU runs at 80MHz but in the schematic appear 8Mhz??? Why is this…
@Assanchez -
Because it has a Phase Locked Loop (PLL) internally and the core freq can be set by software parameters to be via the PLL up to 80MHz – Pretty cool.
The Oscillator Freq (ie. 8Mhz) can be Divided before going to the PLL and the PLL can be Multiplied/Divided, so you can run at lower frequencies if you like = lower power drain
Hope that helps explain it (I know I was confused at first) :)
I havent had this much fun since I found a box of blasting caps near an old bridge. This uP is fast, lots of room for all kinds of data and code. the StickOS makes this a so simple thing to program. the IC/sp com code makes io a breeze.
thanks to all theose who have contributed.
Great that the version with the ‘MX795 came out. When is the plug in PHY board for Ethernet coming out? :O)
problem solved
RetroBSD is a port of 2.11BSD that run on the UBW32
http://code.google.com/p/retrobsd/wiki/Board_Sparkfun_UBW32
http://code.google.com/p/retrobsd/
MIPS developer’s blog: http://developer.mips.com/2011/08/06/about-retrobsd-a-port-of-bsd-unix-to-a-microchip-pic32-microcontroller/
Hi SparkFun,
I would like to buy only the UBW32 PCB (without any components) can you make me an offer ?
Best Regards
If you want, the design files are available on my UBW32 website, – you could have the board made at BatchPCB or any of the other PCB vendors out there.
*Brian
Am I being daft or can you not mount the Sparkfun recommended USB connector to the bottom and still plug the board into a solderless breadboard? It seems that the height of the USB type A plug is exactly the same as the commonly available .100" header pins. There isn’t enough room to hang the USB plug off the end of the breadboard either. I’m going to fire up the belt sander and see if I can remove some metal.
Nope, you’re not daft. Once you solder on any connector to the underside, you will not be able to mount to a breadboard unless you use longer pins. This is just the nature of putting connectors on the bottom of the board – it can’t really be helped.
*Brian
Could someone please give me a short example of how i can set a pin HIGH/LOW including the definitions.
define … …Pin assignment…
I’m trying to understand the LATE, LATEbits.LATE3, TRISE but i dont understand it.
If you have a link to an informative beginner website I’d be happy too.
Thanks!
I found it: for new useres this is a good place to start:
http://www.johnloomis.org/microchip/pic32/resources.html
Is there any hope of being able to pay a buck or so more and get one prepopulated with the crystal for RTC? You don’t carry the caps, I’m trying with the crystal, but on a breadboard it feels like it’ll be impossible to get the timings right, and I hate soldering SMD. If you’d build it, I’d buy it. A lot of them possibly. :)
UBW32 with PIC32MX460 and PIC32MX795 are supported by Pinguino project, that give you the power of a full open source gcc, with optimized code and easy way of Arduino language.
http://pinguino.cc