Mini Ultrasonic Levitation Kit Is An Exercise In Sound Minimalist Design

For those that haven’t heard, ultrasonic levitation is a process by which two or more ultrasonic transducers are set opposite to each other and excited in such a way as to create a standing wave between them. The sound is, as the name implies, ultrasonic — so outside the range of human hearing — but strong enough so that the small, light objects can be positioned and held fixed in mid-air where there’s a pressure minimum in the standing wave. [Olimex] has created a small ultrasonic levitation kit that exemplifies this phenomena.

The kit itself is made using through-hole components, with an ATTiny85 as the core microcontroller to drive two TCT40-16T ultrasonic speakers, and a MAX232 to provide a USB interface drives the transducers (thanks to the folks in the comments for the correction). Two slotted rectangular PCB pieces that solder connect to the main board, provide a base so that the device stands upright when assembled. The whole device is powered through the USB connection, and the ultrasonic speakers output in the 40KHz range providing enough power to levitate small Styrofoam balls.

The project is, by design, an exercise in minimalism, providing a kit that can be easily assembled, and providing code that can be easily flashed onto the device, examined and modified. All the design files, including the bill of materials, KiCAD schematics, and source code are provided under an open source hardware license to allow for anyone wanting to know how such a project works, or to extend it themselves, ample opportunity. [Olimex] also has the kit for sale for those not wanting to source boards and parts themselves.

We’ve featured ultrasonic levitation devices before, from bare bones system driven by a NE555 to massive phased arrays.

Neodriver Ornament Brightens Up Christmas

Stores will sell you all kinds of gaudy holiday ornaments, but there’s nothing like the style and class achieved by building your own. [w3arycod3r] did just that, whipping up the fun and festive Neodriver Ornament.

It’s a battery-powered build, and runs off an rechargeable 18650 cell which provides several days of operation at a low duty cycle. An ATtiny85 is charged with sending out commands to various NeoPixel devices, from rings to rectangular arrays. [w3arycod3r] then designed various PCBs that could carry the hardware and battery in a well-balanced package that would hang nicely when suspended from a ribbon on a Christmas tree.

As is always the fun part with addressable LEDs, [w3arycod3r] whipped up some fun animations to suit. The 5×5 rectangular arrays of NeoPixels are able to deliver scrolling text, while another animation blips out the RNA sequence of everyone’s least favorite coronavirus, SARS-CoV-2. Getting everything to fit into a ATtiny85’s 8 KB of code space and 512 byte EEPROM was a challenge, but slimming down the Adafruit NeoPixel library and using direct AVR register manipulation in place of regular Arduino functions helped.

Overall, it’s a fun holiday build that looks great on the tree. Alternatively, consider making yourself some rheoscopic ornaments this holiday season. And, if you’ve whipped up your own fun holiday build, throw it on the tipsline!

To Turn An ATtiny817 Into A 150MHz Counter, First Throw Out The Spec Sheet

One generally reads a data sheet in one of two ways. The first is to take every spec at face value, figuring that the engineers have taken everything into account and presented each number as the absolute limit that will prevent the Magic Smoke from escaping. The other way is to throw out the data sheet and just try whatever you want, figuring that the engineers played it as safely as possible.

The latter case seems to have been the motivation behind pushing an ATtiny way, WAY beyond what the spec sheet says is possible. According to [SM6VFZ], the specs on the ATtiny817 show that the 12-bit timer/counter D (TCD) should be limited to a measly 32 MHz maximum frequency, above which one is supposed to employ the counter’s internal prescaler. But by using a 10-MHz precision frequency generator as an external clock, [SM6VFZ] found that inputs up to slightly above 151 MHz were countable with 1-Hz precision. Above that point, things started to drift, but that’s still pretty great performance from something cobbled together on an eval board in a decidedly suboptimal way.

We’d imagine this result could lead to some interesting projects, since the undocumented limit for this timer puts it well within range of multiple amateur radio allocations. Even if it doesn’t prove useful, that’s OK — just seeing how far things can be pushed is cool too. And it’s not like this is the first time we’ve caught [SM6VFZ] persuading an ATtiny to do unusual things, either.

A 3d printed ghost next to the base of an LED tea light that has 4 LEDs poking out and the IR receiver port and micro-USB connector showing.

A Cold Light To Warm Your Heart

Halloween is coming fast and what better way to add to your Halloween ornamentation than [Wagiminator]’s cute NeoCandle tea light simulator.

[Wagiminator] has modified a 3D printed ghost along with extending [Mark Sherman]’s light simulation code to create a cute light that’s perfect for the holiday season. The NeoCandle uses an ATtiny85 chip to power four WS2812 NeoPixel jelly bean LEDs. The device has an infrared (IR) receiver to be able to control it from a remote that speaks the NEC protocol. There is a light sensor that allows the unit to dim when it detects ambient light and the whole unit is powered off of a micro-USB connection.

