05/26/2015 at 19:18 •
The Rev 1.1 boards arrived a few weeks ago, but I have been too busy with other projects to update this log. Well, here we are now.
The new boards are pretty much perfect: the only error remaining is that the crystal's silkscreen is rotated 90 degrees from what it should be (you can see this in the image; the crystal is positioned with the long side vertical, whereas on the silk screen the long side is horizontal).
At this point I can solder one of these guys up in just about 30 minutes... not bad at all for a toothpick + heat gun job. :-)
The soldered board is shown below. Enjoy!
04/14/2015 at 17:40 •
I panelized UBBB32u4 Rev 1.1 on my bench power supply PCB order last week. I hope for them to arrive early in May.
The UBBB (plus power supply) boards can be ordered from Dirty PCBs.
The board image is below:
03/04/2015 at 22:58 •
We have pretty much finalized the changes to Rev 1.1. In addition to the gerber bugs mentioned in previous logs, we have made the following changes:
- Enlarged text for easier readability
- Improved the mounting holes
- Added an optional TVS diode on the I2C lines (I have managed to kill the I2C lines on AVRs in the past, and I suspect ESD damage... apparently these lines are more susceptible to ESD than other pins)
- Minor routing improvements
The updated board can be seen below:
I am planning on batching this on my next PCB order (which will likely be for my power supply boards)
01/09/2015 at 16:31 •
Yesterday my 16MHz resonator finally arrived, so last night I soldered up the first UBBB 32u4 board. The SMD stuff was easy enough (took about 30 minutes). Trying to fix that stupid ground plane bug was much harder (took over an hour) - I ended up using a very thin wire from a through hole resistor that would fit inside the vias. I would then tin the lead, push onto the via (from the back of the board), and let the wire get soldered in the middle. I would then bend the wire over to the next closest GND via, and repeat. There are at a minimum 5 vias that must be done like this (diagram viewed from the front, with required GND vias circled in blue):
After getting everything soldered up and verified with my multimeter, I plugged it into the computer... and nothing. AVR Dude was showing invalid device signatures:
avrdude: initialization failed, rc=-1 avrdude: AVR device initialized and ready to accept instructions avrdude: Device signature = 0x000000 (retrying) avrdude: Device signature = 0x000000 (retrying) avrdude: Device signature = 0x000000 avrdude: Yikes! Invalid device signature. avrdude: Expected signature for ATmega32U4 is 1E 95 87
By this time it was after midnight, so I went to bed.
The next morning I woke up early and checked continuity on everything again; this time checking from the actual chip to the destination (in my case, the ISP headers). Sure enough, the SCLK pin on the ISP was not touching the pad properly. I added a bit more solder onto that pad, and I got 'make readfuse' to work!
I ran into another problem when trying to write the fuses, but it turns out that the u4 chips come with the fuses locked, and you need to do a full chip erase (-e flag) before writing fuses. See this post which got me pointed in the right direction here.
I then uploaded my blinkylights program, and sure enough, the blue light (B4) started flashing at 0.5Hz as specified. The chip looks to be working!
Next I downloaded LUFA, modified the DFU bootloader to use the lights on this board, and flashed the custom DFU bootloader.
Finally, I uploaded the blinkylights program again, but this time using dfu-programmer. Sure enough, it still works.
For those who have ordered their own PCBs for this board, you can download the sample program + custom bootloader from GitHub.
Pictures of the front (reasonably pretty, with the exception of the slightly tilted LED and some flux) and back (hideously ugly hack) are below:
At this time I am going to declare the UBBB 32u4 a success. Yes, there are some bugs on the rev 1.0 board, but they are well underway to being fixed in rev 1.1, and even with the bugs, you can still work around them and have a working 32u4 dev board. (And from now on, I am going to be even more OCD when checking the final panelized boards in KiCad... if anyone knows of a way that you can panelize a board in KiCad and still use DRC and such to verify the boards (even though there may be multiple boards with the same net names), please let me know.
01/07/2015 at 02:47 •
The Rev 1.0 boards arrived today. There are a couple of other bugs which I can now see, which I have resolved in the Rev 1.1 model:
- Solder mask covering the rear of the ISP headers
- Enlarged the mounting holes a bit (two-fold purpose: to let them accept a \#4 screw, and to get rid of the scraggly edge that was left behind when the fab house didn't cut quite as deep into the edge as I had thought they would)
I am still planning on soldering up one of the AVR boards (with appropriate jumpers to fix the broken ground plane), but I need to wait for some more components to come before I can do that (specifically, a high accuracy SMD resonator and some 1k resistors)
The LED breakout board is working well, at least once I put a small jumper between VCC LED pad and VCC pin (lesson learned: do not modify a board after it has been added to a panelized project, since you can no longer run DRC against it). You can see the jumper right beside the red light in the picture below.
(Showing three of the lights on. Sorry for the horrible quality iPhone picture!)
01/06/2015 at 19:09 •
We have still not received our boards yet, but someone else has ordered their own copy, and has reported that there are some bugs in the rev 1.0 version. The most glaring issue is the lack of GND flood fill on the back of the board (the zone is there, but had been reset at some point before ordering). This means that we will have to dead-bug 6 wires between vias on the back to get things working properly. Boo!
A rev 1.1 board is well underway with the following changes (see git for details):
I'm not going to order this new board until I get my original PCB order (hopefully this week), and have verified that everything else is working as it is supposed to.
- Actually fill the GND plane this time (gah!)
- Use a crystal + caps instead of a resonator. While I believe that we have selected a resonator that will work with USB, apparently crystals make for more stable USB communications.
- Add more decoupling caps (we now have one 0.1uF for each VCC / AVCC pin, with a 1uF on UVCC).
- Fixed the LED footprint to use some dirt-cheap RGB LEDs from eBay rather than the more expensive Cree LED (same footprint, but different pinout). See http://www.ebay.ca/itm/330833693803?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649 for the LEDs which we are now using.
11/27/2014 at 21:28 •
We just ordered the PCBs today. Included on the same board are a number of other breakouts. See the DirtyPCB Store link for ordering info and breakout details.
The dirty rendering of the board is below: