Dumping Synth ROMs and Avoiding Bitrot

Bitrot is setting in, and our digital legacy is slowly turning to dust. Efforts preserve our history are currently being undertaken numerous people around the Internet, and [Jason Scott] just got an automated CD ripper, so everything is kinda okay.

However, there is one medium that’s being overlooked. ROMs, and I don’t mean video game cartridges. In the 80s, mask ROMs were everywhere, found in everything from talking cars to synthesizers.

[Ali] bought a Korg i5m workstation from eBay a few years ago, but this unit had a problem. Luckily, he had a similar synth with the same samples stored on board. There was only one way to find out if bitrot was the cause: desoldering the chips and dumping all the information.

After fiddling around with his broken synth, [Ali] still had a problem with the sound output. Deciding the ROM chips had to be the issue, [Ali] desoldered the chips and ordered a breadboard SOP44 adapter after deciding soldering wires to each lead of the chip was a bad idea. This adapter was connected to an Arduino Mega — still the best tool for weird tasks like this — and the contents of the ROM were dumped to a PC with the help of a helpful Arduino sketch.

Dumping the ROMs took about 15 minutes, and that’s if he was able to maintain a good connection between the chip and Arduino for that long. [Ali] wrote an improved ROM reader after much trial and error, and was eventually able to get the same data out of the same chip eventually.

While the broken synth hasn’t been repaired yet, at least [Ali] has the important bits off of this antique instrument. That’s good enough for now, but [Ali] intends to take this project to completion and get those vintage samples playing out of this great old synth.


Panelizing Boards The Easy Way

For reasons that will remain undisclosed until some time in the future, I recently had a need to panelize a few PCBs. Panelization is the art of taking PCB designs you already have, whether they’re KiCad board files, Eagle board files, or just Gerbers, and turning them into a single collection of PCBs that can be sent off to a fab house.

Now this is panel racing

If you’re still wondering what this means, take a look at the last board you got from OSH Park, Seeed, Itead, or Dirty PCBs. Around the perimeter of your board, you’ll find some rough spots. These are ‘mouse bites’ and tabs, places where the boards are strung together to form a gigantic rectangular panel sent off to a manufacturer. You can check out this great interview with [Laen] from OSH Park to get an idea of how this works, but the basic process is to take a bunch of Gerbers, add tabs and mouse bites, solve the knapsack problem, and send the completed panel off to a board house.

Panelizing boards is something most of us won’t have to do often. Really, you only want a panel of boards when you’re manufacturing something. For small-scale production and prototypes, bare boards will do just fine. Simply by virtue of the fact that panelizing boards is far less common than throwing some Gerbers at OSH Park or Seeed, there aren’t many (good) tutorials, and even fewer (good) tools to do so. This is how you panelize boards quickly and easily using Open Source tools.

Continue reading “Panelizing Boards The Easy Way”

Friday Hack Chat: Perfect Purple PCBs

Every Friday, we gather ’round the hot air gun over on Hackaday.io, invite some cool people over, and get them to talk about what they do. This is the Hack Chat. It’s become a tradition, and already we’ve had a ton of awesome people walk through our doors.

This Friday, we’re going to sit down with the purveyors of perfect purple PCBs. Over the last decade or so, a lot has changed in the space of small-run PCB production. Ten years ago, PCBs were expensive, and it wouldn’t be abnormal to spend hundreds of dollars on a small run of tiny boards. Now, The DEF CON 24 badge, in a panel are cheaper than ever, giving industrious hardware creators access to professional quality manufacturing at a fraction of the price seen just a few years ago.

For the last few years, OSH Park has been a mainstay of low-volume PCB fabrication. Their website is as simple as it gets: Upload some Gerbers, an Eagle board file, or a KiCad PCB, press a few buttons, and in a week or so you’ll have a perfect purple PCB in your mailbox.

This week, we’re inviting [Drew Fustini] and [Dan Sheadel] to talk about what OSH Park does, how they became the first place that comes to mind when you need a PCB. They’ll explain why the boards are purple, environmental regulations for PCB manufacturing in the US, shared projects and tips and tricks for creating the perfect board.

What would you like to see from a PCB supplier? Would you like to see OSH Park expand further into their burgeoning Pog business? How about a sticker club? Who would win in a fight, a blue robot dog or a purple robot shark? All these questions and more will be answered; if you have a question for the OSH Park team, drop it in this spreadsheet.

Here’s How To Take Part:

join-hack-chatOur Hack Chats are live community events on the Hackaday.io Hack Chat group messaging. This hack chat will take place at noon Pacific time on Friday, June 23rd. Confused about where and when ‘noon’ is? Here’s a time and date converter!

Log into Hackaday.io, visit that page, and look for the ‘Join this Project’ Button. Once you’re part of the project, the button will change to ‘Team Messaging’, which takes you directly to the Hack Chat.

You don’t have to wait until Friday; join whenever you want and you can see what the community is talking about

Reverse Engineering The Monoprice Printer

When the Monoprice MP Select Mini 3D printer was released last year, it was a game changer. This was a printer for $200, yes, but it also held a not-so-obvious secret: a 3D printer controller board no one had ever seen before powered by a 32-bit ARM microcontroller with an ESP8266 handling the UI. This is a game-changing set of electronics in the world of 3D printing, and now, finally, someone is reverse engineering it.

