AVR Reverse Engineering Hack Chat

Join us on Wednesday, April 21 at noon Pacific for the AVR Reverse Engineering Hack Chat with Uri Shaked!

We’ve all become familiar with the Arduino ecosystem by now, to the point where it’s almost trivially easy to whip up a quick project that implements almost every aspect of its functionality strictly in code. It’s incredibly useful, but we tend to lose sight of the fact that our Arduino sketches represent a virtual world where the IDE and a vast selection of libraries abstract away a lot of the complexity of what’s going on inside the AVR microcontroller.

While it’s certainly handy to have an environment that lets you stand up a system in a matter of minutes, it’s hardly the end of the story. There’s a lot to be gained by tapping into the power of assembly programming on the AVR, and learning how to read the datasheet and really run the thing. That was the focus of Uri Shaked’s recent well-received HackadayU course on AVR internals, and it’ll form the basis of this Hack Chat. Then again, since Uri is also leading a Raspberry Pi Pico and RP2040 course on HackadayU in a couple of weeks, we may end up talking about that too. Or we may end up chatting about something else entirely! It’s really hard to where this Hack Chat will go, given Uri’s breadth of interests and expertise, but we’re pretty sure of one thing: it won’t be boring. Make sure you log in and join the chat — where it goes is largely up to you.

join-hack-chatOur Hack Chats are live community events in the Hackaday.io Hack Chat group messaging. This week we’ll be sitting down on Wednesday, April 21 at 12:00 PM Pacific time. If time zones have you tied up, we have a handy time zone converter.

Click that speech bubble to the right, and you’ll be taken directly to the Hack Chat group on Hackaday.io. You don’t have to wait until Wednesday; join whenever you want and you can see what the community is talking about.
Continue reading “AVR Reverse Engineering Hack Chat”

An RP2040 Board Designed For Machine Learning

Machine learning (ML) typically conjures up ideas of fancy code requiring oodles of storage and tons of processing power. However, there are some ML models that, once trained, can readily be run on much more spartan hardware – even a microcontroller! The RP2040, star of the Raspberry Pi Pico, is one such chip up to the task, and [Arducam] have announced a board aiming to employ it to those ends – the Pico4ML.

The board goes heavy on the hardware, equipping the RP2040 with plenty of tools useful for machine learning tasks. There’s a QVGA camera on board, as well as a tiny 0.96″ TFT display. The camera feed can even be streamed live to the screen if so desired. There’s also a microphone to capture audio and an IMU, already baked into the board. This puts object, speech, and gesture recognition well within the purview of the Pico4ML.

Running ML models on a board like the Pico4ML isn’t about robust high performance situations. Instead, it’s intended for applications where low power and portability are key. If you’ve got some ideas on what the Pico4ML could do and do well, sound off in the comments. We’d probably hook it up to a network so we could have it automatically place an order when we yell out for pizza. We’ve covered machine learning on microcontrollers before, too – with a great Remoticon talk on how to get started!

Slimming The Raspberry Pi Pico With A Hacksaw

The Raspberry Pi Pico is the hot new star of the microcontroller scene, with its fancy IO hardware and serious name recognition. Based on the RP2040 “Raspberry Silicon” chip, it’s introducing fans of the single-board computer line to a lower level of embedded development. The Pico isn’t big, as its name suggests, but miniaturization is a never ending quest for improvement – so [That Dragon Guy] decided to see if the devboard could be smallified further at a minimum of cost.

While other smaller RP2040 boards are reaching the marketplace, they all cost a lot more than the $4 of the Pico. Thus, [That Dragon Guy] got creative. Having realised that the bottom section of the board was only full of passive traces and pads, he simply hacked it off with a scroll saw and sander. This gives a 30% reduction in footprint, at the cost of some mounting holes, GPIO pins and the debug interface.

In testing, the rest of the board continued to function perfectly well, so we’re calling this a win. It builds on amusing experiments [That Dragon Guy] had done before with the Raspberry Pi B+ which gave us a good chuckle. The Raspberry Pi has always been a minimalist darling, with the Pi Zero of 2015 being a bit of a gamechanger, and much beloved by this writer. Video after the break.

Continue reading “Slimming The Raspberry Pi Pico With A Hacksaw”

Raspberry Pi Pico ADC Characterized

