Skip to main content

USBmicroISP: The Beginning Steps of Dev

USBmicroISP v1.0:  The Beginning Steps of Dev

I like small things.  I don't know why.  It's something about slimness, minimal living I guess.  I drive a Honda Civic, yes.

To develop for a micro-scale, wearable electronics project, you have got to have a smaller USBtinyISP programmer.  Take the guts of that ISP (in-circuit serial programmer) project (props to the original devs there) and put them in this amazingly small box?

Don't you just want to put something in there?
Just imagine if small things weren't a thing. You'd be wearing THIS:

Stacked, large circuit boards on a big Arduino Uno.
Do not try to wear this at home, kids.
Oh, the HORROR.

Anyways... Here's my re-design that is mostly based off Adafruit's USBtinyISP and USB tiny code & design.  I just wanted to...ah... improve it a bit.  

The Design

Smaller, uses micro USB instead of large printer one, and looks cool, too.  The design is mostly reduced to SMD components, which presents the programming problem:  how do you get the programming code on the programmer (program the chicken)?  I've got a few tricks up my sleeve (such as this one). ;)  Essentially, solder our SPI+PWR jumper wires from a FTDI board to the completed programmer, then remove the wires after verifying that it programs a target.  If I was mass producing, I'd use pogopins and pads on the programmer board.

Features (mostly new):

  • Micro USB connection to PC
  • SMD components, mostly
  • Very small form factor (35x35x15 mm)
  • 10-pin and 6-pin AVR programming cable headers
  • Buffered SPI programming to target
  • Removable jumper to utilize target power (if not using 5V target)
  • Red busy LED and Green USB good LED

The schematic: USBmicroISP v1.0
Schematic of USBmicroISP v1.0

The board layout: USBmicroISP v1.0

Top layer of board layout.

Bottom layer of board layout.




Caveats

Assembly is a bit tougher given the SMD parts, and not-so-easy programming.  Also, there is a bit of mechanical work to be done to the case: drilling and cutting the plastic for the micro USB, the cables, jumper and LEDs. Since the case is translucent, you could not drill holes in the top for the LEDs. Perhaps arguably a better product and cheaper parts, but more expensive on the assembly.

Assembly post to come once the OSHPARK order arrives!
OSHPARK order confirmation of 9 USBmicroISP boards for $21.


Once I'm done I'll have quite a few programmers to get started with, and maybe to sell.

Adios, muchachos!
~JWilly






Comments

Popular posts from this blog

Update to USBmicroISP: 6pin and 10pin headers

Actually using my USBmicroISP with microcontrollers other than Arduino Uno's led me to fix a udev rule issue with my Gentoo Linux laptop.  I was getting Permission Denied when I was trying to use avrdude as a normal user.  Yes, my user is part of the 'uucp' group... Background Some background on the Arduino ISP connector.  It is much different than the 10-pin AVR connector... 6-pin ICSP cable pinout.  NOTE: Numbers refer to ATtiny45/85 pins, not ICSP! Arduino ISP pinout. Notice the vertical line next to pin 1, which appears in silkscreen on the PCBs. Redboard ISP pinout.  Obviously the same as UNO.  Notice pin 1 location on upper-left, with horizontal white silk. My USBmicroISP has the cables coming off the IDC differently, but the key is in the correct orientation to the pinout in the top picture! (Please disregard numbering on first picture for ICSP purposes)  Usually the key and wires are facing inward (left side on 2nd and 3rd ...

Harvey Barnstead SterileMax Retrofit

I recently did up a replacement controller PCB for a customer who was having runtime issues.  The replacement PCB and firmware exactly replaces the old 68k controller system.  It is a drop-in replacement with exactly compatible connectors, power supply, and input and output signalling. The SterileMax was a prolific autoclave, and can economically fulfill your needs. If you have this version or similar, you can use my replacement. The replacement PCB is MUCH smaller than the OEM. Replacement controller for the PC1277X1, top-side. The PCB is about 1/3 the size of the original.  It helps to not use any DIP parts. Schematic for the controller. If you're interested in this design or a slightly modified version for your sterilizer, comment below and I can hook you up. The main issue this solved was over-pressure in the chamber during a run.  The NVSRAM's battery died and it lost all the configuration data.  Once this happened the system w...

squashmount and aufs: Small footprint and high performance

Squashmount and aufs: Gentoo on tiny 4GB root! I came across a post about "squashing" certain directories on a Gentoo install (portage tree, portage db, /usr/src/, etc) much like those minimal-install-cd's use!  AuFS is an improved "union" filesystem.  I don't understand it all, but as a hardware engineer it's kinda like having a dual-port memory (I think).  Given that many of the directories I want to squash also contain many, many tiny files, mashing them all together increases performance on disk reads (supposedly). My Eee PC 901 still functioning... I was intrigued as my little netbook has its SDcard slot occupied for quite some time with a 32GB card for the /usr directory (2GB swap space as well!).  I wanted to change that.  I wanted to see if I could actually use my netbook as an " ultra-portable internet-connected enduring-battery system..." and happen to run a really snappy source distro!   The technique requires a very...