Export Restrictions

This product has some level of export control/restriction, so may be delayed when shipping outside the US. Contact us with questions, or we will contact you after you place your order.

Creative Commons images are CC BY-NC-SA 3.0

39.95

added to your
shopping cart

quantity
Out of stock Out of stock
39.95 1+ units
35.96 10+ units
31.96 100+ units

This product is produced in-house by SparkFun. We are currently planning to build 0 units.

We do not currently have an estimate of when this product will be back in stock.

Notify Me

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:

  • PIC32MX795
  • 128KBytes of RAM
  • 512KBytes of Flash
  • 78 usable I/O pins
  • CPU runs at 80MHz
  • USB Bootloader

Documents:

Replaces: DEV-08971

Comments 55 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.

  • I’m looking to make a DIY ARM based laptop, and I’m wanting to use a laptop keyboard and mouse (the little dot), as well as monitor battery levels. Would I be able to configure this to act as a HID mouse and keyboard, as well as something to report battery levels to the OS via USB?

  • Hey All,

    I bought the UBW32 from sparkfun and I was trying an example after I downloaded and installed MPLAB IDE ,C-32 Compiler and Microchip Solutions. Now I am trying to upload the code via the HID bootloader, but when for example I upload HelloUSBworld code, it uploads and when I reset the device it does not work. Can you please help me? are there any step by step instructions how to set the settings in the mplab ide. I used http://www.schmalzhaus.com/UBW32/doc/How-To%20Compile%20Projects%20for%20the%20UBW32.pdf but still cannot work properly.

    • Please let me know at my e-mail address brian@schmalzhaus.com if you are still having trouble and I can walk you through the process.

      *Brian

  • I wish to ask you guys some questions about the 32-bit whacker, does it need a programmer such as pic kit ? or it can work with the USB and download the code to the PIC?

    • The UBW32 does NOT need a separate programmer hardware. There is a free application (HIDBootloader.exe) that you can download from the UBW32 website that will allow you to send a new HEX file over to the UBW32 via USB.

      *Brian

  • This is a great product! I have both the MX460 and MX795 versions.

    I needed a logic analyzer and made one with the MX795 board and OpenBench LogicSniffer, CoreTimer is a great MIPS core feature!

    By the way, procdefs.ld should be updated as MX795 has more ram…

    • Dizzy, you are absolutely correct on all fronts. I’ll try to separate out MX795 and MX460 projects with updated procdfs.ld files soon. Thanks-

  • If you are upgrading from 460 to 795, don’t forget to setup compiler parameters for new config, mplabx do not copy them (I spent a week figuring out why is usb host not working only to see that no heap was allocated in ld settings)

  • Do I need the windows driver to get this working? I can’t install it in my computer.

    Do I need a driver if I am using the HIDbootloader.exe

    • Do do the bootloading, you will not need a driver (because it is a HID device and all OSes have HID drivers already). But if you run the stock firmware, it will want to enumerate as a CDC ACM serial port, and you can get the .inf file for that here : http://www.schmalzhaus.com/UBW32/FW/UBW32inf.zip

  • 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

    • And both UBW32s are supported under the MPIDE (chipKIT Arduino fork) environment as well. They’re very useful boards when you need more permanent access to the pins than with a chipKIT UNO32 or MAX32 board. *Brian

  • 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. :)

  • Could someone please give me a short example of how i can set a pin HIGH/LOW including the definitions.

    • define … …Pin assignment…

    • set it to high
    • set it to low

    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

  • 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

  • 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

  • RetroBSD is a port of 2.11BSD that run on the UBW32
    http://code.google.com/p/retrobsd/wiki/Board_Sparkfun_UBW32

  • problem solved

  • Great that the version with the ‘MX795 came out. When is the plug in PHY board for Ethernet coming out? :O)

  • 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.

  • 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’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?

  • 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

  • Can the PICKit3 do source level debugging for this version of the UBW32?

    • 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.

    • Yes, I am using a PICKit3 with MPLAB v8.66 and programming/source debugging the new MX795 model.
      OS: Windows 7 64-bit.

  • 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.

  • 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

  • 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.

  • Don’t forget that it does CAN and Ethernet too !

  • 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.

      • Would you recommend the C32 compiler or the free Hi-tech one?

        • I use C32 exclusively (the free version). I’ve heard lots of great things about Hi-Tech though. But now that Microchip owns both, they’ve merged them and created XC32, which is a very good compiler (complete C++ support). The UBW32 code is all written with C32, but should be usable in XC32 with very few changes. The free version of XC32 is not limited in any way except you can’t use -O2 or -O3 (they give you -O1 for free).

  • 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. ”

  • Same here… I wish I knew… Nevertheless, great news!

  • What a coincidence. My (now deprecated) DEV-08971 just arrived today.

  • 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

      • 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)

      • 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.

      • 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.


Related Products