Jaromir Sukuba: The Supercon 2018 Badge Firmware

If you missed it, the Hackaday Supercon 2018 badge was a complete retro-minicomputer with a screen, keyboard, memory, speaker, and expansion ports that would make a TRS-80 blush. Only instead of taking up half of your desk, everyone at the conference had one around their neck, when they weren’t soldering to it, that is.

The killer feature of the badge was its accessibility and hackability — and a large part of that was due to the onboard BASIC interpreter. And that’s where Jaromir comes in. Once Voja Antonic had finalized the design of the badge hardware for our conference in Belgrade in the spring of 2018, as Jaromir puts it, “all we needed was a little bit of programming”. That would of course take three months. The badge was battle-tested in Belgrade, and various feature requests, speed ups, and bugfixes were implemented (during the con!) by Jaromir and others.

Firmware work proceeded over the summer. Ziggurat29 helped out greatly by finding ways to speed up the badge’s BASIC interpreter (that story is told on his UBASIC and the Need for Speed project page) and rolled into the code base by Jaromir. More bugs were fixed, keywords were added, and the three-month project grew to more like nine. The result: the badge was in great shape for the Supercon in the fall.

Jaromir’s talk about the badge is supremely short, so if you’re interested in hacking a retrocomputer into a PIC, or if you’ve got a badge and you still want to dig deeper into it, you should really give it a look. We don’t think that anyone fully exploited the CP/M machine emulator that lies inside — there’s tons of software written for that machine that is just begging to be run after all these years — but we’re pretty sure nearly everyone got at least into the basement in Zork. Dive in!

Continue reading “Jaromir Sukuba: The Supercon 2018 Badge Firmware”

Blacksmithing For The Uninitiated: What Is A Forge?

Blacksmiths were the high technologists of fabrication up until the industrial revolution gained momentum. At its core, this is the art and science of making any needed tool or mechanism out of metal. Are you using the correct metal? Is the tool strong where it needs to be? And how can you finish a project quickly, efficiently, and beautifully? These are lessons Blacksmiths feel in their bones and it’s well worth exploring the field yourself to appreciate the knowledge base that exists at any well-used forge.

I had an unexpected experience a few days ago at the Hacker Hotel weekend hacker camp in the Netherlands. At the side of the hotel our friends at RevSpace in The Hague had set up a portable forge. There was the evocative coal fire smell of burning coke from the hearth, an anvil, and the sound of hammering. This is intensely familiar to me, because I grew up around it. He may be retired now, but my dad is a blacksmith whose work lay mostly in high-end architectural ironwork.

Working the RevSpace forge at Hacker Hotel, in not the most appropriate clothing for the job.
Working the RevSpace forge at Hacker Hotel, in not the most appropriate clothing for the job.

The trouble is, despite all that upbringing, I don’t consider myself to be a blacksmith. Sure, I am very familiar with forge work and can bash metal with the best of them, but I know blacksmiths. I can’t do everything my dad could, and there are people we’d encounter who are artists with metal. They can bend and shape it to their will in the way I can mould words or casually solder a tiny surface-mount component, and produce beautiful things in doing so. My enthusiastic metal-bashing may bear the mark of some experience at the anvil but I am not one of them.

It was a bit of a surprise then to see the RevSpace forge, and I found myself borrowing a blacksmith’s apron to protect my smart officewear and grabbing a bit of rebar. I set to and made a pretty simple standard of the dilletante blacksmith, a poker with a ring on one end. Hammer one end of the rebar down to a point, square off the other end for just over 3 times the diameter of the ring, then bend a right angle and form the ring on the pointy end of the anvil. Ten minutes or so of fun in the Dutch sunshine. Working a forge unexpectedly brought with it a bit of a revelation. I may not be a smith of a high standard, but I have a set of skills by virtue of my upbringing that I had to some extent ignored.

Where others might have put effort into learning them, they’re things I just know. It had perhaps never occurred to me that maybe all my friends in this community didn’t learn how to do this by hanging round the forge next to the house they grew up in. If I have this knowledge merely by virtue of my upbringing, perhaps I should share some of it in a series of articles for those in our community who’ve always fancied a go at a forge but have no idea where to start.

Continue reading “Blacksmithing For The Uninitiated: What Is A Forge?”

RemoteDebug For ESP Platforms

Debugging tools are critical to quick and effective development. Without being able to peek under the hood at what’s really going on, it can be difficult to understand and solve problems. Those who live on the Arduino platform are probably well acquainted with using the serial port to debug, but it’s far from the only way. [JoaoLopesF] has coded the RemoteDebug tool for ESP platforms, and the results are impressive.

RemoteDebug does away with the serial interface entirely, instead using the ESP’s native wireless interface to send debug data over TCP/IP. It’s all handled over telnet, making it completely platform agnostic. By handling things over the WiFi connection, it negates issues with physical access, as well as hassles with cables and limited serial ports. It’s also of benefit to robotics projects, which no longer need a tether when debugging.

