A Hombrew Retro Laptop

We feel bad when we see a retrocomputer project and think, “Hey! That’s not that old.” But, usually, when we think about it, it really is. Take the Penkesu. It looks like one of the little organizer computers that were popular — ok — a long time ago.

Inside is a Raspberry Pi Zero 2W, a 7.9 inch 400×1280 screen and a 48-key mechanical keyboard. Unsurprisingly, the case is mostly 3D printed, but it does use Gameboy Advance SP hinges.

Continue reading “A Hombrew Retro Laptop”

Weather Station Predicts Air Quality

Measuring air quality at any particular location isn’t too complicated. Just a sensor or two and a small microcontroller is generally all that’s needed. Predicting the upcoming air quality is a little more complicated, though, since so many factors determine how safe it will be to breathe the air outside. Luckily, though, we don’t need to know all of these factors and their complex interactions in order to predict air quality. We can train a computer to do that for us as [kutluhan_aktar] demonstrates with a machine learning-capable air quality meter.

The build is based around an Arduino Nano 33 BLE which is connected to a small weather station outside. It specifically monitors ozone concentration as a benchmark for overall air quality but also uses an anemometer and a BMP180 precision pressure and temperature sensor to assist in training the algorithm. The weather data is sent over Bluetooth to a Raspberry Pi which is running TensorFlow. Once the neural network was trained, the model was sent back to the Arduino which is now capable of using it to make much more accurate predictions of future air quality.

The build goes into quite a bit of detail on setting up the models, training them, and then using them on the Arduino. It’s an impressive build capped off with a fun 3D-printed case that resembles an old windmill. Using machine learning to help predict the weather is starting to become more commonplace as well, as we have seen before with this weather station that can predict rainfall intensity.

IR Translator Makes Truly Universal Remote

Universal remotes are a handy tool to have around if you have many devices that would all otherwise have their own remote controls. Merging them all into a single device leads to less clutter and less frustration, but they are often not truly “universal” as some of them may not support every infrared device that has ever been built. If you’re in a situation like that it’s possible to build a truly universal remote instead, provided you have a microcontroller and a few infrared LEDs on hand.

This was the situation that [Matt] found himself in when his Amazon Fire TV equipment control feature didn’t support his model of speakers. To get around this he programmed an Arduino to essentially translate the IR codes from the remote and output a compatible set of codes to the speakers.This requires both an IR photodiode and an IR LED but little else other than the codes for the remote and the equipment in question. With that all set up and programmed into the Aruino, [Matt]’s remote is one step closer to being truly “universal”.

While [Matt] was able to make use of existing codes in the Arduino library, it is also possible to capture the codes required manually by pointing a remote at a photodiode and programming a microcontroller to capture the codes that you need. [Matt] used a Raspberry Pi to do this when debugging this project, but we’ve also seen this method used with a similar build which uses an ESP8266 to control an air conditioner via its infrared remote control capabilities.

Continue reading “IR Translator Makes Truly Universal Remote”

Breakbeats Courtesy Of The RP2040

While one often listens to songs or albums in full, sometimes you just want to lay down a simple beat. [todbot]’s latest project promises to do just that.

The build relies on a Raspberry Pi Pico or any other RP2040-based microcontroller board, and is programmed in CircuitPython. The PWM feature is used for audio output, and it’s loaded with different WAV samples of the classic “Amen” break.

Each measure, a random new sample is chosen and played, changing the beat. Even better, all the samples can loop, and they come in varying lengths, allowing them to overlap and lay over each other to add further depth to the mix. It’s a cinch to setup, as CircuitPython has an AudioMixer object built in.

Those wishing to tinker for themselves can find all the code and samples on Github. A build like this one is a great way to start learning about working with audio and music, after all. We’ve seen [todbot]’s work here before, too. Video after the break.

Continue reading “Breakbeats Courtesy Of The RP2040”

BenAkrin-PlottyBot-TypeWriterMode

PlottyBot: A DrawBot That Plots A Lot

Fire up those 3D printers because if you’re like us, you’ll want your own PlottyBot. Still, have a pile of “thank you notes” to write from recent winter holiday gift exchanges? Hoping to hand letter invitations to a wedding or other significant event? Need some new art to adorn your lock-down shelter or shop? It sounds like [Ben] could help you with that.

Besides being a handsomely designed desktop DrawBot, this project from [Ben] looks to have some solid software to run it, a community of makers who have tested the waters, and very detailed build instructions. Those include everything from a BOM with links for ordering parts to animated GIF assembly for the trickier steps.

