Hackaday Prize Entry: An FPGA’d Propeller

The Parallax Propeller is an exceptionally interesting chip that doesn’t get the love it deserves. It’s a 32-bit microcontroller with eight independent cores that are each powerful enough to do some real computation.  Around this time last year, the source for the Propeller was opened up and released under GPL 3.0, along with the mask ROM and an interpreter for the Propeller-specific language, Spin. This release is not only a great educational opportunity, but a marvelous occasion to build some really cool hardware as [antti.lukats] is doing with the Soft Propeller.

[antti]’s Soft Propeller is based on the Xilinx ZYNQ-7000, a System on Chip that combines a dual core ARM Cortex A9 with an FPGA with enough logic gates to become a Propeller. The board also has 16MB of Flash used for configuration and everything fits on a Propeller-compatible DIP 40 pinout. If you’ve ever wanted to play around with FPGAs and high-power ARM devices, this is the project for you.

[antti] already has the Propeller Verilog running on his board, and with just a bit more than 50% of the LUTs used, it might even be possible to fit the upcoming Propeller 2 on this chip. This build is just one small part of a much larger and more ambitious project: [antti] is working on a similar device with HDMI, USB, a MicroSD, and 32MB of DDR2 RAM. This will also be stuffed into a DIP40 format, making it an incredibly powerful system that’s just a bit larger than a stick of gum.

The 2015 Hackaday Prize is sponsored by:

Using A TeensyLC To Emulate The XBOX 360 Controller

After the release of Mortal Kombat X, [Zachery’s] gaming group wanted to branch out into the fighter genre. They quickly learned that in order to maximize their experience, they would need a better controller than a standard gamepad. A keyboard wasn’t going to cut it either. They wanted a fight stick. These are large controllers that look very much like arcade fighting controls and include a joystick and large buttons. [Zachery’s] group decided to build their own fight stick for use with a PC.

[Zachery] based his build around the TeensyLC, which is a 32 bit development board with an ARM processor. It’s also compatible with Arduino. The original version of his project setup the controller as a HID, essentially emulating a keyboard. This worked for a while until they ran into compatibility issues with some games. [Zachery] learned that his controller was compatible with DirectInput, which has been deprecated. The new thing is Xinput, and it was going to require more work.

Using Xinput meant that [Zachery] could no longer use the generic Microsoft HID driver. Rather than write his own drivers, he decided to emulate the XBOX 360 controller. When the fight stick is plugged into the computer, it shows up as an XBOX 360 controller and Windows easily installs the pre-built driver. To perform the emulation, [Zachery] first had to set the VID and PID of the device to be identical to the XBOX controller. This is what allows the Microsoft driver to recognize the device.

Next, the device descriptor and configuration descriptor had to be added to the Teensy’s firmware. The device descriptor includes information such as USB version, device class, protocol, etc. The configuration descriptor includes additional information about the device configuration. [Zachery] used Microsoft Message Analyzer to pull the configuration descriptor from a real XBOX 360 controller, then used the same data in his own custom controller.

[Zachery] programmed the TeensyLC using the Arduino IDE. He ran into some trouble here because the IDE did not include the correct device type for an Xinput device. [Zachery] had to edit the boards.txt file and add three lines of code in order to add a new hardware device to the IDE’s menu. Several other files also had to be modified to make sure the compiler knew what an Xinput device type was.  With all of that out of the way, [Zachery] was finally able to write the code for his controller.

An Electronic Woodwind With An Onboard Synthesizer

About a year ago, we saw a project on Hackaday.io for a MIDI wind controller. Keyboard MIDI controllers are a dime a dozen, but if you want something that actually sounds like a brass or woodwind instrument, you need something that’s controlled by a breath sensor. Since then, this project has been updated with an onboard synthesizer. It sounds great, and thanks to some interesting components, the part count is actually really low.

The synthesizer used for this project is just a single chip – the DSP-G1 from [Jan Ostman]. This isn’t a custom ASIC or anything fancy; it’s just an 8-pin ARM microcontroller in DIP format, the LPC810.

The rest of the instrument is just a series of pressure sensors along the body, and a breath sensor. The plan is to stuff all the electronics – a microcontroller to read the touch and breath sensors, the DSP-G1 chip, and the battery  – inside the body of the instrument. That’s something that would be incredibly cool, and much more capable than the wind controllers that are available today.

You can see a few videos of the wind controller below.

Continue reading “An Electronic Woodwind With An Onboard Synthesizer”

Hackaday Prize Entry: A Bit Dingus

There was a time when just about every computer – even laptops – came with a parallel port. That’s 25 pins of bit-banging goodness, accessible from every programming environment, that could control any random pile of electronics sitting on a desk. The days of parallel ports are behind us now, and if you want to blink a pin with a computer, you’re looking at controlling a microcontroller over USB or something.

[ajlitt]’s Tiny Bit Dingus is just that: a microcontroller stuffed into a USB plug with a few pin headers. With the right app, you can control these pin headers over USB. It’s the closest you’re going to get to a parallel port with modern hardware.

This bit dingus isn’t meant to replace the Bus Pirate, an Arduino, or anything else; it’s meant to be a small and simple way to connect random electronics to a computer with as few parts as possible. If you’re looking for a part to add to your electronic tinkerer everyday carry rig, this would be it.

