Rocket Controls Fit for a Kerbal

Kerbal Space Program is a space simulation game. You design spacecraft for a fictional race called Kerbals, then blast those brave Kerbals into space. Sometimes they don’t make it home.

If controlling spacecraft with your WASD keys isn’t immersive enough for you, [marzubus] has created a fully featured KSP control console. It sports a joystick, multiple displays, and an array of buttons and switches for all your flight control needs. The console was built using a modular approach, so different controls can be swapped in and out as needed.

Under the hood, three Arduinos provide the interface between the game and the controls. One Arduino Mega runs HoodLoader2 to provide joystick data over HID. A second Mega uses KSPSerialIO to communicate with the game over a standard COM port interface. Finally, a Due interfaces with the displays, which provide information on the current status of your spacecraft.

All of the parts are housed in an off the shelf enclosure, which has a certain Apollo Mission Control feel to it. All [marzubus] needs now is a white vest with a Kerbal badge on it.

New Part Day: Really, Really Wide Screens

Once again my inbox runneth over with press releases, Kickstarter announcements, unsolicited emails, and a bunch of product announcements. Most of these, of course, are never to be seen again. Once in a great while – statistically insignificant, really – there’s a product announcement that’s just interesting enough to take a closer look at. This time, it’s a really, really wide screen.

LCDs are curious beasts when it comes to display interfaces. Back in the bad old days of gigantic tube TVs, the aspect ratio of these displays was fairly limited. You could get a 4:3 display, and with the rare exception of o-scopes, vector displays, and other weird devices, that was it. Since then we’ve moved to LCDs, a promising technology if you want a display in the shape of a car dashboard, or as a thin strip to put on some rackmount modules. It took this long for a sliver of an LCD to appear.

This display produced by EarthLCD is a 10.4 inch display, about ten inches wide and one inch tall. The resolution is 1024 by 100. It is, by far, the skinniest LCD ever produced. The closest you’re going to get to a display with this kind of aspect ratio are old character LCDs, and even then you’re not going to address individual pixels.

If you’re struggling to figure out what this would be used for, this product makes it somewhat obvious. It’s a 1U rack with a beautiful 1024×100 display embedded in the front. You’ve never seen a server that cool.

Interestingly, the 1U display is driven by a single Raspberry Pi, and looking at the datasheet for the display (PDF) tells you pretty much everything. The display is driven by a regular old parallel interface, with six bits of color for R, G, and B. That means it can be driven with a Raspberry Pi without an adapter board, a BeagleBone, or even smaller ARM micros with the obvious reduction in color depth.

While the display isn’t a game changer or something that will knock your socks off, it is, interesting and something that could find its way into some interesting projects. If you have any idea what those projects would be, drop a note in the comments.

Continue reading “New Part Day: Really, Really Wide Screens”

An Arduino Device that Monitors Your External IP Address

[Bayres’] dad setup a webcam as a surveillance camera for a remote property. The only problem was that the only stable Internet connection they could get at this property was DSL. This meant that the external IP address of the webcam would change somewhat often; the needed a way to keep track of the external IP address whenever it changed. That’s when [Bayres] built a solution using Arduino and an Ethernet shield.

The main function of this device is to monitor the public IP address and report any changes. This is accomplished by first making a request to checkip.dyndns.org. This website simply reports your current public IP address. [Bayres] uses an Arduino library called Textfinder in order to search through the returned string and identify the IP address.

From there, the program compares this current value to the previous one. If there is any change, the program uses the Sendmail() function to reach out to an SMTP server and send an e-mail alert to [Beyres’] dad. The system also includes a small LCD. The Arduino outputs the current IP address to this display, making it easy to check up on the connection. The LCD is driven by 74HC595 shift register in order to conserve pins on the Arduino.

The system is also designed with a pretty slick setup interface. When it is booted, the user can enter a configuration menu via a Serial terminal. This setup menu allows the user to configure options such as SMTP server, email address, etc. These variables are then edited and can be committed to EEPROM as a more permanent storage solution. Whenever the system is booted, these values are read back out of the EEPROM and returned to their appropriate variables. This means you can reconfigure the device on the fly without having to edit the source code and re-upload.

Solar Panel System Monitoring Device Using Arduino

[Carl] recently upgraded his home with a solar panel system. This system compliments the electricity he gets from the grid by filling up a battery bank using free (as in beer) energy from the sun. The system came with a basic meter which really only shows the total amount of electricity the panels produce. [Carl] wanted to get more data out of his system. He managed to build his own monitor using an Arduino.

The trick of this build has to do with how the system works. The panel includes an LED light that blinks 1000 times for each kWh of electricity. [Carl] realized that if he could monitor the rate at which the LED is flashing, he could determine approximately how much energy is being generated at any given moment. We’ve seen similar projects in the past.

Like most people new to a technology, [Carl] built his project up by cobbling together other examples he found online. He started off by using a sketch that was originally designed to calculate the speed of a vehicle by measuring the time it took for the vehicle to pass between two points. [Carl] took this code and modified it to use a single photo resistor to detect the LED. He also built a sort of VU meter using several LEDs. The meter would increase and decrease proportionally to the reading on the electrical meter.

[Carl] continued improving on his system over time. He added an LCD panel so he could not only see the exact current measurement, but also the top measurement from the day. He put all of the electronics in a plastic tub and used a ribbon cable to move the LCD panel to a more convenient location. He also had his friend [Andy] clean up the Arduino code to make it easier for others to use as desired.