[Markomo] didn’t find much useful information about the Raspberry Pi PIco’s analog to digital converter, so he decided to do some tests to characterize it. Lucky for us, he documented the findings and shared them. The results are in a series of blog posts that cover power supply noise, input-referred noise, signal to noise ratio, and distortions.

There are some surprising results. For example, the Pico’s low noise regulator mode appears to produce more noise than having it set for normal operation. There also appears to be a large spike in nonlinearity around certain measurements.

Continue reading “Raspberry Pi Pico ADC Characterized”

Guitar Effects With No (Unwanted) Delay

MIDI has been a great tool for musicians and artists since its invention in the 1980s. It allows a standard way to interface musical instruments to computers for easy recording, editing, and production of music. It does have a few weaknesses though, namely that without some specialized equipment the latency of the signals through the various connected devices can easily get too high to be useful in live performances. It’s not an impossible problem to surmount with the right equipment, as illustrated by [Philip Karlsson Gisslow].

The low-latency MIDI interface that he created is built around a Raspberry Pi Pico. It runs a custom library created by [Philip] called MiGiC which specifically built as a MIDI to Guitar interface. The entire setup consists of a preamp to boost the guitar’s signal up to 3.3V where it is then fed to the Pi. This is where the MIDI sampling is done. From there it sends the information to a PC which is able to play the sound back quickly with no noticeable delay.

[Philip] also had to do a lot of extra work to port the software to the Pi which lacks a lot of the features of its original intended hardware on a Mac or Windows machine, and the results are impressive, especially at the end of the video where he uses the interface to play a drum machine via his guitar. And, while MIDI is certainly a powerful application for a guitarist, we have also seen the Pi put to other uses in this musical realm as well.

Continue reading “Guitar Effects With No (Unwanted) Delay”

High-Altitude Balloon Tracker Does Landing Prediction With Pi Pico

[Dave Akerman]’s ongoing high altitude balloon (HAB) work is outstanding, and we’re all enriched by the fact that he documents his work like he does. Recently, [Dave] wrote about his balloon tracker based on the Raspberry Pi Pico, whose capabilities brought a couple interesting features to the table.

In a way, HAB trackers have a fairly simple job: read sensors such as GPS and constantly relay that data to someone on the ground so that the balloon’s location can be tracked, and the hardware recovered when it ultimately returns to Earth. There are a lot of different ways to do this tracking, and one thing [Dave] enjoys is getting his hands on a new board and making a HAB tracker out of it. That’s exactly what he has done with the Raspberry Pi Pico.

Nothing builds familiarity like actually using a part, and the Pico had some useful things to contribute to a HAB tracker application. For one thing, the Pico has an onboard buck-boost converter that allows it to be powered from a relatively wide voltage range (~1.8 V to 5.5 V), so running it directly from batteries is both possible and desirable from a tracker perspective. But a really useful feature was possible thanks to the large amount of memory on the Pico: dynamic landing prediction.

[Dave] does landing prediction prior to launch based on environmental conditions, but it’s always better if the HAB tracker can also calculate its own prediction based on actual observed events and conditions. A typical microcontroller board like an Arduino doesn’t have enough memory to store the required data upon which to do such calculations, but the Pico does so easily. [Dave]’s new board transmits an updated landing site prediction along with all the rest of the telemetry, making the retrieval process much more reliable.

Want to see a completely different approach to HAB recovery? Check out a payload guided by steerable parachutes.

3D-Printed Macro Pad Ditches The PCB With Slick Wiring Guides

Reddit user [duzitbetter] showed off their design for a 3D-printed programmable macro keyboard that offers a different take on what can be thought of as a sort of 3D-printed PCB. The design is called the Bloko 9 and uses the Raspberry Pi PICO and some Cherry MX-style switches, which are popular in DIY keyboards.

The enclosure and keycaps are all 3D printed, and what’s interesting is the way that the enclosure both holds the components in place as well as providing a kind of wire guide for all the electrical connections. The result is such that bare copper wire can be routed and soldered between leads in a layout that closely resembles the way a PCB would be routed. The pictures say it all, so take a look.

Bloko 9 is available as a paid model, and while going PCB-free thanks to 3D printing is a technique others have played with, it is very well demonstrated here and shows there is still plenty of room to innovate on the concept. DIY keyboard and macro pad design is also fertile ground for hackers; we have even seen that it’s possible to 3D print one right down to the switches themselves.