There’s a few bits of interesting hardware inside the Bit Dingus. A while back, [ajltt] ran into the Freescale KL27, a Cortex M0+ that does USB without a crystal, has a USB bootloader, and doesn’t require many additional components at all. It’s the perfect size for the project at 5x5mm, and is unbrickable while still being flashable over USB.


The 2015 Hackaday Prize is sponsored by:

A Very, Very Small IMU

The reason we’re playing with quadcopters, flight controllers, motion controlled toys, and hundreds of other doodads is the MEMS revolution. A lot is possible with tiny accelerometers and gyroscopes, and this is looking like the smallest IMU yet. It’s an 18mm diameter IMU, with RF networking, C/C++ libraries, and a 48MHz ARM microcontroller – perfect for the smallest, most capable quadcopter we’ve ever seen.

The build started off as an extension of the IMUduino, an extremely small rectangular board that’s based on the ATMega32u4. While the IMUduino would be great for tracking position and orientation over Bluetooth, it’s still 4cm small. The Femtoduino cuts this down to an 18mm circle, just about the right size to stuff in a model rocket or plane.

Right now, femtoIO is running a very reasonable Kickstarter for the beta editions of these boards with a $500 goal. The boards themselves are a little pricey, but that’s what you get with 9-DOF IMUs and altimeter/temperature sensors.

Interview with the Creators of CHIP, a $9 Single-Board Computer

Single-board computing is hot on the DIY scene right now and riding that knife edge is C.H.I.P., a project currently in crowd-funding which prices the base unit at just $9. I was happy to run into the crew from Next/Thing Company who developed C.H.I.P. They were happy because, well, the project’s reception has been like a supernova. Right now they’re at about $1.5M of their original $50k goal. We spoke about running Linux on the board, what connectors and pinout headers are available, as well as the various peripheral hardware they have ready for the board.

Continue reading “Interview with the Creators of CHIP, a $9 Single-Board Computer”

Hacklet 46 – ODROID Projects

It seems you can’t mention the Raspberry Pi these days without someone bringing up the Odroid. Named after the combination of Open and Android, the current Odroid brand covers several boards – the U3, the UX3 with its 2 Ghz Samsung quad-core processor, and the C1, which is directly aimed at our favorite fruit pie computer. With all this popularity, one would expect a few awesome projects based around the Odroid machines, and you’d be right! This week’s Hacklet is all about projects using the Odroid on Hackaday.io!

Robbie jrWe start with [herrkami] and CRONUS. Cronus started life as a Robbie Junior, Radio Shack’s re-branded version of Takara Tomy’s Omnibot Jr.  [herrkami] has upgraded Cronus’ brain with an Odroid U3. Cronus can now reliably respond to voice commands thanks to a little help from Google’s speech recognition engine and the accompanying Python API. Cronus is rather conversational as well, all due to the AIML framework. [herrkami] hopes to cut the cord (or WiFi link) once he gets CMU sphinx up and running. Some of [herrkami’s] best work is in his cardboard templates to create a mechanism for turning Cronus’ head. These are some pretty sweet updates for a 1986 vintage robot!

 

serverNext up is [tlankford01] with Linux Tutorial: Odroid U3 Server w/ Seafile Cloud. [tlankford01] walks us through setting up a file server using the Odroid, a 16 Gigabyte EMMC card, and a hard drive to hold the files. As one might expect, this tutorial covers a LAMP (Linux, Apache, MySQL, PHP) server stack. The 9 project logs take us from a bare microSD card to a full server. The Odroid’s 2 Gigabytes of ram are put to good use running the open source Seafile cloud server package. Tutorials like this deserve lots of love from the Hackaday.io community. Sometimes you just need to get a solid file server up and running. When that happens, this type of project is often just what the doctor ordered! So don’t be a lurker, head over to [tlankford01]’s page and give him a skull!

 

touch[Victor] gets us one step closer to an Odroid tablet with the HDMI touchscreen. HDMI touchscreen is a project to connect a 7″ 1024 x 600 LCD with a capacitive touchscreen to HDMI based computers. The heart of the project is Texas Instrument’s TFP401 panelbus DVI receiver chip. This chip makes interfacing LCD screens to HDMI or DVI video cards (almost) painless. There still is a bit of X configuration to do to get things running. [Victor] even got his Odroid running in Android with his custom screen setup. Those of us who have spent time in display an input configuration file limbo know that this is no small feat!

htpcFinally we have [darth_llamah] with Odroid-U3 HTPC. [Darth] raided his junkbox and parts drawers to build a solid home theater PC using the Odroid-U2. The U2 is a bit older than the current U3 models, but all [Darth’s] work should apply to any of the Odroid series. An old Itona case provided the frame for this hack, but it took a lot of custom work with plastic and epoxy to make everything fit. [Darth’s] software stack is the popular OpenELEC Linux build. [Darth] even setup a real “soft” power button using an ATtiny85 connected to USB and s Adafruit’s TrinketHidCombo library.

If you want to see all the Odroid projects in one place, check out our new Odroid projects list!

That’s it for this Hacklet, As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io!