Hacklet 35 – BeagleBone Projects

The Raspberry Pi 2 is just barely a month old, and now that vintage console emulation on this new hardware has been nailed down, it’s just about time for everyone to do real work. You know, recompiling stuff to take advantage of the new CPU, figuring out how to get Android working on the Pi, and all that good stuff that makes the Pi useful.

It will come as no surprise to our regular readers that there’s another board out there that’s just as good in most cases, and in some ways better than the Pi 2. It’s the BeagleBone Black, and for this edition of the Hacklet, we’re focusing on all the cool BeagleBone projects on Hackaday.io.

lcdSo you have a credit card sized Linux computer and a small, old LCD panel. If it doesn’t have HDMI, VGA or composite input, there’s probably no way of getting this display working, right? Nope. Not when you can make an LCD cape for $10.

[Dennis] had an old digital picture frame from a while back, and decided his BeagleBone needed a display. A few bits of wire and some FPC connectors, and [Dennis] has a custom display for his ‘Bone. It’s better than waiting for that DSI display…

bed[THX1082] is making a bed for his son. This isn’t your usual race car bed, or even a very cool locomotive bed. No, this is a spaceship bed. Is your bed a space ship? No, I didn’t think so.

Most of the work with plywood, MDF, paint, and glue is done, which means the best feature of this bed – a BeagleBone Black with an LCD, buttons, a TV, and some 3D printed parts – is what [THX] is working on right now. He’s even forking a multiplayer networked starship simulator to run in the bed. Is your bed a starship simulator?

beer

Beer. [Deric] has been working on a multi-step fermentation controller using the BeagleBone Black. For good beer you need to control temperatures and time, lest you end up with some terrible swill that I’d probably still drink.

This project controls every aspect of fermentation, from encouraging yeast growth, metabolization of sugars, and flocculation. The plan is to use two circuits – one for heating and one for cooling – and a pair of temperature sensors to ensure the beer is fermenting correctly.


If you’re looking for more BeagleBone Projects, there’s an entire list of them over on Hackaday.io with GLaDOs Glasses, Flight Computers, and Computer Vision.

Reverse Engineer then Drive LCD with FPGA

Fans of [Ben Heck] know that he has a soft spot for pinball machines and his projects that revolve around that topic tend to be pretty epic. This is a good example. At a trade show he saw an extra-wide format LCD screen which he thought would be perfect on a pinball build. He found out it’s a special module made for attaching to your car’s sun visor. The problem is that it only takes composite-in and he wanted higher quality video than that offers. The solution: reverse engineer the LCD protocol and implement it in an FPGA.

This project is a soup to nuts demonstration of replacing electronics drivers; the skill is certainly not limited to LCD modules. He starts by disassembling the hardware to find what look like differential signaling lines. With that in mind he hit the Internet looking for common video protocols which will help him figure out what he’s looking for. A four-channel oscilloscope sniffs the signal as the unit shows a blue screen with red words “NO SIGNAL”. That pattern is easy to spot since the pixels are mostly repeated except when red letters need to be displayed. Turns out the protocol is much like VGA with front porch, blanking, etc.

With copious notes about the timings [Ben] switches over to working with a Cyclone III FPGA to replace the screen’s stock controller. The product claims 800×234 resolution but when driving it using those parameters it doesn’t fill the entire screen. A bit more tweaking and he discovers the display actually has 1024×310 pixels. Bonus!

It’s going to take us a bit more study to figure out exactly how he boiled down the sniffed data to his single color-coded protocol sheet. But that’s half the fun! If you need a few more resources to understand how those signals work, check out one of our other favorite FPGA-LCD hacks.

Continue reading “Reverse Engineer then Drive LCD with FPGA”

A SEGA Dreamcast Controller With a Built-in Screen

[Fibbef] was hard at work on a project for a build-off competition when he accidentally fried the circuit board. Not one to give up easily, he opted to start a new project with only two days left in the competition. He managed to modify a SEGA Dreamcast controller to hold a color screen in that short amount of time.

The Dreamcast controller’s shape is somewhat conducive to this type of mod. It already has a small window to ensure the view of the visual memory card is not obstructed. Unfortunately [Fibbef’s] screen was a bit too large for this window. That meant he would have to expand the controller and the circuit board.

After taking the controller apart, he desoldered the memory card connectors. He then cut the circuit board cleanly in half vertically. He had to re-wire all of the traces back together by hand. It turned out initially that he had messed something up and accidentally fried the right half of the controller. To fix it, he cut a second controller in half and soldered the two boards together.

With some more horizontal space to work with on the PCB side of things, [Fibbef] now needed to expand the controller’s housing. He cut the controller into several pieces, making sure to keep the start button centered for aesthetics. He then used duct tape to hold popsicle sticks in place to make up for the missing pieces of the case. All of the sticks were then covered with a thick layer of ABS cement to make for a more rigid enclosure. All of this ended up being covered in Bondo, a common trick in video game console mods. It was then sanded smooth and painted with black primer to make for a surprisingly nice finish.

The screen itself still needed a way to get power and a video signal. [Fibbef] built an adapter box to take both of these signals and pass them to the controller via a single cable. The box as a USB-A connector for power input, and a composite connector for video. There’s also a USB-B connector for the output signals. [Fibbef] uses a standard printer USB cable to send power and video signals to the controller. The end result looks great and serves to make the Dreamcast slightly more portable. Check out the demo video below to see it in action. Continue reading “A SEGA Dreamcast Controller With a Built-in Screen”