Fabio 1.1 board update
I first started fooling around with the Fabio 1.1 microcontroller board from makeyourbot.org because it was a small board with very tight traces that I could use to test the Mantis 9.1 mill that I built. Plus, it was right there on the same site.
After cutting and soldering up a few I’ve become intrigued with it as a very minimalist Arduino-compatible microcontroller. The component cost is only $6-7 per board, and it’s an Atmega 168. So, I’ve been fiddling with it as a way of learning a little more about arduino-compatible microcontrollers.
Initial corrections: there are some problems with the info at http://makeyourbot.org/fabio-1-1.
First, the xls file for the Bill of Materials lists a 499 ohm resistor for R1 and R2. This is the correct resistance for those LED resistors, but the cat # given is
RK73H2BTTD4992F, which is actually a 49.9 k resistor. It should be
Also, you may notice that R4 (10 k) is not shown on the parts layout diagram. There are pads for it though, just below the ones for C6. This resistor just ensures that the Reset pin on the 168 stays high (until you connect it to ground with the reset button to reset the chip.)
Once I got a couple of them soldered up, I noticed a couple of peculiarities about the board. First of all, the power must be supplied through the FTDI serial header. The 6 pin ISP header does not supply power; the vcc pin is not connected. Likewise, the reset pin on the ISP also is not connected. These two omissions appear to have been necessary to maintain the simplicity (and cheapness!) of a fab-able, one-sided, no-through-hole board.
ISP note: if the ISP header had a plastic shield around it, the notch in it would have been at the top of the 2×3 block as you hold the board in a readable position. So the bottom 3 pins are Ground, MOSI, Vcc (not connected) and the top three are Reset (not connected), SCK, and MISO.
From left to right, the 1st and 3rd pins of the FTDI header are gnd and vcc respectively.
Supplying power through those pins, I was able to hold the reset button down and ping the board through avrdude with avrdude -c usbtiny -p m168 and release the button right when I hit enter, which got a response from the chip.
The next thing to figure out is how to write a bootloader for it. The issue is that other 3.3v, 8mhz bootloaders for the 168 all set the fuses for an external oscillator. The Fabio 1.1 uses the chip’s internal clock. So I’ve got to get the uncompiled bootloaders and get straight on the syntax, then recompile one for the internal clock.
That’s if I want to make it compatible with the arduino IDE, which I do.