One Man’s Quest To Build A Baby Book With Brains

Regular readers will know that Hackaday generally steers clear of active crowdfunding campaigns. But occasionally we do run across a project that’s unique enough that we feel compelled to dust off our stamp of approval. Especially if the campaign has already blasted past its funding goal, and we don’t have to feel bad about getting you fine folks excited over vaporware.

It’s with these caveats in mind that we present to you Computer Engineering for Babies, by [Chase Roberts]. The product of five years of research and development, this board book utilizes an internal microcontroller to help illustrate the functions of boolean logic operations like AND, OR, and XOR in an engaging way. Intended for toddlers but suitable for curious minds of all ages, the book has already surpassed 500% of its funding goal on Kickstarter at the time of this writing with no signs of slowing down.

The electronics as seen from the rear of the book.

Technical details are light on the Kickstarter page to keep things simple, but [Chase] was happy to talk specifics when we reached out to him. He explained that the original plan was to use discreet components, with early prototypes simply routing the button through the gates specified on the given page. This worked, but wasn’t quite as robust a solution as he’d like. So eventually the decision was made to move the book over to the low-power ATmega328PB microcontroller and leverage the MiniCore project so the books could be programmed with the Arduino IDE.

Obviously battery life was a major concern with the project, as a book that would go dead after sitting on the shelf for a couple weeks simply wouldn’t do. To that end, [Chase] says his code makes extensive use of the Arduino LowPower library. Essentially the firmware wakes up the ATmega every 15 ms to see if a button has been pressed or the page turned, and updates the LED state accordingly. If no changes have been observed after roughly two minutes, the chip will go into a deep sleep and won’t wake up again until an interrupt has been fired by the yellow button being pressed. He says there are some edge cases where this setup might misbehave, but in general, the book should be able to run for about a year on a coin cell.

[Chase] tells us the biggest problem was finding a reliable way to determine which page the book was currently turned to. In fact, he expects to keep tinkering with this aspect of the design until the books actually ship. The current solution uses five phototransistors attached to the the MCU’s ADC pins, which receive progressively more light as fewer pages are laying on top of them. The first sensor is exposed when the second page of the book is opened, so for example, if three of the sensors are seeing elevated light levels the code would assume the user is on page four.

Opening to the last page exposes all five light sensors.

The books and PCBs are being manufactured separately, since as you might expect, finding a single company that had experience with both proved difficult. [Chase] plans on doing the final assembly and programming of each copy in-house with the help of family members; given how many have already been sold this early in the campaign, we hope he’s got a lot of cousins.

So what do you do with an Arduino-compatible book when Junior gets tired of it? That’s what we’re particularly interested in finding out. [Chase] says he’s open to releasing the firmware as an open source project after the dust settles from the Kickstarter campaign, which would give owners a base to build from should they want to roll their own custom firmware. Obviously the peripheral hardware of the book is fairly limited, but nothing is stopping you from hanging some sensors on the I2C bus or hijacking the unused GPIO pins.

If you end up teaching your copy of Computer Engineering for Babies some new tricks, we’ve love to hear about it.

Continue reading “One Man’s Quest To Build A Baby Book With Brains”

Pandemic Gives Passersby A Window On Cyborg Control

What’s this? Another fabulous creation from [Niklas Roy] and [Kati Hyyppä] that combines art and electronics with our zeitgeist and a lot of recycled bits and bobs? You got it. Their workshop in eastern Berlin used to be a retail shop and has a large display window as a result. This seems perfect for a pair of artists in a pandemic, because they can communicate with the community through the things they display in the window. Most recently, it was this interactive cyborg baby we are choosing to call Cybaby.

You might recognize Cybaby as one of the very hackable Robosapien robots, but with a baby doll head. (It also has a single red eye that really pulls its look together.) In the window, Cybaby comes alive and toddles around against a backdrop that grew and evolved over several weeks this spring and summer. Passersby were able to join the network and control Cybaby from outside with their smartphone to make it walk around, press various buttons that change its environment, and trigger a few sensors here and there. Robosapien has been around for about 20 years, so there is already Arduino code out there that essentially simulates its R/C signals. [Niklas] and [Kati] used a NodeMCU (ESP12-E) to send pulses to the IR input of the robot.

