Screenshot of debugging the Wokwi Arduino simulator

Digging Into An ATtiny Simulator Bug With GDB

Being able to track down a bug in a mountain of source code is a skill in its own right, and it’s a hard skill to learn from a book or online tutorial. Besides the trial-by-fire of learning while debugging your own project, the next best thing is to observe someone else’s process. [Uri Shaked] has given us a great opportunity to brush up on our debugging skills, as he demonstrates how to track down and squish a bug in the Wokwi Arduino simulator.

A user was kind enough to report the bug and include the offending Arduino sketch. [Uri]’s first step was to reduce the sketch to the smallest possible program that would still produce the bug.

Once a minimal program had been produced, it was time to check whether the problem was in one of the Arduino libraries or in the Wokwi simulator. [Uri] compiled the sketch, loaded it onto a ATtiny85, and compared the behavior of the simulator and the real thing. It turns out the code ran just fine on a physical ATtiny, so the problem must have been in the Arduino simulator itself.

To track down the bug in the simulator, [Uri] decided to break out the big gun—GDB. What follows is an excellent demonstration of how to use GDB to isolate a problem by examining the source code and using breakpoints and print statements. In the end, [Uri] managed to isolate the problem to a mis-placed bit in the simulation of the timer/counter interrupt flag register.

If you’d like to see more of [Uri]’s debugging prowess, check out his dive into an ATtiny’s write protection and configuration fuses. If you’ve been wowed by the power of GDB and want to learn more, check out this quick tutorial!

Continue reading “Digging Into An ATtiny Simulator Bug With GDB”

Sparkpad Sparks Joy For Streamers

The best streamers keep their audience constantly engaged. They might be making quips and doing the funny voices that everyone expects them to do, but they’re also busy reading chat messages aloud and responding, managing different scenes and transitions, and so on. Many streamers use a type of macro keyboard called a stream deck to greatly improve the experience of juggling all those broadcasting balls.

Sure, there are dedicated commercial versions, but they’re kind of expensive. And what’s the fun in that, anyway? A stream deck is a great candidate for DIY because you can highly personalize the one you make yourself. Give it clicky switches, if that’s what your ears and fingers want. Or don’t. It’s your macro keyboard, after all.

[Patrick Thomas] and [James Wood] teamed up to build the perfect stream deck for [James]’ Twitch channel. We like the way they went about it, which was to start by assessing a macro pad kit and use what they learned from building and testing it to design their ideal stream deck. The current version supports both the Arduino Pro Micro and the ESP32. It has twelve key switches, a rotary encoder, an LED bar graph, and an OLED screen for choosing between the eight different color schemes.

If you’d rather have dynamic screens instead of cool keycaps, you can do it cheaper by making non-touch screens actuate momentaries.

Etch-a-sketch made with LEDs

RGB LED Matrix Helps Etch-a-Sketch Scratch Out A 21st Century Existence

We never did crack open our Etch-a-Sketch, but we did scrape out a window large enough to really check out the mechanism inside. [MrLangford] is bringing the Etch-a-Sketch into the 21st century while at the same time, bringing an even bigger air of mystery, at least for the normies.

Instead of scraping aluminum powder off of plastic by driving a stylus on an x-y gantry with a pair of knobs, this bad boy uses rotary encoders to move the cursor around and put down squares of colored light. The familiar movements are there — the left knob moves the cursor left and right, and the right knob moves it up and down. But this wouldn’t be a 21st century toy without newfangled features. Push the left encoder down and it cycles through eight color choices, or push the right one down to go through them backwards. We hope one of the colors is setting it back to darkness in case you screw up. And while we’re dreaming up improvements, it would be awesome to add an accelerometer so you could shake it clear like a standard Etch-a-Sketch.

Inside the requisite red enclosure with white knobs are an Arduino Nano and a 16×16 RGB LED matrix. The enclosure is four sheets of 6mm MDF glued together, and we like the use of protoboard to distribute GND and 5 V in the name of keeping the thing slim.

If you’re not much of an artist, here’s a TV-sized Etch-a-Sketch build that can draw by itself.

flow IO module options

Get Your Flex On With The FlowIO Platform

Hackaday Prize 2021 entry FlowIO Platform promises to be to pneumatics what Arduino is to Electronics. The modular platform comprises a common controller/valve block, a selection of differently sized pumps, and a few optional connectivity and sensing blocks. With Arduino software support as well as as Javascript and web-GUI, there’s a way to program this no matter what the level of experience the user has.

flowIO exploded view
flowIO exploded view from http://www.softrobotics.io/flowio

This last point is a critical one for the mission [Ali Shtarbanov] from the MIT Media Lab is setting out for this project. He reminds us that in decades gone by, there was a significant barrier to entry for anyone building electronics prototypes. Information about how to get started was also much harder to by before the internet really got into gear.

