A few months ago, the Intel Edison launched with the promise of putting a complete x86 system on a board the size of an SD card. This inevitably led to comparisons of other, ARM-based single board computers and the fact that the Edison doesn’t have a video output, Ethernet, or GPIO pins on a 0.100″ grid. Ethernet and easy breakout is another matter entirely but [Lutz] did manage to give the Edison a proper display, allowing him to run Doom at about the same speed as a 486 did back in the day.
The hardware used for the build is an Edison, an Arduino breakout board, Adafruit display, speaker, and PS4 controller. By far the hardest part of this build was writing a display driver for the Edison. The starting point for this was Adafruit’s guide for the display, but the pin mapping of the Edison proved troublesome. Ideally, the display should be sent 16 bits at a time, but only eight bits are exposed on the breakout board. Not that it mattered; the Edison doesn’t have 16 pins in a single 32-bit memory register anyway. The solution of writing eight bits at a time to the display means Doom runs at about 15 frames per second. Not great, but more than enough to be playable.
For sound, [Lutz] used PWM running at 100kHz. It works, and with a tiny speaker it’s good enough. Control is through Bluetooth with a PS4 controller, and the setup worked as it should. The end result is more of a proof of concept, but it’s fairly easy to see how the Edison can be used as a complete system with video, sound, and wireless networking. It’s not great, but if you want high performance, you probably won’t be picking a board the size of an SD card.
Video demo below.
Continue reading “Running Doom On The Intel Edison”
The Cairo hackerspace needed a projector for a few presentations during their Internet of Things build night, and of course Friday movie night. They couldn’t afford a real projector, but these are hackers. Of course they’ll be able to come up with something. They did. They found an old slide projector made in West Germany and turned it into something capable of displaying video.
The projector in question was a DIA projector that was at least forty years old. They found it during a trip to the Egyptian second-hand market. Other than the projector, the only other required parts were a 2.5″ TFT display from Adafruit and a Nokia smartphone.
All LCDs are actually transparent, and if you’ve ever had to deal with a display with a broken backlight, you’ll quickly realize that any backlight will work, like the one found in a slide projector. By carefully removing the back cover of the display, the folks at the Cairo hackerspace were able to get a small NTSC display that would easily fit inside their projector.
After that, it was simply a matter of putting the LCD inside the display, getting the focus right, and mounting everything securely. The presentations and movie night were saved, all from a scrap heap challenge.
[Ioannis] is like anyone else who has a quadcopter or other drone. Eventually you want to sit in the cockpit instead of flying from the ground. This just isn’t going to happen at the hobby level anytime soon. But the next best option is well within your grasp. Why not decouple your eyes from your body by adding a first-person video to your quad?
There are really only four main components: camera, screen, and a transceiver/receiver pair to link the two. [Ioannis] has chosen the Sony Super HAD CCTV camera which provides excellent quality at the bargain basement price of just $25 dollars. A bit of patient shopping delivered a small LCD screen for just $15. The insides have plenty of room as you can see. [Ioannis] connected the screen’s native driver board up to the $55 video receiver board. To boost performance he swapped out the less-than-ideal antenna for a circular polarized antenna designed to work well with the 5.8 GHz radio equipment.
It seems that everything works like a dream. This all came in under $100 which is half of what some other systems cost without a display. Has anyone figured out a way to connect a transmitter like this to your phone for use with Google Cardboard?
[Paul Stoffregen], known as father of the Teensy, has leveraged the Teensy 3.1’s hardware to obtain some serious speed gains with SPI driven TFT LCDs. Low cost serial TFT LCDs have become commonplace these days. Many of us have used Adafruit’s TFT LCD library to drive these displays on an Arduino. The Adafruit library gives us a simple API to work with these LCDs, and saves us from having to learn the intricacies of various driver chips.
[Paul] has turbocharged the library by using hardware available on Teensy 3.1’s 32 Freescale Kinetis K20 microcontroller. The first bump is raw speed. The Arduino’s ATmega328 can drive the SPI bus at 8MHz, while the Teensy’s Kinetis can ramp things up to 24MHz.
Speed isn’t everything though. [Paul] also used the Freescale’s 4 level FIFO to buffer transfers. By using a “Write first, then block until the FIFO isn’t full” algorithm, [Paul] ensured that new data always gets to the LCD as fast as possible.
Another huge bump was SPI chip select. The Kinetis can drive up to 5 SPI chip select pins from hardware. The ATmega328 doesn’t support chip selects. so they must be implemented with GPIO pins, which takes even more time.
The final result is rather impressive. Click past the break to see the ATmega based Arduno race against the Kinetis K20 powered Teensy 3.1.
Paul’s library is open source and available on Github.
Continue reading “TFT LCDs Hit Warp Speed with Teensy 3.1”
[Herp] just shared a nice 1MHz Arbitrary Waveform Generator (right click -> translate to English as google translation links don’t work) with a well designed user interface. His platform is based around a PIC32, a TFT module with its touchscreen and the 75MHz AD9834 Direct Digital Synthesizer (DDS). Of course the latter could generate signals with frequencies up to 37.5MHz… but that’s only if two output points are good enough for you.
As you can see in the video embedded below, the ‘tiny dds’ can generate many different kinds of periodic signals and even ones that are directly drawn on the touchscreen. The offset and signal amplitude can be adjusted using several operational amplifiers after the DDS ouput and a separate SMA TTL output is available to use a PIC32 PWM signal. The platform can read WAV audio files stored on microSD cards and also has an analog input for signal monitoring. Follow us after the break for the video.
Continue reading “An Open Source 1MHz Arbitrary Waveform Generator with an Awesome UI”
[Colin], AKA [Domipheus], was working on a project to monitor a thermostat with a wall mounted Raspberry Pi and a touchscreen. Simple enough, but the Pi has a problem: The plugs are all around the perimeter of the board, and with a TFT touch screen shield, it’s a bit too thick to be wall mounted. What followed is a hack in the purest sense: [Domipheus] removed and relocated components on the Pi until the entire Pi/display stack was just a hair over 10mm tall.
A Raspberry Pi Model A was used for this build, meaning the Ethernet jack was gone, and there was only a single USB port to deal with. Still, the highest components – the RCA and audio jacks – were too tall and needed to be removed; they weren’t going to be used anyway.
After these components were gone, [Domipheus] turned his attention to the next tallest parts on the board: fuses, caps, and the HDMI port. For fear of damaging the surrounding components when removing the HDMI connector the right way, this part was simply hacked off. The large tantalum cap near the USB power connector was removed (it’s just a filter cap) and the large protection diode was moved elsewhere.
Slimming down a Pi is no good without a display, and for that [Domipheus] used this touchscreen thing from Adafruit. Things got a little complicated when the project required the ability to remove the LCD, but you can do amazing things with a DIP socket and a file.
The end result is a Raspberry Pi with touchscreen display that’s just a smidgen thicker than a CD case. It’ll fit right up against a wall in its repurposed enclosure, and the end result looks very professional.
[Thanks Luke via reddit]
Summer is upon us. The Lightgame Project is a multiplayer reaction time based game built around the Arduino. It’s a perfect rainy day project for those restless kids (and adults!). Designed by two undergraduate students [Efstathios] and [Thodoris] for a semester long project, all the hard work has already been done for you.
There are tons of reasons we love games that you can build yourself. For one, it’s an amazing way to get children interested in hobby electronics, making, and hacking. Especially when they can play the game with (and show off to) their friends. Another reason is that it is a perfect way to share your project with friends and family, showcasing what you have been learning. The game is based on your reaction time and whether or not you press your button when another players color is shown. The project is built around two Arduinos connected via I2C. The master handles the mechanics of the game, while the slave handles the TFT LCD and playing music through a buzzer.
I2C is a great communication protocol to be familiar with and this is a great project to give it a try. [Efstathios] and [Thodoris] did a great job writing up their post, plus they included all the code and schematics needed to build your own. It would be great to see more university professors foster open source hardware and software with their students. A special thanks goes out to [Dr. Dasygenis] for submitting his student’s work to us!
Continue reading “The Lightgame Project: A Multiplayer Arduino Game”