I’m always looking for ways to increase the processing power for my LED projects. After getting through several Raspberry Pi SBC’s, I finally needed a more compact solution for running the accompanying software that drives many of my projects. I have a few “wearable” projects lined up, and while the rPi A+ is nice and small, it lacks quite a few of the features I am after, like battery charging, networking, etc.
Even with the (unofficial, and very unfortunately discontinued) ODroid-W from HardKernel (known for the ODroid-X platforms), long shipping times and a relatively high price-point make it a less-than-favourable alternative to the highly integrated Edison platform, which I can have delivered overnight from all the usual suppliers (RS, Digikey, etc).
The Edison platform was designed with the Yocto project in mind. I have yet to fully dive into Yocto, but what I do know is that it is designed to allow users to create very streamlined, pre-built Linux distributions, that contain only what is needed for the actual product application. Sounds neat, but I need to have quite a bit of a play before I know what to “bake” into a Yocto image that satisfies all my requirements. So what do we do while trying to understand the Yocto ecosystem? Install Debian and have a play of course! I’ll detail my findings over this post, and hopefully point out a few ‘gotchas’ that caused me to scratch my head. (more…)
I have a university project going on at the moment, where the main goal is to learn something new, that hasn’t been, and won’t be, covered by our course material. Not too hard, given that my university is still pitching assembler for PIC’s as new and interesting. The module asks that we undertake a project, whereby we learn some new skills, and deliver an output that demonstrates them.
I’ve set out to get my head around the vUSB stack, and design a USB interfaced, 1-wire temperature sensor stick. Now so far I’ve only been used to serial communications, either over a RS232-TTL <-> USB interface, or using the on-board USB controller on the Arudino Leonardo. Reading and writing bytes directly to serial ports is a pretty easy system. USB adds a lot of overhead to that, but it’s too useful of a tool to pass up learning.
I’ve been following the well-doccumented vUSB tutorials from CodeAndLife, and I’ve managed to get a command-line controlled LED working (though you do have to read everything. Keep an eye out for the makefile for the command line exe!). Next up will be getting the DS1820 working, and modifying the LED switch code to handle data transfer. Watch this spot! Below is the hardware I’ve been using, it’s pretty damn simple! A few things to note are the 3V3 TO-92 regulator (USB speaks 3V3!), and the series + pull-up resistors on the USB connections, though they are barely visible in this photo!
I’m going to a masquerade ball with some friends this December, and one of these friends wants something special to wear. I’ve built her a colour changing necklace, and extended-battery life fairy lights for festivals and such before, but for a one-night-only affair I think I can pull off something a bit more punchy and attention grabbing. So, what better to do, than to make her the star of the ball. And we all know stars are actually huge, burning super-novae, that output huge amounts of light.
So, here’s my shopping list;
- 10m of “5050” 12V Red/Green/Blue LED strip (eBay)
- I had wanted to use 5V HL1606-or-similar strips, to give animation capability, but the lead time in getting them shipped from China was too long. Even 5V straight RGB strips were only available from the US, which would also have taken too long to arrive. Rather than swap out thousands of current limiting resistors, I’ll just up the LED supply voltage.
- 2 x 11.1V 20C 2300mAh Li-Po battery packs from eBay. These should provide enough juice to run the 12V LED Strips!
- Hand built 3 channel MOSFET controller, because of time constraints. Heck, I may even work in wireless control if I get time!
Time sure seems to drag while you are waiting for something to happen! But after a good few weeks, the boards from OSHPark are finally here, and appear to be mostly functional! I only need to test the battery charging and protection circuitry, but everything else so far has worked with minimal effort! I’ve soldered up half of the circuitry on two boards, one with the uC, IMU and Radio modules, and one with just the power management circuitry, just to be safe.
Let me be the first to say, I’ve been spoiled when it comes to working with microcontrollers. While I’ve been writing some pretty nifty code recently, it’s been very much “high level” stuff, code that builds a lot on pre-existing libraries for the Arduino platform. While I’ve still yet to pull the cardinal sin of a GOTO, I’m sure the Arduino way of doing things has surely taught me a few bad practices, even if I’m not aware of them yet!
So in an attempt to redeem myself, and to teach myself quite a lot about the actual hardware I’m spending so much time working with at work, I’ve made my first attempt to get up and running with a Texas Instruments MSP-430 series uC, and a “proper” Integrated Development Environment (IDE), IAR’s Embedded Workbench.
So, I have some friends who do some wonderful work in event production, stage creation, and all sorts. I recently got involved in some engineering work for them for a local, one-day event in my home town, which involved some giant, rotating MDF cogs as part of a stage facade. The next possible event is for a festival where they have been asked to create a zombie-themed area that has crowd participation.
Now, zombies are fun, but zombies that spurt blood from wounds add a little touch of realism that is sure to go a long way! I’m going to explore some ways of making this happen…
So I spent a half hour last night playing about with some of the raw Accelerometer / Gyroscope data I’ve been getting from the new controller PCB, and I got Excel to make me a pretty graph to show a full 360 degree rotation of board.
So, over the weekend I had a little play with the nice, new and shiny Arduino 1.0 IDE. Along with some nice new colour schemes, and a good deal of added functionality within the context menus, it feels a lot tidier than previous incarnations!
However, the fun starts when trying to work on programs created in previous IDE versions. I ran into a few cryptic errors, and to help fellow Arduino-ers avoid the same head-beating torment, here’s a few tips to get around the errors that have popped up so far.