There has recently been a huge influx of extremely small dev board based on the ATtiny85. This small 8-pin microcontroller is able to run most Arduino sketches, and the small size and low price of these dev boards means they have been extremely popular. The Digispark was among the first of these small boards, and now the creator is releasing a newer, bigger version dubbed the Digispark Pro.
The new board isn’t based on the ‘tiny85, but rather the ATtiny167. This larger, 20-pin chip adds 10 more I/O pins, and a real hardware SPI interface, but the best features come with the Digispark Pro package. There’s real USB programming, device emulation, and serial over USB this time, and the ability to use the Arduino serial monitor, something not found in the original Digispark.
There are also a few more shields this time around, with WiFi and Bluetooth shields available as additional rewards. Without the shields, the Digi Pro is cheap, and only $2 more per board than the original Digispark.
Deep in the Colorado foothills, there are two radio transmitters that control the time on millions of clocks all across North America. It’s WWVB, the NIST time signal radio station that sends the time from several atomic clocks over the airwaves to radio controlled clocks across the continent. You might think replicating a 70 kW, multi-million dollar radio transmitter to set your own clock might be out of reach, but with a single ATtiny45, just about everything is possible.
Even though WWVB has enough power to set clocks in LA, New York, and the far reaches of Canada, even a pitifully underpowered transmitter – such as a microcontroller with a long wire attached to a pin PWMing at 60kHz – will be more than enough to overpower the official signal and set a custom time on a WWVB-controlled clock. This signal must be modulated, of course, and the most common radio controlled clocks use an extremely simple amplitude modulation that can be easily replicated by changing the duty cycle of the carrier. After that, it’s a simple matter of encoding the time signal.
The end result of this build is an extremely small one-chip device that can change the time of any remote-controlled clock. We can guess this would be useful if your radio controlled clock isn’t receiving a signal for some reason, but the fact that April 1st is just a few days away gives us a much, much better idea.
Atmel’s ATtiny10 is their smallest microcontroller in terms of physical size – it’s an SOT-23-6 package, or about the same size as surface mount transistors. The hardware inside this extremely bare-bones; three I/O lines, 1kB of Flash, 32 bytes of RAM, and a reduced AVR core with 16 registers instead of 32. With such a minimal feature set, you would think the only thing this micro would be good for is blinking a LED. You’d be right, but [cpldcpu] can blink a LED with the ‘tiny10 over USB.
The V-USB interface usually requires about 1.5kB of Flash in its most minimal implementation, and uses 50 bytes of RAM. This just wouldn’t do for the ‘tiny10, and although [cpldcpu] is working on a smaller, interrupt-free V-USB, there were still some hurdles to overcome.
The biggest issue with putting code on the ‘tiny10 is its reduced AVR core – on the ‘big’ 32-register core, direct memory access is two words. On the ’10, it’s only one word. AVR-GCC doesn’t know this, and no one at Atmel seems to care. [cpldcpu] worked around this problem using defines, and further reduced the code size by completely gutting V-USB and putting it in the main loop.
It’s not much, but now [cpldcpu] can blink an LED with a ‘tiny10 over USB. If you’re wondering, 96.4% of the Flash and 93.8% of the SRAM was used for this project.
[Karl] was in need of a hardware random number generator, but is needs had a few caveats: it needed to be cheap, and sufficiently random. Random number generation can get quite crazy with Geiger tubes, lava lamps, and radioactive decay, but a much smaller solution was found in an 8 pin AVR microcontroller.
The solution uses AVRentropy, a library that uses the watchdog timer’s jitter in AVR microcontrollers to provide cryptographically secure random numbers. Setting up the circuit was easy – an ATtiny45 microcontroller was connected to a cheap chinese USB to serial converter. Three wires, and the circuit is complete. The code was simple as well; it’s just a call to initialize the entropy and write the bits to the serial port.
There are a few drawbacks to this build. Because the entropy library must wait until enough entropy is gathered, it can only produce about two 32-bit numbers per second. That’s all [Karl] needed for his application, though, and with an enclosure made from a wine cork and marble, he has the prettiest and smallest random number generator around.
[Tyson’s] family went with creating rather than buying Christmas presents last month, which gave him the opportunity to build some electronic fireflies for gifts. He drew inspiration from a similar firefly project we featured last year, but expanded on the original model by designing dedicated PCBs and housings for each of his firefly pieces.
Although he’d settled on using ATTiny85’s for this project, [Tyson] was fresh out of through-hole versions. He decided to skip the prototyping phase and go right for fabrication, cranking up the laser-jet printer for some toner-transfer, which successfully produced 4 functioning boards (and 3 failures). The fireflies were [Tyson’s] first attempt at SMD soldering, and we’d have to say it’s a job well done; he reflowed each board with a cheap-o heatgun from Harbor Freight.
After some hiccups with fuse programming, [Tyson] got the code uploaded and the fireflies illuminated. Swing by his site for the nuts and bolts on construction, then snag the project files here. (Direct .zip download)
We’ve seen a lot of Trinket builds over the past few months, but so far few people have capitalized on the Trinket’s minimalism. It’s a fairly simple circuit, as far as dev boards go, and with careful planning can be built entirely on perfboard. That’s what [villeki] did, with a project he calls Shrinket.
After looking at the schematic for the Trinket, [villeki] figured he could best the very small footprint of this ATtiny85 board. To do this, he mounted the uC on the bottom side of the board, bending the pins so they could be easily soldered to the pins. The only real challenge in building this tiny board was the USB connector. To fit this connector on board, the copper pads were carefully scraped off the protoboard and wires run to the zeniers.
The Shrinket is impressively small – only 0.6″x 0.9″ – and a very impressive example of soldering skills. If you’re looking for a project to hone your free-form soldering skills, this is a great way to spend an hour or two. Bonus, you probably already have the parts required (or a reasonable substitute) sitting around.
[ZigZagJoe’s] first foray into astrophotography is this impressive AVR barn door tracker, which steps up his night sky photo game without emptying his bank account. If you’ve never heard of astrophotography, you should skim over its Wikipedia page and/or the subreddit. The idea is to capture images otherwise undetectable by the human eye through longer exposures. Unfortunately, the big ball of rock we all inhabit has a tendency to rotate, which means you need to move the camera to keep the night sky framed up.
Most trackers require precision parts and fabrication, which was out of [ZigZagJoe’s] grasp. Instead, he found a solution with the Cloudbait Observatory model, which as best as we can tell looks vaguely similar to the tracker we featured last year. Unlike last year’s build—which uses an ATmega32u4 breakout board— [ZigZagJoe’s] tracker uses an ATTiny85 for the brains, running a pre-configured table that determines step rate against time.
Continue reading “AVR Barn Door Tracker for Astrophotography”