Armageddon421's Hackingblog


AutoQuad in the air!

by on Jun.24, 2014, under Multicopter

Obviously, I ditched the wooden frame due to vibration issues. The AutoQuad‘s regulators and algorithms are quite advanced and therefore require a somewhat un-crappy frame to work well. It kind of flew well with the wooden frame, but the vibrations caused issues regarding height-stabilization. In manual mode, I could barely hover the thing without it going spontaneously up and down.

Some Aluminum rods and a bit of scrap acryllic cut with the lasercutter at shackspace made up the new frame.

I also noticed that the whole thing was much to light. The RPM of the propellers were far below the point of maximum efficiency. Instead of using smaller props, I decided to increase the load. What better load could I use than more batteries? So I went and bought two hacker 5000mAh 3s packs and tucked them under the quad. That first flight was actually my first time flying more than about 15 minutes. Adding up the flight times, the batteries lasted about 28 minutes, which is quite impressive, regarding that the first few cycles of Lithium Poymer batteries usually yield a bit less capacity. I’m happy if it flies 20 minutes carrying a GoPro and a brushless gimbal later.

Here is a video I spent hours editing. It mainly shows the position hold and return to home functionalities of the AutoQuad.

Leave a Comment :, , more...

LED panels spice up club NightFly!

by on May.28, 2014, under LED Panels, Projects

A while ago a friend of mine who is a passionate specialist for event technology made this awesome bargain buy. He found some used LED panels from the Stone Age on ebay, each armed with 25 (5×5) red, green and blue LEDs covered under ping-pong ball like plastic hemispheres. His dream was to mount 24 of them to the ceiling of the club he is currently re-rigging, which is club NightFly in Waiblingen, near Stuttgart.

The problem with those panels was, that the controller boxes they came with could only handle 16 panels each and there is no way to synchronize multiple controllers. Also, the only input device is an infrared remote, which is not very comfortable to use in a club environment.

So he asked me if I could find a cheap and simple way to control all of these panels (24) and make it easy for the DJs to change the mood of the location. Since the panels just consist of LEDs and resistors, the project consisted of two parts: Driving the LEDs and providing a simple to use interface for the DJs. Oh and he wanted it all to be done in three weeks. Sure!

The first logical step was to design a small board to control and drive the panels. Since there would be a considerable distance between each panel, I chose to make it one board per panel. For ease of use and reusability, I decided to use DMX as communication protocol. This just requires a RS485 driver IC – I used the SN75176 – connected to the UART RX pin of the ATtiny2313, which I chose as a brain for the thing. The panels work with 5V, so just throw in some mosfets and off you go to the PCB manufacturer, right? What could possibly go wrong? Below is the design I actually submitted to the manufacturer after one night of design.


Unfortunately, the silk screen did not turn out quite the way I wanted it, but who cares…

nf board

As you can see, I threw in the pads for an optional 7805 5V voltage regulator because the common anode design would allow me to use the same circuitry for LED strips or similar things that work with 12V, too. Did I say common anode? Well, how do the panels actually work? Of course, they are common cathode. Bummer. Not such a big problem, though. Just switch out the n-channel mosfets with p-channel ones, right? Yeah. That, and 2 hours of cutting through ground planes and rewiring.

nf fix

First testing shows that it works (kinda) and after 8 more hours of soldering tiny SMD parts, 24 of the boards were finished.

Turns out that the panel being supplied from the same 5V supply as the uC circuitry causes huge spikes on the power supply for the ATtiny, on which it reacts by resetting all the time. The solution was considerably easy: Add a huge capacitor.

Look at the beautiful boards!

nf boards assembled

Onwards, to the software! Just add some DMX library and make it use three channels for red, green and blue and bob’s your uncle, right? Not with me! In the end, I used every single byte of the 2kb flash storage the atTiny2313 has to offer. There is a fourth channel that is used to control effects like rainbow fading, strobe and random color. Those effects can also be used in a standalone mode that is activated by flipping the unused 10th DIP switch (only 9 are needed for the DMX512-address). Instead of DMX-address, the other switches can then be used to setup the standalone effects. In DMX mode, the effects sync together nicely between two panels, because a mode change results in an internal reset of time and random variables. The DMX adress is used as a random seed in DMX mode because every panel gets its own DMX address anyways.

It’s time to wire up some of the panels to see how it works.

nf panels 4 test

That’s all good and fine, but now I need a nice interface for the DJs to play with. Thanks to the laser cutter at shackspace, this is what I got an hour later:

nf frontpanel

After hours of perfboarding, soldering and wiring, I was done with the circuitry that allowed me to use the LEDs, buttons and potentiometers from a teensy3, a 96MHz 32bit arm chip that can easily be programmed from within the well known arduino IDE. Because of the low current driving capabilities of the teensy, I had to use some strange shift registers that were lying around at shackspace. For driving the DMX lines I used the same transceiver IC (SN75176) that I used for the receiving end. I might swap that one out for a much more expensive MAX483/5/7 chip because they include filtering for the appropriate signal frequency, which greatly increases signal quality. This is important in EMV critical environments like “directly next to a ginormous subwoofer”.