It comes with a similar set of features to [JoaoLopesF]’s earlier work, SerialDebug. Things like verbosity and timestamps are all built in, making it easy to get high-quality debug data without having to reinvent the wheel yourself. Video after the break.

Continue reading “RemoteDebug For ESP Platforms”

Our Right To Repair Depends On A Minimally Viable Laptop

It’s never been harder to repair your electronics. When the keyboard in your shiny new MacBook dies, you’ll have to send it to a Genius. When the battery in your iPhone dies, you’ll have to break out the pentalobe screwdrivers. Your technology does not respect your freedom, and this is true all the way down to the source code: the Library of Congress is thankfully chipping away at the DMCA in an effort that serves the Right to Repair movement, but still problems remain.

The ability — or rather, right — to repair will inevitably mean using electronics longer, and keeping them out of the garbage. That’s less e-waste, but it’s also older, potentially slower and less powerful portable workstations. This is the question: how long should you keep your electronics running? When do you start getting into the false economy of repairing something just because you can? What is the minimally viable laptop?

Continue reading “Our Right To Repair Depends On A Minimally Viable Laptop”

Raspberry Pi Camera With Smarts — Cloud Or Local?

[Mark West] gave an interesting presentation at last year’s GOTO Copenhagen conference. He shows how he took a simple Raspberry Pi Zero webcam and expanded it with AI. He actually added the intelligent features in two different ways: on in the Amazon cloud and another using the Intel Modvidius NCS USB stick directly connected to the USB. You can see the video below.

Local motion detection uses some open source software. You simply configure it using a text file and it even handles the video streaming. However, at that point, you just have a web camera — not amazing, nor very cost effective. However, you get a lot of false alarms with the motion detection software. A random cat walking past, clouds, trees, or even rain would push [Mark] an email and after 250 alert e-mails a day, [Mark] decided to make something better.

Continue reading “Raspberry Pi Camera With Smarts — Cloud Or Local?”

ESP32 Drives Controllerless Display Using I2S Hack

It’s possible to find surplus LCDs in all kinds of old hardware. Photocopiers, printers – you name it, there’s old junk out there with displays going to waste. Unfortunately, unlike the displays on sale at your favourite maker website, these often lack a controller and can be quite difficult to drive. [pataga] took on the challenge to drive a LCD of unknown provenance, using the power of the ESP32.

The LCD in question is a 240×160 monochrome device, that was initially being driven successfully with a Microchip PIC24 with a dedicated LCD driver peripheral. This allowed [pataga] to study the display interface under working conditions with the help of an oscilloscope. Inspiration was then taken from a project by [Sprite_tm], which used the I2S peripheral to drive a small LED display without placing load on the CPU.

Using the ESP32’s I2S peripheral in parallel mode makes it possible to shift data out in the correct format to drive the LCD without bit-banging IO pins and using up precious CPU time. This leaves processor cycles free to do interesting things, like generating 3D images using [cnlohr]’s routines from the Channel 3 project. There’s a little extra work to be done, with the frame signal being generated by an external flip flop and some fudging with the arrangement of various registers, but it’s a remarkably tidy repurposing of the I2S hardware, which seems to be the gift that keeps on giving. (Here it is spitting out VGA video through a resistor DAC.)

Code is available on Github for those looking to get at the nuts and bolts of the hack. It’s another build that goes to show, it’s not the parts in your junk box that count, but how you use them.

This BeagleBone’s Got AI

There are a lot of BeagleBones, from Blue, to White, Green, Black, and we think there’s a purple one in there for some reason. The diversity of BeagleBones is due to the openness of the design, and is the biggest advantage over the ‘bone’s main competitor, the Raspberry Pi.

Now, there’s a new BeagleBone, and this time the color is AI. The BeagleBoard foundation has just unveiled the BeagleBone AI, and it is going to be the most powerful BeagleBone ever developed.

Unlike the BeagleBone Blue, Black, or the PocketBeagle, the BeagleBone AI uses the TI AM5729 processor, a dual-core ARM Cortex-A15 running at 1.5 GHz. It’s not a BeagleBone unless it has those nifty real-time programmable units, and yes, this one has four. This is the BeagleBone AI, so something else has to be different, and it comes with four Embedded Vision Engines (EVEs), a TIC66x DSP, and support for machine learning with pre-installed tools.

Of especially interesting note, this board features USB C connectors, Gigabit Ethernet, onboard WiFi, 1 GB of RAM, and 16 GB of eMMC Flash. The massive block of pin headers remains the same.

If this feature set sounds somewhat familiar to the Beagle family, you’re right. The BeagleBoard X-15 — the alpha wolf of the BeagleBone family — also comes with DSP, and Cortex-A15 cores running at 1.5 GHz. The use case for the X-15 was a little puzzling, as it was too big to really be a portable or embeddable system, but didn’t have the power of the likes of an Nvidia Jetson or what have you. The BeagleBone AI is essentially a minified version of the X-15, albeit slightly less capable in terms of RAM and Flash.