Keynote Video: Elecia White Finds Treasure In The Memory Map

If you dig microcontrollers, and you like to dig into how they work, Elecia White wants to help you navigate their innermost secrets with the help of memory map files. In this refreshingly funny, but very deep keynote talk from the 2021 Hackaday Remoticon, Elecia guides us through one of the most intimidating artifacts of compilation — a file that lists where everything is being put in the microcontroller’s memory — and points out landmarks that help to make it more navigable.

And when you need to look into the map file, you probably really need to look into the map file. When your embedded widget mysteriously stops working, memory problems are some of the usual suspects. Maybe you ran out of RAM or flash storage space, maybe you have some odd hard fault and you want to know what part of the program is causing the trouble, or maybe you need to do some speed profiling to make it all run faster. In all of these cases, you get an absolute memory address. What lives there? Look it up in the memory map!

Continue reading “Keynote Video: Elecia White Finds Treasure In The Memory Map”

Ordering prototypes like they were fast food

Has DIY Become Click And Buy?

We are living in great times for DIY, although ironically some of that is because of all the steps that we don’t have to do ourselves. PCBs can be ordered out easily and inexpensively, and the mechanical parts of our projects can be ordered conveniently online, fabricated in quantity one for not much more than a song, or 3D printed at home when plastic will do. Is this really DIY if everything is being farmed out? Yes, no, and maybe.

It all depends on where you think the real value of DIY lies. Is it in the idea, the concept, the design? Or in its realization, the manufacturing? I would claim that most of the value actually lies in the former, as much as I personally enjoy the many processes of physically constructing the individual parts of many projects.

For instance, I designed and built a hot-wire CNC foam cutter recently. Or better, I designed a series of improved versions, because I never get anything right on the first try. All along the way, I 3D printed new and improved versions of the plastic parts, ironing as many of the little glitches out as I had patience for. This took probably a good handful of weekends’ time, spread out over a couple months, but in comparison to time spent testing, fixing, and redesigning, very little time or effort was spent in the physical building.

Moreover, I bought most of the parts at the hardware store. The motor controller shield and cheap Arduino clone came from eBay. And even those that I did manufacture myself, the 3D-printed bits, were kind of made by a machine — my experience of the whole process wouldn’t have been any different if I ordered them out.

Of course craftsmanship still exists, and we see that in Hackaday projects all the time. Heck, I’ll admit that I still enjoy a lot of the process of making things with my own hands for its own sake. It’s peaceful. But if there’s one thing that the rapid proliferation of ideas and projects that have been facilitated by 3D printing and cheap short-run PCB services, it’s that the real value of many projects lies in the idea, and the documentation. Which is to say, I gotta get around to writing up that foam cutter…

Finally, A Use For Old Cellphones

In what is now a three-year long search, I’ve finally found the perfect use for an old cellphone. And with it, the answer to a burning question: Why aren’t we hacking cellphones?

First, the application. The Octo4a project lets you use an old Android phone as a 3D printer server, web interface, and even time-lapse camera to make those nice movies where the print seems to grow up out of nothing before your eyes. It’s the perfect application for an old phone, making use of the memory, WiFi, graphics capabilities, and even the touch-screen if you want local control of your prints.

Connecting to the phone was the main hurdle that I’ve always seen in developing for cellphone projects, because I have robotics applications in mind. But Octo4a gets around this with low or no effort. Most 3D printers are designed to run on USB anyway, so connecting it to the phone is as simple as buying a USB OTG cable. With the USB port taken over, powering the phone long-run becomes a tiny problem, which can be solved with a Y-cable or a little solder. Keep the OS from going to sleep, somehow, and it’s problem solved!

But here’s why this isn’t a solution, and it points out the deeper problem with cellphone hacking that many pointed out in the comments three years ago. Octoprint is written in Python, and because of this is very easy to write extensions for and to hack on, if that’s your thing. When I first saw Octo4a, I thought “oh great, a working Android Python port”. Then I went to dig into the code.

Octo4a is written in Kotlin and uses the Gradle framework. It’s a complete port of Octoprint, not just to a different platform, but to a different programming language and to an almost entirely different programming paradigm. My hat is off to [feelfreelinux] for doing it, but my guess is that the community of other people fluent enough in Kotlin and Python to help port across upstream changes in Octoprint is a lot smaller than the community of Python programmers would have been. Octo4a is a great project, but it’s not a walk in the park to develop on it.

So all of you who wrote in the comments to my previous piece that it’s the Android software ecosystem that’s preventing phone reuse, well here’s the exception that proves your rule! A dedicated and talented, multi-lingual developer community could pull it off, but the hurdle is so high that few will rise to it.

Anyway, thanks [Feelfree Filip] for your great work! I’ll be putting this on my old S4.

Hackaday Podcast 146: Dueling Trackballs, Next Level BEAM Robot, Take Control Of Your Bench, And Green Programming

Postpone your holiday shopping and spend some quality time with editors Mike Szczys and Elliot Williams as they sift through the week in Hackaday. Which programming language is the greenest? How many trackballs can a mouse possibly have? And can a Bluetooth dongle run DOOM? Join us to find out!

 

Take a look at the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!

Direct download (52 MB)