The software is actually not overly complicated. It consists of some event management (button presses etc.) and some time management for the beats, controllable by the “speed” potentiometer. The animations are basically just formulas with lots of modulus on time and beat values. Of course everything is done using fixed-point arithmetic because the teensy3 does not have an integrated floating point unit (FPU).

I implemented a few animation patterns and did a quick test run at home… errrr at shackspace. Somehow someone had some fog machine with him, so we fired that one up, too. It’s worth watching in HD for best epilleptic experience!

Two nights later and with a little help of the fog machine owner, the 24 panels were finally mounted on the ceiling in the club NightFly and I could start adjusting the animations for the bigger grid, as well as adding new ones. I don’t have a video of the latest version at hand, but this should show how impressive the panels appear in that club.

There are more photos over at Imgur!

All that in three weeks.

In case anyone wonders: There are leftover rgb-dmx boards.


5 Comments :, , , , , , , , , , , more...

qwood – Wooden quadcopter frame

by on May.26, 2014, under Multicopter, Projects

A while ago I built a small quadcopter testbed by sawing a cross out of a laminate floor tile. This works, but is ugly. Normally, for a “test”, this doesn’t matter. However, in the scope of my student project, I got my hands on an Autoquad. Since I should include pictures of my testbed in the documantation for the project, I decided that I needed a somewhat nice looking frame for the thing.

I bothered my head about a nice design for a wooden frame. I took about two weeks until I finally got around to actually start designing it. I also felt like I should give solidworks a try. This was in an early stage:

qwood - early stage

This weekend, I was at shackspace, finalizing the design and using the laser cutter to cut the 3mm birch wood I got from Balsabar. Apparently, you can tell them what quality grade of wood you want in the comment section before placing the order. I did not know that, but the wood I received had only a few knots, which is okay. Especially if you compare it to wood from the hardware store.

I found the nice rendering feature of solidworks, so here is a rendering of the final design:

qwood - rendering

I intentionally left out the connection piece on the bottom of the landing gear (you can see the slot for it) because I was still unsure of how to go about it and finally wanted to see some results. There will definitely be something to make the landing gear sturdier.

I had huge problems lasering it with a snug fit. The kerf compensation feature, or “sew compensation” as the cheap china software  “LaserWorksV5″ calls it, somehow always crashed the software. Turns out in that version they broke it for circles. Yeah. Right. You couldn’t even laser a simple kerf-compensated circle. Unfortunately, that took me 2 hours to figure out. It worked when I used an older version of the laser software I had still lying around on my disk. It was also somewhere around this time that I came up with the name “qwood”.

Even with the kerf compensation working (or did it?), I could not get the precise fit I was hoping for. I had to sand the intelocking tabs and the corresponding holes to finally make it fit. Anyways, have a look at the result!

qwood - reult

I have some more pictures over at Imgur!

Also, have a look at how the parts are connected. There is no glue! Just nylon screws and nuts.

qwood - screws

I guess this thing is far from perfect and still untested at this point. Although it weighs only 167g, it feels pretty stable. My only concerns are the landing gears and torsion stability.

Next up: Electronics!

Drop a comment if you like it or have questions, ideas and suggestions!


4 Comments :, , , , , , , , more...

From zero to the first FPV flight with my hexacopter

by on Mar.11, 2014, under Multicopter, Projects

It was a long, bumpy road to get this project this far. I’ll tell you a bit about my latest experiences with my custom built hexacopter and another bit about the history of this thing in the last two years because this is my first post about it. Since I made some videos every now and then, I’ll add them in the appropriate places. The latest one can be found at the bottom of this post.

First Verison Hexacopter

First Verison Hexacopter

It all started of with the idea to build a quadcopter. As always, buying finished products is boring. Also: the bigger the better. So I decided to start off with six rotors right away. I clicked myself some parts from hobbyking and started fiddling around. Since I used the cheap 10$ flight control from hobbyking, there was no attitude/auto level mode and it was difficult to hold the height. The frame of the first version consisted of some cheap carbon rods and a 3D-printed center plate to hold it all together. I added some wooden sticks and tons of hot glue to increase sturdiness, but it was still a pain. Watch my first hovering tests!

The decision to remake the frame was really a no brainer. I swapped the meanwhile splinted carbon and wood for some strong aluminium bars from the next hardware store. The other parts are still 3D-printed, but completely redesigned. I did a small sturdiness test by dropping a half-liter glass bottle full of water on it. Watch it!

Shortly after that, I got a request to do some aerial video at an outdoor event. I was excited to do this so I lent a GoPro Hero 2 from a friend (not owning any small camera myself at the time) and replaced that shabby flight control by a DJI Naza. After the first few test flights during the preparations of the event I was so glad everything worked, that I left the hexacopter in my car that was unfortunately parked in direct sunlight the whole afternoon while helping with the preparations for the event. This resulted in all 3D-printed parts melting, rendering the whole thing useless.

Heat-bent hexacopter

Heat-bent hexacopter

