A (long) while ago I presented you the Easy-phi project, which aims at building a simple, cheap but intelligent rack-based open hardware/software platform for hobbyists. With this project, you simply have a rack to which you add cards (like the one shown above) that perform the functions you want.
During these last months my team has been finishing the design and production of several different boards so I’ll start showing them off during these next weeks. Today I present you the High Speed Logic Gate Board, a quantum-physicist requested easy-phi module that can perform logic AND/OR functions at <2GHz speeds. This quite technical write-up is mainly about the constraints that high-speed signals pose for schematics design but is also about the techniques that are used for HS signals termination and monitoring. I hope, however, it’ll give our readers a nice overview of what the insides of a high-speed system may look like. All the files used for this board may be found on the official GitHub repository.
Ever since I received my PSOC 4 Pioneer kit from Cypress I have wanted to play with this little mixed-signal Programmable System-on-Chip (PSOC) developer board. I love developer boards, providing that they are priced in a way to entice me to not only open my wallet but also make time in a busy schedule. I think my kit was free after winning a swag bag from Adafruit that they themselves obtained at the Open Hardware Summit and gave away on their weekly streamcast. Ultimately it was the invitation to beta test datasheet.net which also was included in that pile of swag that led to my getting involved with Hackaday.
What is Programmable System On Chip?
So what is a PSOC 4? A quick summary is that it’s based on an ARM Cortex reduced instruction set processor (RISC) and is somewhat capable of supporting shields based on the Arduino footprint, and it also uses a bright red PCB that I have come to associate with a Sparkfun PCB. What doesn’t show is the fact that this programmable system on chip has programmable analog function blocks in addition to programmable digital logic blocks. There is also some supporting input/output circuitry such as a multicolored LED and a capacitive touch sensor directly on the PCB.
This is an intriguing amount of programmability, so much so that Newark/Element 14 highlighted a “100 projects in 100 days” event on it.
Enter the IDE
Over the years I have had to create or install many Integrated Development Environments (IDE) that linked hardware to software. Knowing that you had to, and how to, implement an IDE was part of being an engineer. Nowadays with the Arduino type environment the user has an IDE pretty much as soon as they click on the executable which I find to be one of the best aspects of the genre. It was so quick in fact that I was able to get my teenaged son into writing his first program even before he remembered to do massive eye-rolls and make sounds of utter disdain. He did give up however, just shy of learning how to have the Arduino make sounds of disdain on his behalf.
How ’bout that 2048 game? Pretty addictive, huh? Almost as addictive as embedded systems are, at least if you’re [Andrew]. Armed (pun intended) with a Nucleo F4 and a Gameduino 2 shield, he decided to have a go at making an embedded version of the popular tile pusher web game.
If you’re unfamiliar with the Nucleo boards from STMicroelectronics, check out our post on the Nucleo family from a couple of months ago. The Gameduino 2 shield ships with a 4.3″ touchscreen driven by an FT800 GPU EVE. [Andrew] wrote his own driver for it and his blog post goes into great detail about its programming model and the SPI read, write, and command functions he wrote. Full code is available from [Andrew]’s repo.
He started by generating a blank screen based on clues found in the Gameduino 2 source. Pretty soon he had rendered a rectangle and then a full 2048 board. A minor difference between [Andrew]’s creation and the original is that his always creates new tiles as ‘2’ while the web game cranks out the occasional ‘4’.
We were unable to embed [Andrew]’s gameplay videos, but you’ll find two on his blog.
The Teensy 3.x series of boards are amazing pieces of work, with a tiny, breadboard-friendly footprint, an improbable amount of IO pins, and a powerful processor, all for under $20. [Karl Lunt] loves nearly all the features of the Teensy 3, except for one: the Arduino IDE. Yes, the most terrible, most popular IDE in existence. To fix this problem, [Karl] set up a bare-metal development environment, and lucky us, he’s chosen to share it with us.
[Karl] is using CodeBench Lite for the compiler, linker, assembler, and all that other gcc fun, but the CodeSourcery suite doesn’t have an IDE. Visual Studio 2008 Express is [Karl]’s environment of choice, but just about every other IDE out there will do the same job. Of course a make utility will be needed, and grabbing the docs for the Freescale K20 microcontroller wouldn’t be a bad idea, either.
The end result is [Karl] being able to develop for the Teensy 3.X with the IDE of his choice. He was able to quickly set up a ‘blink a LED’ program with the new toolchain, although uploading the files to the Teensy does require the Teensy Loader app.
Today [Bunnie] is announcing the launch of the Novena Open Laptop. When we first heard he was developing an open source laptop as a hobby project, we hoped we’d see the day where we could have our own. Starting today, you can help crowdfund the project by pre-ordering a Novena.
The Novena is based on the i.MX6Q ARM processor from Freescale, coupled to a Xilinx Spartan 6 FPGA. Combined with the open nature of the project, this creates a lot of possibilities for using the laptop as a hacking tool. It has dual ethernet, for routing or sniffing purposes. USB OTG support lets the laptop act as a USB device, for USB fuzzing and spoofing. There’s even a high speed expansion bus to interface with whatever peripheral you’d like to design.
You can pre-order the Novena in four models. The $500 “just the board” release has no case, but includes all the hardware needed to get up and running. The $1,195 “All-in-One Desktop” model adds a case and screen, and hinges open to reveal the board for easy hacking. Next up is the $1,995 “Laptop” which includes a battery control board and a battery pack. Finally, there’s the $5000 “Heirloom Laptop” featuring a wood and aluminum case and a Thinkpad keyboard.
The hardware design files are already available, so you can drool over them. It will be interesting to see what people start doing with this powerful, open computer once it ships. After the break, check out the launch video.
Imagine a machine that [Anderson Silva] could throw a punch at, that would locate his fist in real time and move a punching pad to meet his moving fist. How would you do it? Kinect? Super huge sensor array? Sticking charm? What if we told you it could be done with two electret microphones, an Arduino, and a Gumstix? Yeah, that’s right. You might want to turn your phone off and sit down for this one.
[Benjamin] and his fellow students developed this brilliant proof of concept design that blocks incoming punches for their final project. We’ve seen boxing robots here before, but this one takes the cake. The details are sparse, but we’ve dug into what was made available to us and have a relatively good idea on how they pulled off this awesome piece of electrical engineering.
[Akhil] and his wife recently finished their WakeUp Light project. As the name suggests, this kind of morning alarm uses light to wake you up in the morning. The main constraints when starting this relationship-strengthening adventure were cost, ability to work with any table lamp, and having a simple but effective control interface, all while keeping all the design open. The created platform (put in the wooden box shown above) is built around a Stellaris Launchpad (ARM Cortex M4 based) and uses an AC dimmer circuit found in this instructable. For our readers interested in those, [Akhil] mentions two very interesting articles about their theory of operation here and here.
An Android application has been made to set up all the alarm parameters, which uses the phone’s Bluetooth to communicate with the (well-known) HC-05 Bluetooth transceiver connected to the Launchpad. For safety, the current design also includes an LM4876 based audio amplifier connected to the microcontroller’s PWM output. The next revision will integrate a Digital to Analog Converter and an SD-Card slot for better quality and music diversity. A presentation video is embedded after the break and you can find the official repository at GitHub.