Washington, DC Finally Gets Its Own PCB Metro Map

There was a time, not so long ago, when folks who wanted to make their own custom PCBs would have found themselves in the market for a bucket of acid and a second-hand laser printer. These days, all you have to do is click a few buttons in your EDA program of choice and send the files off for fabrication. It’s easy, cheap, and nobody ends up with chemical burns.

This has obviously had a transformative effect on the electronics hobby — when you can place traces on a PCB like an artist using a brush, it’s only a matter of time before you get projects like [Logan Arkema]’s DCTransistor. This open source board uses carefully arranged RGB LEDs to recreate the Washington Metropolitan Area Transit Authority (WMATA) metro map, and thanks to an ESP8266 connected to their API, can display the positions of trains in real-time.

If you’re getting a sense of déjà vu here, it’s not just in your head. We’ve seen similar maps created for other major metropolitan areas, and [Logan] certainly isn’t trying to take credit for the idea. In fact, he was a bit surprised to find that nobody had ever made one for the DC area — so he decided to take on the challenge himself. He reasoned it would be a good way to hone his PCB design skills and become more comfortable with embedded development. We’d say the end result proves his theory correct, and makes one more city that can boast about its IoT cartography.

Looking to hang a DCTransistor on your own wall? [Logan] says he’ll be dropping the board design files and schematics into the project’s GitHub repository soon, and he also plans on selling pre-made boards in the near future.

We covered this London “tube” map back in 2020, and were impressed by the attention to detail that went into similar displays for Tokyo, Singapore, and the San Francisco Bay Area a year later. Perhaps it’s time to map out your own hometown in LEDs?

Embedded Dashboard Definitely Displays Data

Oftentimes, we’ll find ourselves using an PC attached to a project for serial debugging. Other times, we’ll be squinting at a status LED trying to remember the flash code we invented. This embedded dashboard from [hgrodriguez] aims to land somewhere in the middle.

The dashboard features LEDs, several 5×7 matrix displays, and will also mount a small OLED display as well. Everything onboard is driven by an ItsyBitsy board, featuring an Atmega32u4 microcontroller. Data can be fed to the ItsyBitsy via UART, SPI, or eventually, I2C as well.

With the ItsyBitsy handling actually driving the various displays, your project only need send out debug data over one of the listed interfaces. The ItsyBitsy will then display your byte values or word values on the matrix displays, flash the LEDs as required, and so on.

The result is a useful little console that can show you what’s going on in the brain of your microcontroller project. It’s no substitute for a full serial terminal, but it could definitely come in handy when you need to get eyes on a few variables in RAM!

It’s Linux. On An ESP32

By today’s standards, the necessities for running a Linux-based operating system are surprisingly meagre in terms of RAM and processor power. Back in the day we ran earlier Linux versions on Intel 386 and 486 machines with tiny quantities of memory compared to the multi-gigabyte many-core powerhouses we do today.

So it stands to reason that many of the more powerful microcontrollers should also run Linux, but of course they are often unable because the lack a memory management unit. The original ESP32 is just such a candidate, plenty of power but unable to run Linux. Not so fast, because [Dror Gluska] has managed to boot a Linux kernel on Espressif’s dual-core chip. How on earth? By emulating a RISC-V processor on it and booting a RISC-V version of the kernel.

The emulator in question is [Fabrice Belard]’s TinyEMU, a piece of software that brings both RISC-V and x86 to limited-spec platforms, and the write-up describes the extensive optimization and tracing of ESP32 bottlenecks which was finally able to get a Linux kernel booting in 1 minute and 35 seconds. Of course it’s simply an exercise to prove it can be done and we won’t be seeing Linux-based ESP projects any time soon, but it’s still an impressive piece of work.

This isn’t the lowest-spec microcontroller we’ve seen run Linux, back in 2012 we saw it on emulated ARM running on an 8-bit AVR.

One Shot IR Helper Is A Great Beginner Project

Sometimes you need a little utility device to do a very simple job, and do it well.This one-shot IR helper from [Gregory Sanders] is just that. 

[Gregory] had a TV that didn’t support automatically turning on when the power was applied. This is frustrating when you like to leave devices switched hard off when not in use to save on standby energy draw. Thus, there needed to be a way to send the screen an on signal when his multi-monitor setup was powered on.