[Robin] began the reverse engineering by attaching the lead of an oscilloscope to the serial line between the main controller and display controller. The baud rate is weird (500 kHz), but apart from that, the commands readily appear in human-parsable text. There is a web server built into the MP Mini printer, and after inspecting the web page that’s served up from this printer, [Robin] found it was possible to send G-code directly from the controller board, get a list of files on the SD card, and do everything you would want to do with a 3D printer.

After deconstructing the circuit on the display board, [Robin] found exactly what you would expect from such a simple board: an SPI display driven by an ESP, and a big flash chip sitting off to the side. [Robin] found the the model of the display, and quickly built a project on Platform.io to draw text to the LCD. This isn’t the end of the project – there’s still a lot that must be done before this printer is squirting out parts with custom firmware.

While this isn’t a hack of the driver board inside the MP Mini, that’s not really a problem. The motor driver board in this printer doesn’t really need any changes, and was already ahead of its time when this printer was released last year. As with most things, the UI is the weak point, and upgrading the firmware and built-in web server for this printer is the best way forward.

[Robin] put together a truly phenomenal video of how he reverse engineered this display controller. You can check that out below.

Continue reading “Reverse Engineering The Monoprice Printer”

The Immersive Flight Simulator From 1989

The history of PC gaming showers games such a Wolfenstein 3D and Doom with the honor of having the most advanced graphics of the day. Often overlooked is Microsoft Flight Simulator and earlier, pre-Microsoft versions from subLOGIC, including the 1977 Apple II version. [Wayne Piekarski] was playing around with MS Flight Simulator 4 recently, and wanted it to be a bit more like his modern flight sim based on X-Plane 11. That meant multiple monitors, and the results are amazing.

The video and networking capabilities for MS Flight Sim 4, while very impressive for the late 80s, are still very limited. In 1989, computers only supported a single display, and while FS4 had the ability to network machines together for dogfighting, there was no way to set the camera viewpoint to the remote aircraft.

The solution to this problem came in the form of memory dumps. Since [Wayne] is running FS4 in DOSBox, he’s able to read the memory of one instance of the game, and write those memory locations to another instance of the game. There were only 18 bytes of memory in the instance of DOSBox that included heading, altitude, roll, and pitch information for the simulated aircraft. [Wayne] is sending this data to other instances of FS4 — effectively mirroring the game on another machine — and changing the camera view to look out the left and right windows. He displayed those views on additional monitors, and was done.

The results are exactly what you would expect. [Wayne] is now taking off from Meigs Field and buzzing the ten or twelve buildings in downtown Chicago with a panoramic 180° view. Check out the videos of that in action below.

Continue reading “The Immersive Flight Simulator From 1989”

Twenty IoT Builds That Just Won $1000 in the Hackaday Prize

Today we’re excited to announce the winners of the Internet of Useful Things phase of The Hackaday Prize. The future will be connected, and this is a challenge to build devices connected to the Internet that are useful. These projects are the best the Internet of Things have to offer, and they just won $1000 each and will move on to the final round of the Hackaday Prize this fall.

Hackaday is currently hosting the greatest hardware competition on Earth. We’re giving away thousands of dollars to hardware creators to build the next great thing. Last week, we wrapped up the second of five challenges. It was all about showing a design to Build Something That Matters. Hundreds entered and began their quest to build a device to change the world.

There are still three more challenges to explore over the next few months. So far, the results have been spectacular. The winners for the Internet of Useful Things portion of the Hackaday Prize are, in no particular order:

Internet of Useful Things Hackaday Prize Finalists:

Continue reading “Twenty IoT Builds That Just Won $1000 in the Hackaday Prize”

Better LEDs through DMA

While regular Hackaday readers already know how to blink a LED with a microcontroller and have moved onto slightly more challenging projects such as solving the Navier-Stokes equations in 6502 assembly, that doesn’t mean there’s not space for newbies. [Rik] has published a great tutorial on abusing DMA for blinkier glowy things. Why would anyone want to learn about DMA techniques? For blinkier glowy things, of course.

This tutorial assumes knowledge of LED multiplexing and LED matrices, or basically a bunch of LEDs connected together on an XY grid. The naive way to drive an 8×8 grid of LEDs is attaching eight cathodes to GPIO pins on a microcontroller, attaching the eight anodes to another set of GPIO pins, and sourcing and sinking current as required. The pin count can be reduced with shift registers, and LED dimming can be implemented with PWM. This concludes our intensive eight-week Arduino course.

Thanks to microcontrollers that aren’t trapped in the 1980s, new techniques can be used to drive these LED matrices. Most of the more powerful ARM microcontrollers come with DMA, a peripheral for direct memory access. Instead of having the CPU do all the work, the DMA controller can simply shuffle around bits between memory and pins. This means blinker projects and glowier LEDs.

[Rik]’s method for DMAing LEDs includes setting up a big ‘ol array in the code, correctly initializing the DMA peripheral, and wiring up the LED matrix to a few of the pins. This technique can be expanded to animations with 64 levels of brightness, something that would take an incredible amount of processing power (for a microcontroller, at least) if it weren’t for the DMA controller.

The setup used in these experiments is an STM32F103 Nucleo board along with the OpenSTM32 IDE. [Rik] has released all the code over on GitHub, and you are, of course, encouraged to play around.