A Personal Fight Against The Modern Laptop

If you haven’t gone laptop shopping recently, you’re in for a big shock when you do. While the current generation of MacBook Pros is rightly torn to shreds for being an overpriced machine with a stupid gimmick of a Touch Bar, there are issues with laptops across the industry. No one has figured out how to take a high-res iPad screen and add a keyboard, most laptops with a display smaller than 13 inches are capped at 720 resolution, new features are introduced at the expense of old ones, binary blobs are cast into a web of BIOS whitelists and missing drivers, No, the Microsoft Surface doesn’t count, because while it’s a nice machine it’s a tablet with a keyboard, not a laptop.

After months of searching, [Hamish Coleman] found the closest thing to a perfect laptop. It’s a Thinkpad X230 from the ancient days of yore, or 2012 depending on how you’re counting. It’s close to perfect, though: aside from an old CPU and GPU, the only real show stopper is the keyboard. Replacing that keyboard was [Hamish]’s personal fight against the modern laptop (YouTube, embedded below), and he’s making it easier for us to fight against the current crop of craptops, too.

Continue reading “A Personal Fight Against The Modern Laptop”

The Zimmermann Telegram

World War I began in 1914 as a fight among several European nations, while the United States pursued a policy of non-intervention. In fact, Woodrow Wilson was reelected President largely because “He kept us out of war”. But as the war unfolded in Europe, an intercepted telegram sent by the German Foreign Secretary, Arthur Zimmermann, to the Mexican government inflamed the U.S. public opinion and was one of the main reasons for the entry of the U.S. into WWI. This is the story of the encrypted telegram that changed the last century.

Continue reading “The Zimmermann Telegram”

Objectifier: Director Of Domestic Technology

book-example[Bjørn Karmann]’s Objectifier is a device that lets you control domestic objects by allowing them to respond to unique actions or behaviour, using machine learning and computer vision. The Objectifier can turn on a table lamp when you open a book, and turn it off when you close the book. Switch on the coffee maker when you place the mug next to the pot, and switch it off when the mug is removed. Turn on the belt sander when you put on the safety glasses, and stop it when you remove the glasses. Charge the phone when you put a banana in front of it, and stop charging it when you place an apple in front of it. You get the drift — the possibilities are endless. Hopefully, sometime in the (near) future, we will be able to interact with inanimate objects in this fashion. We can get them to learn from our actions rather than us learning how to program them.

The device uses computer vision and a neural network to learn complex behaviours associated with your trigger commands. A training mode, using a phone app, allows you to train it for the On and Off actions. Some actions require more human effort in training it — such as detecting an open and closed book — but eventually, the neural network does a fairly good job.

The current version is the sixth prototype in the series and [Bjørn] has put in quite a lot of work refining the project at each stage. In its latest avatar, the device hardware consists of a Pi Zero, a Raspberry-Pi camera module, an SMPS power brick, a relay block to switch the output, a 230 V plug for input power and a 230 V socket outlet for the final output. All the parts are put together rather neatly using acrylic laser cut support pieces, and then further enclosed in a nice wooden enclosure.

On the software side, all of the machine learning part is taken care of using “Wekinator” — a free, open source software that allows building musical instruments, gestural game controllers, computer vision or computer listening systems using machine learning. The computer vision is handled via Processing. All the code is wrapped using openframeworks, with ml4A providing apps for working with machine learning.

All of the above is what we could deduce looking at the pictures and information on his blog post. There isn’t much detail about the hardware, but the pictures are enough to tell us all. The software isn’t made available, but maybe this could spur some of you hackers into action to build another version of the Objectifier. Check out the video after the break, showing humans teaching the Objectifier its tricks.

Continue reading “Objectifier: Director Of Domestic Technology”

Ultrasuede Bench Power Supply Got Style

From the look of it sitting on his bench, you’d never guess that [3nz01]’s power supply was actually a couple of el-cheapo modules from eBay, but now we all know the dirty truth.

Re-using or re-purposing an enclosure can be a great way to get a project done faster and get on to the next one. In [3nz01]’s case (tee-hee!), it was an old clock with a broken and annoying buzzer that needed to go. The clock was a nice piece of wood, but that Plexiglas front panel just wasn’t cutting it. That’s why it’s good to have a tailor for a father — a suitable piece of ultrasuede wrapped around the plexi makes the build look swank.

Continue reading “Ultrasuede Bench Power Supply Got Style”

Tiny Morse Code USB Keyboard