Back on the zany zeitgeist front, there’s a hair salon, a convenience store, and a nightclub for dancing that requires a successful trip through the testing center first (naturally). Oh, and there’s a lab next door to the nightclub that can’t be accessed by Cybaby no matter what it tries or how it cries. Check it out after the break.

There’s a dearth of Robosapien posts for some reason, so here’s what [Niklas] and [Kati] had in their window before the World of Cybaby — a really cool pen plotter that prints out messages sent by people walking by.

Continue reading “Pandemic Gives Passersby A Window On Cyborg Control”

Word clock in the style of the Christmas lights from Stranger Things. If you know, you know.

Stranger Things Message Board Passes The Time By Spelling It Out

Will Netflix’s nostalgic hit Stranger Things be back for a fourth series anytime soon? We could pull out a Ouija board and ask the spirits, but we’d much rather ask closer to the source, i.e. a spirit in the upside down. And you know that the best way to do that is with LEDs — one for each letter of the alphabet so the spirit can spell out their messages.

Arduino, ESP01, and real-time clock powering this Stranger Things word clockAlthough contact with the Demogorgon’s world isn’t likely with [danjovic]’s open-source Stranger Things board, you are guaranteed to get the time spelled out for you every minute, as in, ‘it’s twenty-five (or six) to four’. And if you want to freak out your unwitting friends, you can covertly send messages to it from your phone.

There are two versions now — the original desktop version, and one that hangs on the wall and uses a high-quality photo print for the background. Both use an ESP-01 and an Arduino to help drive the 26 RGB LEDs, and use a DS2321 real-time clock for timing. We love the enameled wiring job on the wall-mount version, but the coolest part has to be dual language support for English and Brazilian Portuguese. You can check out demos of both after the break.

We’ve seen many a word clock around here, but this is probably one of the few that’s dripping with pop culture. If it’s stunning modernism you want, take a look at this painstakingly-constructed beauty.

Continue reading Stranger Things Message Board Passes The Time By Spelling It Out”

Small synth held in two hands

3D Printed Synth Kit Shares Product Design Insights

We’ve always been delighted with the thoughtful and detailed write-ups that accompany each of [Tommy]’s synth products, and the background of his newest instrument, the Scout, is no exception. The Scout is specifically designed to be beginner-friendly, hackable, and uses 3D printed parts and components as much as possible. But there is much more to effectively using 3D printing as a production method than simply churning out parts. Everything needed to be carefully designed and tested, including the 3D printed battery holder, which we happen to think is a great idea.

3d printed battery holder, showing inserted spring contacts
3D printed battery holder, with spring contacts inserted by hand.

[Tommy] also spends some time explaining how he decided which features and design elements to include and which to leave out, contrasting the Scout with his POLY555 synth. Since the Scout is designed to be affordable and beginner-friendly, too many features can in fact be a drawback. Component costs go up, assembly becomes less straightforward, and more complex parts means additional failure points when 3D printing.

[Tommy] opted to keep the Scout tightly focused, but since it’s entirely open-sourced with a hackable design, adding features is made as easy as can be. [Tommy] designed the PCB in KiCad and used OpenSCAD for everything else. The Scout uses the ATmega328, and can be easily modified using the Arduino IDE.

STL files can be downloaded here and all source files are on the project’s GitHub repository, which also contains detailed assembly and modification guides. Watch it in action in the video, embedded below.

Continue reading “3D Printed Synth Kit Shares Product Design Insights”

The Retro Shield, an Arduino Proto Shield for making many different circuits.

Retro Shield Replaces Springs With Jumpers, Includes Blinkenlights!

