https://stkwans.blogspot.com/2013/05/yet-another-rocketometer.html
The Arduino Leonardo can effectively be thought of as an Arduino on a
chip, except that an Arduino pretty much already is one chip. What makes
a Leonardo special is that its core is an ATMega32U4, which has a USB
port. The chip can be programmed as normal over ISP, and once it is
programmed with the appropriate Arduino bootloader, it can be programmed
over the USB port. The Arduino library for Leonardo also supports using
the USB as a CDC serial port, and has much other USB support.
The chip only runs at 8MHz. It can run at 16MHz at 5V, but I am planning
on running it in the Rocketometer, which only has 3.3V available, which
limits the chip to the aforementioned 8MHz.
Now how do I think I can get away with this? Simple: Even with the
LPC2148 running at 60MHz, it was spending most of its time waiting for
the bits to crawl across the I2C and SPI buses. And how much can we
optimize a busy wait loop?
I bought a Leonardo to practice with, and a Sparkfun Pro Micro to
practice some more, especially programming the bootloader. I will not be
using the 6-pin ISP header on the Rocketometer, but I got the great
idea to use the MicroSD sniffer to get at the SPI signals through the
Rocketometer MicroSD slot, and I can just hold down the reset button, or
solder one wire to the contact of the Reset switch - which reminds me, I
should put the solder bridge on the top side of the reset switch. In
that case, I can use the solder bridge itself as a temporary terminal,
solder a wire to it long enough to program, connect the rest of the SPI
signals to the microSD sniffer, then program it with an ArduinoISP.
While I was at it, I also designed a Precision clock around this new
chip. It doesn't need a hardware UART to program or talk to the host
computer, so no FT232 and no multiplexer is needed. The chip has more
pins, so this design doesn't use literally every single possible pin
(those two ADC-only pins don't count, since they are not possible to use
in this project).
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.