We’ve featured quite a few of [mitxela]’s projects here in the past, and many of them have the propensity to be labelled “smallest”. His Morse Code USB Keyboard Mk II adds to that list. It’s a Saturday afternoon project, with a few parts slapped onto a piece of perf-board, that allows using a Morse key as a USB keyboard. This project isn’t new or fresh, but we stumbled across it while trying to figure out a use for a Morse key lying in the author’s bin of parts. You can practise transmitting, by reading text and typing it out on the key, and then look it up on your computer to see if you made any mistakes. Or you can practise receiving, by asking a friend to punch it out for you. Either way, it’s a great way to hone your skills and prepare for your radio operators license exam.

The project is a follow up to his earlier one where he hooked up the Morse key via a RS-232 — USB converter directly to a computer and let the code do all the work. That turned out to be a very resource hungry, impractical project and made him do it right the next time around. The hardware is dead simple. An ATtiny85, a piezo buzzer, some decoupling capacitors, and a few resistors and zeners to allow a safe USB interface. The design accommodates a straight key, but there is one spare pin left over in the ATtiny to allow for iambic or sideswiper keys too. There is no speed adjustment, which is hardcoded at the moment. That isn’t very user friendly, and [mitxela] suggests adding a speed potentiometer to that last remaining pin on the ATtiny. This would prevent use of iambic/sideswiper keys. Or, you could use the RST pin on the ATtiny as a (weak) IO. The RST pin can read analog values between 5V and 2.5V, and will reset when voltage falls below 2.2V. Or just use another microcontroller as a last resort.

For the USB interface, [mitxela] is using the V-USB library after wasting some time trying to reinvent the wheel. And since this is designed to work as a HID, there are no drivers required – plug it in, and the OS detects it as a keyboard. He’s borrowed code from the EasyLogger project to use the internal oscillator and help free up the IO pins. And to detect the characters being typed, his code uses a long string of compare statements instead of a dictionary lookup. Writing that code was tedious, but it makes the identification quicker, since most characters can be identified in less that five comparisons (one dit = E, two dits = I, three dits = S and so on). This “tree” makes it easier to figure it out.

If you’d like to look up some of his other “tiny” projects, check out The smallest MIDI synthesizer, Smallest MIDI synth, again! and the ATtiny MIDI plug synth.

Continue reading “Tiny Morse Code USB Keyboard”

Electronic Prototyping With A 3D Printer

It would be nice if your 3D printer could spit out PC boards. There’s been lots of work done to make that happen, mostly centered on depositing conductive material, although we’ve been surprised no one has worked out how to just 3D print a plastic resist mask.

We recently found a GitHub group for [PCBPrints] which has small modules that would be useful in prototyping and breadboarding. They are really just carriers that create plug in modules for switches, LEDs, and the like. It looks like this is a aggregated list of other GitHub projects that realize these designs. The group is in Spanish, but Google Translate is your friend, as usual. You can see a video of one of the button modules in action, below.

Continue reading “Electronic Prototyping With A 3D Printer”

Pikelet – A Pi-Zero PC

There are many uses for an old 10 Mbps Ethernet hub besides using it as a speed-bump in your network. (No fun in that!) [thinkerzone] decided to gut an old EN104 Bay Networks ‘Netgear Hub’ to re-purpose the solid steel case as a Raspberry Pi Zero PC housing. The project, which [thinkerzone] called Pikelet, aims to be an ‘IoT server’ with the feel of a PC. Note: a PC, not a Gameboy. In his hackaday.io project, he describes the minimum set of features for the Pikelet.

  • Power button – PCs need a power button
  • Power and Status LEDS – Blue for power, RGB for the programmable status LED
  • USB ports – using a Zero4U hub to expand the Pi Zero usb ports
  • Ethernet – using a ENC28J60 module was the original idea, but it burned while making the project
  • HDMI access – the case should ensure the HDMI port is accessible
  • Minimum storage – a 32 Gb SD card was found to be “enough to be useful”
  • UART – via a FT232 module
  • WiFi – a WiFi dongle with an external antenna, since the metal case would degrade the signal if it was inside, so a WiFi hat was not an option

On the software side, it runs the latest version of Raspbian with some additional configuration for the UART port and status LED pins.

In the project logs we can follow along as [thinkerzone] battles through the implementation of the project and, well, Murphy’s Law.  One of the things that a descriptive log is useful for is that it serves as a reminder that an apparently simple project can have a lot of setbacks. Sometimes an easy-to-describe project is quite a challenge to implement. And it can be annoying when explaining the challenges to other (non hackers/makers) persons and they go: “That’s just connecting some wires…”

Is the feeling familiar? It’s nice to see someone else going through it too.