A simple circuit paired with a Pi Pico was pressed into service. The Pico flashes an IR LED, squirting out the requisite code to tell the TCL branded TV to switch on. [Gregory] figured out the codes by using an Arduino to read the output of the TV’s remote with an IR sensor. The hook here is the code is written in MicroPython, using IR libraries from [Peter Hinch].

Now, when [Gregory] powers up his rig, the IR sender will trigger the TV to switch on. It’s a little frustrating that the auto-on function wasn’t available in the factory, but regardless, now everything’s working as it should. If you want to do this in reverse, consider building a TV-B-Gone or a silencer for the boomboxes used by dancing grandmas!

GCore: Make Portable Devices With Less Frustration

[Dan Julio]’s gCore (short for Gadget Core) is aimed at making GUI-based portable and rechargeable gadgets much easier to develop. gCore is the result of [Dan]’s own need for a less tiresome way to develop such hardware.

A touchscreen is great, but high-quality power control and charging features are what really make a portable device sing.

[Dan] found that he seemed to always be hacking a lot of extra circuitry into development boards just to get decent power management and charge control. To solve this, he designed his own common hardware platform for portable gadgets and the gCore was born.

While the color touchscreen is an eye-catching and useful addition, the real star of his design is the power management and charging features. Unlike most development hardware, the gCore intelligently shares load power with charging power. Power on and power off are also all under software control.

Sound intriguing? That’s not all the gCore has to offer, and you can learn more from the project page at hackaday.io (which has a more in-depth discussion of the design decisions and concept.) There are also some additional photos and details on [Dan]’s website.

[Dan] is no stranger to developing hardware. The tcam-mini thermal imager (and much more) is his work, and we have no doubt the gCore’s design and features are informed directly by [Dan]’s actual, practical development needs.

Part of a picture showing all kinds of different CAN devices in a car

CAN Peripheral For RP2040, Courtesy Of PIO

[Kevin O’Connor] writes to us about his project, can2040adding CAN support to the RP2040. The RP2040 doesn’t have a CAN peripheral, but [Kevin] wrote code for the RP2040’s PIO engine that can receive and send CAN packets. Now we can all benefit from his work by using this openly available CAN driver. This library is written in C, so it’s a good fit for the lower-level hackers among us, and in all likelihood, it wouldn’t be hard to make a MicroPython wrapper around it.

The CAN bus needs a peripheral for the messages to be handled properly, and people have been using external chips for this purpose until now. These chips, [Kevin] tells us, have lately been unavailable due to the chip shortage, making this project more valuable. The documentation is extensive and accessible, and [Kevin] details how to best use this driver. With such a tool in hand, you can now turn your Pico into a CAN tinkering toolkit, or wire up some CAN devices for use in your own projects!

[Kevin] says this code is already being used in Klipper, a framework powering 3D printers and other machines like them. As for your own purposes, you can absolutely use such a CAN tool to hack on your car – here’s a treasure trove of car hacking documentation, by the way! Thanks to the PIO engine, there seems to be no end to the RP2040’s versatility – you can even drive HDMI monitor with this PIO-based DVI code.

Continue reading “CAN Peripheral For RP2040, Courtesy Of PIO”

Badges Of 2022: BornHack

While the rest of the world’s hacker camps shut their doors through the pandemic there was one which managed through a combination of careful planning and strict observation of social distancing to keep going. The Danish hacker community gather every August for BornHack, a small and laid-back event in a forest on the isle of Fyn that has us coming back for more every year. They always have an interesting badge thanks to the designs of [Thomas Flummer], and this year looks to be no exception as they’ve dropped some details of the upcoming badge.

In short, it’s a beautifully designed hand-held games console with a colour screen, powered by the ubiquitous-in-the-chip-shortage RP2040 microcontroller. On board are the usual interfaces and a prototyping area plus CircuitPython for easy coding, and we expect it to sprout some addictive and playable gaming action. It’s the sort of PCB that we could imagine coming as a product from the likes of Pimoroni, but for now the only way to get your hands on one is to go to the event. We’ll being you a review when we have one. Meanwhile you can take a look at a previous year’s badge.