The ATtiny85 have limited program flash and [Wagiminator] packs in a lot of functionality in such a small package, squeezing in a bit-banging NeoPixel driver in only 18 bytes of flash that can push out a transfer rate 762 kpbs to update the LEDs. The pseudo-random number uses a Galois linear feedback shift register and comes in at 86 bytes of flash, with the IR receiver implementation code being the largest using 234 bytes of flash. The ATtiny85 itself has 8 KB of flash memory so maybe it’s possible to push [Waginminator]’s code to even more restrictive Atmel devices in the ATtiny family.

With microcontrollers and LEDs becoming so cheap and ubiquitous, making realistic flames with them is becoming accessible, as we’ve seen with previous projects on electronic candles.

Continue reading “A Cold Light To Warm Your Heart”

TickTag, a tiny GPS logger with 3d printed case, LiPo battery and a 1 Euro coin for size reference

Tiny GPS Logger For The Internet Of Animals

[Trichl] has created a tiny GPS logger, called ‘TickTag’, designed as an inexpensive location tracking option for animal studies. The low cost, tiny form factor, and large power density of the LiPo battery give it the ability to track large populations of small animals, including dogs and bats.

The TickTag is capable of getting 10,000 GPS fixes from its 30 mAh cell. Each unit is equipped with an L70B-M39 GPS module controlled by an Atmel ATtiny1626 microcontroller and sports a tiny AXE610124 10-pin connection header for programming and communication. GPS data is stored on a 128 kB EEPROM chip with each GPS location fix using 25 bits for latitude, 26 bits for longitude, and 29 bits for a timestamp. Add it all up and you get 10 bytes per GPS data point (25+26+29=80), giving the 10k GPS fix upper bound.

To record higher quality data and extend battery life, the TickTag can be programmed to record GPS location data using variable frequency intervals or when geofencing bounds have been crossed.

Continue reading “Tiny GPS Logger For The Internet Of Animals”

DIY Fume Extractor With ATtiny13 Speed Control

Let’s be honest, commercially-available soldering fume extractors are cheap enough that you probably don’t need to build one yourself. But it still makes for a good starter project, especially if you go out of your way to really flex your maker muscles like [Arnov Sharma] did with this tidy build.

All the hallmarks of modern hardware making are on display here — you’ve got the 3D printed enclosure, a motor salvaged from a cheap toy quadcopter, and a custom PCB which uses the ATtiny13 and an AO4406 MOSFET to implement a PWM speed control.

The first press of the button starts the motor off at max speed, but keep pushing it, and the motor’s speed will ramp down until it turns off entirely. There’s even a TP4056 charge controller to top off the internal 18650 cell when the fume extractor is connected to a USB power source.

Is it over-engineered? Perhaps. But projects like these are a great opportunity to practice your skills, whether it’s PCB design or creating bespoke 3D printed enclosures. In the era of cheap 32-bit microcontrollers, it’s also refreshing to see hackers still dragging the ATtiny from time to time.

Continue reading “DIY Fume Extractor With ATtiny13 Speed Control”

An ATTiny board that one of the students developed for this project, etched on single-sided FR4.

Electronics And C++ Education With An ATTiny13

When [Adam, HA8KDA] is not busy with his PhD studies, he mentors a group of students interested in engineering. To teach them a wide range of topics, he set out to build a small and entertaining embedded project as they watch and participate along the way. With this LED-adorned ATTiny13A project, [Adam] demonstrated schematic and PCB design, then taught C++ basics and intricacies – especially when it comes to building low-footprint software – and tied it all together into a real-world device students could take home after the project. His course went way beyond the “Hello world”s we typically expect, and some of us can only wish for a university experience like this.

He shares the PCB files and software with us, but also talks about the C++20 framework he’s developed for this ATTiny. The ATTiny13A is very cheap, and also very limited – you get 1K of ROM and 64 bytes of RAM. This framework lets you make good use of it, providing the basics like GPIO wiggling, but also things like low-power operation hooks, soft PWM with optional multi-phase operation support and EEPROM access. Students could write their own animations for this device, and he includes them in the repo, too!

In educational projects, it pays to keep code direct and clean, cruft-less and accessible to students. These are the things you can only achieve when you truly understand the tools you’re working with, which is the perfect position for teaching about them! [Adam] intends to show that C++ is more than suitable for low-resource devices, and tells us about the EEPROM class code he wrote – compiling into the same amount of instructions as an Assembly implementation and consuming the same amount of RAM, while providing compile-time checks and fail-safe syntax.

We’ve talked about using C++ on microcontrollers before, getting extra compile-time features without overhead, and this project illustrates the concept well. [Adam] asks us all, and especially our fellow C++ wizards, for our opinions on the framework he designed. Could you achieve even more with this simple hardware – make the code more robust, clean, have it do more within the limited resources?

What could you build with an ATTiny13, especially with such a framework? A flashy hairclip wearable, perhaps, or a code-learning RF-remote-controlled outlet. We’ve also seen a tiny camera trigger for endurance races,, a handheld Flappy Bird-like console, and many more!