Is it an AM radio? Yes. It is a 555 LED flashing circuit? Yep. How about a hex counter with a 7 segment display? That too. Five different colored LED’s to satisfy your need for blinkenlights? Even that! What is this magical contraption? Is it one of those old school 30-in-1 or 50-in-1 “Science Fair” kits with the jumper wires and the springs? Almost!

When [grandalf]’s friend showed them a project where a 555 timer was installed on an Arduino shield, they realized two things: This whole “could have done that with a 555 timer” meme is a lot of fun, and “I’ve got an old 556 chip, I wonder if I can build one?” The answer is yes, and so much more.

Starting with the 556 timer, and inspired by the old spring-and-jumper kits of the past, [grandalf]’s “556 on a Proto Shield” project evolved into a creation they call the Retro Shield. Snowballing like so many hacker projects, it now includes several built in circuits and components. Breadboard jumpers are used to connect components through strategically placed pin headers, of which there are quite a few!

To make it all fit, some parts were substituted with more compact pieces such as an LM386 instead of an LM380.  The AM radio portion is supplied by an all-in-one radio chip, the ZN414. With the scope creep picking up steam, [grandalf] eventually added so called sidecars- bits of board that contain controls and a speaker hanging off the side of the Proto Shield.

It is not mentioned if the Retro Shield integrates with the Arduino or not. All the same, the Retro Shield has been used to pick up local AM stations, blink LED’s and amplify audio with the LM386. Like [grandalf] we’re sure that the Retro Shield can be used for much more. We hope that [grandalf] expands on the concept and inspires future hackers to answer the question “I wonder what happens if I try this.” 

If you haven’t set eyes on one of the all-in-one kits, check out this 200-in-1 kit teardown and review. And of course, if you have your own hacked up projects to share, be sure to let us know through the Tip Line!

Photo of a prototyping breadboard with an Arduino, whose analog inputs are connected to an array of four small op-amp circuits which perform the voltage slicing function of the Quantizer circuit described in this article.

Arduino Measures 20V Signals Using Quantizer

Canadian electronics geek and nascent YouTuber [Technoyaki] wanted to measure 20 volt signals on his Arduino. One might typically use a voltage divider to knock them down to the 5 volt range of the Arduino’s 10-bit A/Ds. But he isn’t one to take the conventional approach. Instead of using two resistors, [Technoyaki] decides to build an analog circuit out of sixteen resistors, four op amps and a separate 6 VDC supply.

Oscilloscope photo showing the output signals from each of the quantizer's four op amps. They are positioned staggered on the screen so that you can see the original sinusoidal signal clearly.

What is a quantizer? In the usual sense, a quantizer transforms an analog signal (with an infinity of possible values) to a smaller (and finite) set of digital values. An A/D converter is a perfect example of a quantizer. [Technoyaki], stretching the definition slightly, and uses the term to describe his circuit, which is basically a voltage slicer. It breaks up the 20 V signal into four separate 5 V bands. Of course, one could almost  accomplish this by just using an Arduino Due, which has a 12-bit A/D converter (almost, because it has a lower reference voltage of 3.3 V). But that wouldn’t be as much fun.

Why use all these extra components? Clearly, reducing parts count and circuit complexity was not one of [Technoyaki]’s goals. As he describes it, the reason is to avoid the loss of A/D resolution inherent with the traditional voltage divider. As a matter of semantics, we’d like to point out that no bits of resolution are lost when using a divider — it’s more accurate to say that you gain bits of resolution when using a circuit like the quantizer.  And not surprising for precision analog circuitry, [Technoyaki] notes that there are yet a few issues yet to be solved. Even if this circuit ultimately proves impractical, it’s a neat concept to explore. Check out the video below the break, where he does a great job explaining the design and his experiments.

Even though this isn’t quite a cut-and-paste circuit solution at present, it does show another way to handle large signals and pick up some bits of resolution at the same time. We wrote before about similar methods for doubling the A/D resolution of the Arduino. Let us know if you have any techniques for measuring higher voltages and/or increasing the resolution of your A/D converters.

Continue reading “Arduino Measures 20V Signals Using Quantizer”

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”