Continue reading “Hackaday Podcast 146: Dueling Trackballs, Next Level BEAM Robot, Take Control Of Your Bench, And Green Programming”

PicoMite Gives Your Pico A Deluxe BASIC

What makes developing a microcontroller project quick and easy? Tops on our list are an interactive shell and comprehensive libraries that handle all the low-level peripheral stuff. You think we’re talking MicroPython? Not today! MMBasic has just been ported to the Raspberry Pi Pico dev board, and it has all the batteries included.

Just to give you a taste, it has built-in support for SD cards, all sorts of displays, touch screens, real-time clocks, IR remotes, numerous sensors, and of course WS2812 LED strips. And because all of this is baked into the BASIC, writing code to use any of these peripherals is straightforward.

Now, there’s BASIC and there’s BASIC. This is a modern BASIC: it has loops, functions, arrays, floating point, and a built-in full-screen editor. You connect to the Pico via UART, and you’re off to the races. If you’ve got a Pico sitting around, flash it and give it a try. Or check out the GitHub repository if you want to poke around in the internals.

This is a port of the BASIC that’s used on the Maximite virtual retrocomputer platform, which means that there are many working examples out there for you to crib from, and even a forum. Add in the incredibly nice user manual and tutorial (PDF), and you’ve got the perfect weekend afternoon.

Think MicroPython killed BASIC? Think again. BASIC is small enough that it can run where Python can’t, but that’s of course a more minimal experience. In contrast, MMBasic looks like it’s got all the toppings. The whole enchilada. It’s like BASIC Deluxe.

Remoticon Is On!

If you’re reading this post while the bits are still fresh, you’ve got about four hours until day two of Hackaday Remoticon 2021. You can feel the electricity in the air, right? We’ve got an absolutely stellar line-up this year: every talk is gonna be a good talk.

Friday was great fun, and you can still still rewind Friday’s live stream if you hurry. Otherwise, at 11:00 AM PST, we’ll start up day two with a keynote talk by Keith Thorne, who’s going to take us through all of the work, and hacks, that made the LIGO experiment the most sensitive instrument mankind has ever made. Bookending the talks, just before the Hackaday Prize announcement and after-party DJ Jackalope Live Set, Jeremy Fielding is going to be walking through everything about his robotic arm and what you need to know about anything that moves.

Watch some great talks, and then hang out with the presenters afterwards over on our Discord server. What more do you want on a Saturday?

We really don’t want you to miss out on anything, but in case you come late to the talks, you can rewind the live stream to catch up. After it’s all done, we’ll slice and dice up the talks so you can find them later. But if you miss out on the discussions, the chance to ask our speakers questions, and the pervasive Jolly Wrencher ambiance, you’ve just missed out. Join us live if you possibly can! We’d love to see you.

Peek Behind The Curtains: Conference Badge Design

In the before-times, back when we could have in-person Hackaday Supercons, there was always the problem of the badge. Making a few hundred small electronic thingies, for a smart but broad range of hackers, is tricky. We always want it to do something all on its own, but also ideally to allow enough free range that the motivated badge hacker can make it into something exquisite. Add in the fact that some attendees are hardware types and some are software types, and toss in a price constraint too. Oh, and it has to look good. Tough problem.

Here’s one extreme solution: the badge at the first Supercon. Faced with essentially zero budget and a tight time constraint, the Hackaday team punted — and produced a prototype board, but had tons of parts on hand for everyone to draw from. And the Hackaday crowd delivered. This was the badge that demonstrates what happens if you leave everything open.

Contrast with the 2018 Belgrade and Supercon badges, which were essentially the same except for color. Here, the hardware interface was limited to a 9-pin header, but the badge itself was a fully functional microcomputer, complete with keyboard and screen. Most of the hacks were written in the native BASIC, though a few hearty souls played around with the alternative CP/M system. This was our most software badge.

Our last in-person badge, the 2019 Supercon badge, was free rein for both hardware and software hackers. The whole thing was based on an FPGA, with completely custom gateware written by Sprite_tm running RISC-V, but based loosely on the Z80 architecture. This was probably also the badge with the highest hurdle to hackers, but you all came through with inventive hardware add-ons, but also a team that came through with a custom Linux OS running on this never-before-seen virtual environment, enabled by a hardware SDRAM cartridge hack.

And finally, even before the global supply crisis, even a tight-knit conference like ours could stock-out the world’s supply of a given component. The untold story of the 2016 Belgrade badge is that Voja Antonic bought out the world’s supply of Kingbright 8×8 common-cathode LED matrixes, and had to redesign the board in the last minute to incorporate the common-anode parts too. (Or was it vice-versa?) Lesson learned, the 2016 Supercon badge traded out the LED modules for discrete LEDs. Not gonna stock out on red LEDs.

So that’s a long-winded introduction to Thomas Flummer’s unofficial Remoticon 2 badges. With the parts crisis and a virtual conference, you’re on your own to source the badge. Splitting the freedom vs. in-built functionality problem like Samson, he’s got two boards — one a breadboard and the other fully populated. And like all his badges, they both look great. If you manage to get one made by Remoticon next week, be sure to show it off in the Bring-a-Hack. And if you don’t get it in time, bring it by in person to the 2022 Supercon!