It’s a similar story for software, with tools like Scratch and Python lowering the barrier to entry and allowing more people to get their toes wet and build some confidence.

But despite some earlier work by projects like the Soft Robotics Toolkit and Programmable-Air, making a start on lowering the bar for pneumatics support for soft robotics, and related applications, the project author still finds areas for further improvement. FlowIO was designed from the ground-up to be wearable. It appears to be much smaller, more portable and supports more air ports and a greater array of sensing and connectivity than previous Open Source work to date.

Creative Commons Hardware

Whilst you can take all the plans (free account signup required) and build yourself a FlowIO rig of your very own, the project author offers another solution. Following on from the Wikipedia model of free sharing and distribution of information, FlowIO offers its hardware for free, for the common good. Supported by donations to the project, more hardware is produced and distributed to those who need it. The only ask is that redundant kits are passed on or returned to base for upgrade, rather than landfill.

Continue reading “Get Your Flex On With The FlowIO Platform”

DIY Handheld Game Puts Its Brains On A Removable Cart

Over the years we’ve seen plenty of homebrew handheld game systems that combine an AVR microcontroller, a few buttons, and an small OLED display. Some of them have even been turned into commercial products, such as the Arduboy. They’re simple, cheap, and with the right software, a lot of fun. But being based on an MCU, most of them share the same limitation of only being able to hold a single game at any one time.

But not the Game Card, by [Dylan Turner]. This handheld was specifically designed so that games could be easily swapped out using physical cartridges. But rather than trying to get the system’s microcontroller to boot code from an external flash chip, the system relocates the MCU to the removable cartridge. That might seem a bit overkill, but given how cheap the ATTINY84A on each cartridge is, it’s not exactly going to break the bank.

With the microcontroller on the cartridge, the only hardware that stays behind on the Game Card is the SSD1306 128×64 OLED display, buttons, and the battery. That means the handheld is effectively non-functional unless a game is slotted in, but that could be said of most early cartridge-based game systems as well. On the other hand, it also opens up the possibility of producing cartridges with more powerful microcontrollers down the line.

Using a different microcontroller for each game is a neat hack, but it’s not the only solution to the problem. We previously saw a community effort to add expandable storage to the Arduboy in the form of a DIY cartridge, which ultimately led to the development of an official flash chip upgrade for the handheld.

Continue reading “DIY Handheld Game Puts Its Brains On A Removable Cart”

Touchscreen Makes For A Neat Wavetable Synth

A popular tool in chiptune software like LSDJ allows the user to draw a waveform and use it as the basis for a wavetable synth. It’s fun and it can produce some great bleeps and bloops. [Kevin] has created a similar tool using an Arduino and a touchscreen.

You can draw the waveform! That’s neat.

The build is based on the Arduino Uno, the humble mainstay of the Arduino line. It’s hooked up to an ILI9488 color touchscreen display, which acts as the primary user interface. Using a stylus, or presumably a finger, the user can draw directly on the screen to specify the desired waveform for the synth to produce. The Arduino reads the step-by-step amplitude values of the drawn waveform and uses them to synthesize audio according to MIDI messages received over its serial port. Audio output is via PWM, as is common in low-cost microcontroller projects.

It’s a fun build and we’re sure [Kevin] learned plenty about wavetable synthesis along the way. We’ve seen his work on other Arduino synthesis projects before, too! Video after the break.

Continue reading “Touchscreen Makes For A Neat Wavetable Synth”

USB Mouse Hack For Pachyderm Protection

When most of us think of seismometers, our minds conjure up images of broken buildings, buckled roads, and search and rescue teams digging through rubble. But when [Subir Bhaduri] his team were challenged with solving real world problems as frugally as possible as part of the 2020 Frugal Science course, he thought of farmers in rural India for whom losing crops due to raiding elephants is a reality. Such raids can and have caused loss of life for humans and elephants alike. How could he apply scientific means to prevent such conflicts, and do it on the cheap?

Whether inspiration came from using a computer mouse with the cursor speed turned up to “orbital velocity” is debatable, but [Subir] set forth to find out if such sensitivity could be leveraged for the seismic detection of the aforementioned elephants. His proof of concept is a fantastically frugal low cost seismograph using an optical mouse and some cheap PVC pipe and fittings.

We invite you to watch the video below the break to find out how it works. You’ll be impressed as we were by [Subir]’s practical application of engineering principles. And keep your eyes open for the beautiful magnetic damper hack. It’s a real treat!

If pontificating pesky pachyderms p-waves piques your interest, perhaps you’ll appreciate previous projects which produce data with piezo pickups and plumbing parts.

Continue reading “USB Mouse Hack For Pachyderm Protection”