If you’d like to graduate from “handwritten” cards and letters to something poster-sized are customization tips for expanded X and Y dimensions. As we’ve included in other recent articles, one caveat to mention is the current scarcity of the Raspberry Pi Zeros that PlottyBots require. But if you have one on hand or think you’ll be able to source one by the time you’ve 3D printed all the parts, it might just be the perfect time to add another bot to your family. As a heads up, this project is self-hosted on a solar-powered server, so maybe take turns reading the complete build log.

A nice bonus if you need help drawing something suitably complex to require a robot’s help, [Ben] also created MandalGaba which looks like an awesome online tool for drawings like the ones shown above.

No ARM Printer Driver? Just Write Your Own

When you think of the small machines that print the sticky labels on packages, you might not expect to find a complex printer with its own programming language (ZPL). However, [Dan Pastusek] was looking around online and found a small label printer on everyone’s favorite online warehouse for a great price that suggested it supported ZPL. Unfortunately, [Dan] had big dreams for creating a Raspberry Pi-based print station and found the drivers packaged for this particular printer were not ARM compatible. Not quite content to leave it there, he began to chip away at the layers until he had a working driver.

ZPL, at its core, is just a language describing ASCII commands transmitted over a serial connection. So while the printer showed up as an endpoint, it wasn’t working as the filters (the part of the driver that knows how to convert from a PNG to ZPL) was x86 only. On Linux, printer drivers also have a PPD file that describes what a printer can handle in paper size and other settings. The PPD file for the little printer gave the first clue. In the ShortNickName field, it identifies itself as HPRT N41, which is a popular HP printer. So this little printer must be a clone of a printer in that family. Notably, they don’t support ZPL. Instead, the HPRT series support TSPL, another printer language developed by TSC.

This presented a problem as the shipping service that provided the labels that [Dan] was using offered labels in three formats: PNG, PDF, and ZPL. Currently, it does seem like there’s a TSPL to ZPL converter out there for use, so rather than write his own, he took a shortcut and wrote a rasterizer instead. Initially, he tried to use some sample code that he found, and while he got something to come out of the printer, it was blank. So the next test was to save the raw TSPL output from a filer and cat directly to the serial port. This worked amazingly. Next, he wrote a converter to take a PNG and convert them into the bitmap format the TSPL has. The converter is in Javascript as it runs as part of the webserver that manages the print station. Could it be faster in a different language? Sure. But a different language wouldn’t make the printer any faster.

With the addition of a wireless barcode scanner, it’s satisfying to see the print station up and running. Here at Hackaday, we’re no stranger to seeing folks take apart printers to peel back the software and physical layers that make them up.

Two shots of the dispenser in question next to each other, showing it from different sides. One is showing the front panel, and the other shot gives us a better look at the top part, with a rotating disk that has openings for treats to be placed in.

Open-Hardware Dog Treat Dispenser Is A Stepping Stone For Behavioral Research

The principles of open-source hardware are starting to make great strides in scientific research fields. [Walker Arce] tells us about his paper co-authored with [Jeffrey R. Stevens], about a dog treat dispenser designed with scientific researchers in mind – indispensable for behavior research purposes, and easily reproducible so that our science can be, too. Use of Raspberry Pi, NEMA steppers and a whole lot of 3D printed parts make this build cheap (< $200 USD) and easy to repeat for any experiments involving dogs or other treat-loving animals.

Even if you’re not a scientist, you could always build one for your own pet training purposes – this design is that simple and easy to reproduce! The majority of the parts are hobbyist-grade, and chances are, you can find most of the parts for this around your workshop. Wondering how this dispenser works, and most importantly, if the dogs are satisfied with it? Check out a short demonstration video after the break.

Despite such dispensers being commercially available, having a new kind of dispenser designed and verified is more valuable than you’d expect – authors report that, in their experience, off-the-shelf dispensers have 20-30% error rate while theirs can boast just 4%, and they have test results to back that up. We can’t help but be happy that the better-performing one is available for any of us to build. The GitHub repository has everything you could want – from STLs and PCB files, to a Raspberry Pi SD card image and a 14-page assembly and setup guide PDF.

Open hardware and science are a match made in heaven, even if the relationship is still developing. The Hackaday community has come together to discuss open hardware in science before, and every now and then, open-source scientific equipment graces our pages, just like this recent assortment of biosensing hacks using repurposed consumer-grade equipment.

Continue reading “Open-Hardware Dog Treat Dispenser Is A Stepping Stone For Behavioral Research”