A useful add-on for any computer is a plug-in macro keyboard, a little peripheral that adds those extra useful buttons to automate tasks. [Sayantan Pal] has made one, a handy board with nine programmable keys and a USB connector, but the surprise is that at its heart lies only the ubiquitous ATmega328 that you might find in an Arduino Uno. This isn’t a USB HID keyboard, instead it uses a USB-to-serial chip and appears to the host computer as a serial device. The keys themselves are simple momentary action switches, perhaps a deluxe version could use key switches from the likes of Cherry or similar.
The clever part of this build comes on the host computer, which runs some Python code using the PyAutoGui library. This allows control of the keyboard and mouse, and provides an “in” for the script to link serial and input devices. Full configurability is assured through the Python code, and while that might preclude a non-technical user from gaining its full benefit it’s fair to say that this is not intended to compete with mass-market peripherals. It’s a neat technique for getting the effect of an HID peripheral though, and one to remember for future use even if you might not need it immediately.
More conventional USB keyboards have appeared here in the past, typically using a processor with built-in USB HID support such as the ATmega32u4.
Don’t you just hate it when dev boards have some annoying little quirk that makes them harder to use than they should be? Take the ESP32-CAM, a board that started appearing on the market in early 2019. On paper, the thing is amazing: an ESP32 with support for a camera and an SD card, all for less than $10. The trouble is that programming it can be a bit of a pain, requiring extra equipment and a spare finger.
Not being one to take such challenges lying down, [Bitluni] has come up with a nice programming board for the ESP32-CAM that you might want to check out. The problem stems from the lack of a USB port on the ESP32-CAM. That design decision leaves users in need of a USB-to-serial adapter that has to be wired to the GPIO pins of the camera board so that programs can be uploaded from the Arduino IDE when the reset button is pressed. None of that is terribly complex, but it is inconvenient. His solution is called cam-prog, and it takes care of not only the USB conversion but also resetting the board. It does that by simply power cycling the camera, allowing sketches to be uploaded via USB. It looks to be a pretty handy board, which will be available on his Tindie store.
To demonstrate the add-on, he programmed his ESP32-CAM and connected it to his enormous ping pong ball video wall. The video quality is about what you’d expect from a 1,200 pixel display at 40 mm per pixel, but it’s still pretty smooth – smooth enough to make his interpretive dance moves in the last few minutes of the video pretty interesting.
Continue reading “Add-On Makes ESP32 Camera Board Easier To Program”
It may come as little surprise to find that Hackaday does not often play host to typewriter projects. While these iconic machines have their own particular charm, they generally don’t allow for much in the way of hardware modification. But then the IBM Wheelwriter 1000 isn’t exactly a traditional typewriter, which made its recent conversion to a fully functional computer terminal possible.
A product of the Computer History Museum’s [IBM 1620 Jr. Team], this modification takes the form of a serial interface board that can be built at home and installed into the Wheelwriter. The board allows the vintage electronic typewriter to speak RS-232 and USB, so it can be connected to whatever vintage (or not so vintage) computer you can imagine. The documentation for the project gives a rough cost of $150, though that does assume you’ve already got a Wheelwriter 1000 kicking around.
The GitHub repository includes everything you need to create your own board, and there’s even a highly detailed installation guide that goes over the case modifications necessary to get the new hardware installed. It also explains that you’ll want to get a new keycap set for your Wheelwriter if you perform this modification, as the original board doesn’t have all of the ASCII characters.
So why adapt an old electric typewriter to function as a teletype? As explained by the [IBM 1620 Jr. Team], there are projects out there looking to recreate authentic 1960s-era computing experiences that need a (relatively) affordable paper terminal. The originals are too rare to use in modern recreations, but with their adapter board, these slightly less archaic input devices can be used in their place.
Once you’ve built your new teletype, or in the somewhat unlikely event you already have one at the ready, we’ve seen a couple of projects that you might be interested in to put it to use.
There was a time when an intercom was simply a pair of boxes with speakers joined by a couple of wires, with an audio amplifier somewhere in the mix. But intercoms have like everything else joined the digital age, so those two wires now carry a load of other functionality as digital signalling. [Aaron Christophel] installs these devices for a living, and has posted a fascinating reverse engineering video that we’ve also placed below the break.
Power for the system is present as a constant 24V DC, and the audio is still an old-fashioned analogue signal that we’ll all be familiar with. On that 24V DC though are imposed a series of pulse trains to trigger the different alarms and other functions, and he describes extracting these with an oscilloscope before showing us the circuitry he’s used to send and receive pulses with an Arduino. The bulk of the video is then devoted to the software on the Arduino, which you can also find in a GitHub repository.
The result is an interesting primer for anyone who fancies a bit of serial detective work, even if they don’t have a intercom to hand.
Continue reading “Reverse Engineering A Two-Wire Intercom”
[Ryan Schenk] had a problem: he built the perfect surfboard. Normally that wouldn’t present a problem, but in this case, it did because [Ryan] had no idea how he carved the gentle curves on the bottom of the board. So he built this homebrew 2D-scanner to make the job of replicating his hand-carved board a bit easier.
Dubbed the Scanbot 69420 – interpretation of the number is left as an exercise for the reader, my dude – the scanner is pretty simple. It’s just an old mouse carrying a digital dial indicator from Harbor Freight. The mouse was gutted, with even the original ball replaced by an RC plane wheel. The optical encoder and buttons were hooked to an Arduino, as was the serial output of the dial indicator. The Arduino consolidates the data from both sensors and sends a stream of X- and Z-axis coordinates up the USB cable as the rig slides across the board on a straightedge. On the PC side, a Node.js program turns the raw data into a vector drawing that represents the profile of the board at that point. Curves are captured at various points along the length of the board, resulting in a series of curves that can be used to replicate the board.
Yes, this could have been done with a straightedge, a ruler, and a pencil and paper – or perhaps with a hacked set of calipers – but that wouldn’t be nearly as much fun. And we can certainly see applications for this far beyond the surfboard shop.
One of the more interesting ideas being experimented with in VR is 1:1 mapping of virtual and real-world objects, so that virtual representations can have physically interaction in a normal way. Tinker Pilot is a VR spaceship simulator project by [LLUÍS and JAVI] that takes this idea and runs with it, aiming for the ability to map a cockpit’s joysticks, switches, and other hardware to real-world representations. What does that mean? It means a virtual cockpit with flight sticks, levers, and switches that have working physical versions that actually exist exactly where they appear to be.
A few things about the project design caught our eye. One is the serial communications protocol intended to interface easily with microcontrollers, allowing for feedback between the program and any custom peripherals. (By the way, this is the same approach Kerbal Space Program took with KSPSerialIO, which enables custom mission control hardware at whatever level of complexity a user may wish to implement.)
The possibilities are demonstrated starting around 1:09 in the teaser trailer (embedded below) in which a custom controller is drawn up in CAD, then 3D-printed and attached to an Arduino, and finally the 3D model is imported into the cockpit as a 1:1 representation of the actual working unit, with visual positional feedback.
Unlike this chair experiment we saw which attached a Vive Tracker to a chair, there is no indication of needing positional trackers on individual controls in Tinker Pilot. In a cockpit layout, controls can be reasonably expected to remain in fixed positions relative to the cockpit, meaning that they can be set up as 1:1 representations of a physical layout and otherwise left alone. The kind of experimentation that is available today even to individual developers or small teams is remarkable, and it’s fascinating to see the ideas being given some experimentation.
Continue reading “Tinker Pilot Project Cranks Cockpit Immersion To 11”
Now, digital calipers with wired interfaces to capture the current reading are nothing new. But the good ones are expensive, and really, where’s the fun in plugging a $75 cable into a computer? So when [Max Holliday] was asked to trick out some calipers for automating data capture, he had to get creative.
[Max] found that cheap Harbor Freight digital calipers have the telltale door that covers a serial connector, making them a perfect target for hacking. A little Internet sleuthing revealed the pinout for the connector as well as some details on the serial protocol used by most digital calipers: 24-bit packets is six four-bit words. [Max] used his SAM32, a neat open-source board with both a SAMD51 and an ESP32 that can run CircuitPython. An inverting buffer interfaces the serial lines to the board, which is just the right size to mount on the back of the caliper head. It’s hard to tell how [Max] is triggering readings, but the SAM32 is mounted as a USB device and sends keystrokes directly to a spreadsheet – yes, with the ESP32 it could have been wireless, but his client specifically requested a wired setup. Taking multiple readings is easy now that the user never has to swap calipers for a pen.
Cheap calipers like these are pretty hackable – you can add Bluetooth, turn them into DROs for a milling machine, or even make them talk.