The event was the next day, so I had to improvise. There was definitely not enough time to print all the parts again, so I made two decisions: reduce the rotor count to four and improvise the motor mounts. That way I only had to print the now smaller center plate and the landing legs. The motors were mounted directly to the side of the bars, leaving only a gap of about 2mm between motor and bar. Note that the motors have the mounting holes on the same side where the propeller goes. What a mispurchase. After a long night the thing was back in the air and I could fly on the event in medium wind no problem. Because the thing was much lighter and I used the same battery, the flight time increased heavily, too!

A few weeks later I decided I could finally try to fly a flip. I did not know that the Naza has a very limited angular rate at that time, so my attempt to flip the thing resulted in it flying a big arc and crashing into the ground upside down, breaking basically everything.

The next week my hobbyking order arrived. I got some hobbyking donkey motors because they are cheap and sturdy, using ball bearings instead of friction bearings. The frame got a redesign, too. All parts were laser cut from some plastic I found instead of 3D-printed, the bars remained the same. I also discarded the outer ring of bars, drastically reducing weight.

Latest version hexacopter

Latest version hexacopter

That build was stable and powerful enough to easily lift a 1,6kg Teddy Bear, considering the rope was attached to the hexacopter quite a bit off-center. Watch it!

That video was already shot with my GoPro Hero3 black editoion attached to an AlexMos/SimpleBGC controlled brushless gimbal simply screwed to a wooden board. The next step was to mount it to the copter. Have a look!

Buying a wireless video system and the matching camera was the first step to finally flying FPV. But it still took me over half a year to get there. I first mounted the camera system on my RC car and drove around shackspace. Another video…

A while later, being a 3D fanatic anyways, I bought the Zeiss Cinemizer 3D-glasses. Integrated batteries, RCA and HDMI made them the product of my choice, despite the heavy price tag. Now I only had to mount the camera system to the flying thing.

A little 3D-printed frame and a screw was used to hinge the camera to the copter. I turned on the setup, but I could not receive image from the camrea on the other end. Seeing no static noise I concluded the problem must be in the camera, not in the sender. Then I smelled it. Hot electronics. The IC on the back of the camera board was searing hot. After a few retries and wiggling the cables to find any shorts or bad contacts I gave up and ordered a new camera.

When the new camera arrived I removed the old camera from the copter and decided to give it a try on the lab power supply. It still worked! Seems like the ground pin was covered in some goo, directing all the supply current through the video signal pin. That must be what heated up the IC. Luckily it survived! I put it back on the hexacopter and everything worked fine. Off to the first try!

There were a few problems, though.

The camera mount was somehow too weak. Some screws were loosened, probably by vibration, tipping the camera over mid-flight. Seeing only straight down when looking into the VR-glasses, I retreated to normal vision and quickly landed the thing. At the same time I noticed the battery warning flashing like crazy, so the weak screw probably saved the life of the whole copter!

I conclude that one of the next steps would be a HUD or some other way to keep track of battery and system status, possibly using a different flight control.

Charing the battery I noticed only about half its capacity could fit in. I used it quite often so it’s okay it won’t reach its specified capacity anymore, but half is a bit weak. I probably have to tweak the settings for low battery warning and safe landing voltages in the flight control.

That’s it for now. If you have any questions, feel free to ask in the comments here or on any youtube video!

4 Comments more...

Snake on LED-Panel

by on Feb.14, 2014, under LED Panels, Projects

Hey there!

Today I want to show you a project from early 2013. Someone sold adressable LED-Stripes on the 29th Chaos Communication Congress in Hamburg and I just couldn’t resist getting me some. I bought 10 meters. The strip has 32 RGB-LEDs per meter and is made adressable by adding an IC (can’t remember the type right now) for every two LEDs. The protocol is equivalent to the WS2801, using SPI (with clock line, as opposed to the LED-integrated WS2811 which have no clock line and are pain in the a** to talk to) and therefore can easily be used directly with the raspberry pi.

Since the raspberry pi outputs a logic level of 3.3V and the LED-strip expects 5V level, some level shifting had to be done. On the 29C3 I found some nice guys giving me some SMD MosFETs, resistors and perfboard so I could fiddle together a basic level shifter. It could only handle frequencies of about 1MHz, but that was enough to make the thing shine!

The trash cans at the location had a circumference of exactly 1m, wich was ideal to just wrap the stripe around. So it happened. A USB battery pack was used to supply the thing, so it was even portable! Go party with a trash can! Unfortunately I had to leave the trash can there… This video is from the guy who sold me the stripes. Check it out!

Back at shackspace, my local hackerspace in stuttgart, I rearranged the stripes on a wooden board to make it look more like a normal LED-Panel. What game could be better on such a thing than snake? So it happened. I implemented the main thing in one night, everythin in one file. Ugly. Works. The rest of the time was spent optimizing the bot. Did I say bot? Yes I did. One weekend later I made this video showing off the result. Unfortunately it is german. Watch it.

Things like plasma effects look super smooth!

Later I added a proper level shifter, allowing stable bus clocks of up to 8MHz and much higher framerates. Next steps include prettifying, that means building a nice enclosure with milk glass and maybe cleaning up the code.

The code can be found over at github.

That’s it for now. If there are any questions… You know the drill!

Leave a Comment :, , , , , , , , more...