♦ πŸ† 5 min, 🐌 10 min

Clumsy AngeLJ team

Dragon Hack 2019: For non-geeks. Dragon Hack is a hackathon, an event where you work on a project with your team for 24h. It usually contains no sleep. After 24h, you present your project to others and maybe win a prize.

After three years I'm always amazed how well our team operates no matter the fact that we don't know till last minute what we'll be making at the hackathon πŸ™‚ Most of the time we don't really have a clue what we're doing so Google is our best friend. We learn through the hackathon what we need. The only thing that's crystal clear is in what area each team member will be googling in:

  • Tadej is our software expert. He builds our web site, web server, and chooses the proper web site colour. He makes sure that we have a beautiful product at the end of 24 hours. He covers all the screws ups the electronics-hardware side of the team makes.
  • Ziga G. is our in-house electronics-microcontroller expert. LED-s, Pi Zeros, sensors, Pi-s, Arduino's and all sorts of other wired chines microcontroller's are his domain. If you need an electronic component, he has it. He's our crazy idea generator and never fails to deliver.
  • Rok is our new member who reinforced our hardware front, with microcontroller's and CAD design knowledge. Without his help, this year's elevator idea would remain just an idea.
  • In previous years we had Maks in our team. He was our software-hardware-mobile app expert. This year he was only our emotional support via Facebook since he's now working abroad.
  • I supply our team with the hardware. Tools, soldering, 3D modelling, debugging, support structures for electronics, ... The duck tape approach. I maybe do some programming there and then. I help where needed when the others lose their patience πŸ˜›

The best part is that none of the team members have any formal education in engineering. We are physicists and learn things as we go. Since this year's team had a software-hardware ratio 1-3 our ideas were as hardware as heavy as possible. Not sure how good that was πŸ™‚

Battle plan

We started our hackathon with a nice lunch. We had a rough idea that we'll have a car, elevator and a website. But the rest had to be figured out. After a heated discussion, we settled on building a car (with a lot of sensors). You control the car via the web site so you can explore an area dangerous to humans. The electric car is green and expandable compared to humans. But the full system had to contain: blockchain, a car, an elevator on a car, real-time video stream, sensors (for: temperature, magnetic field, pressure, humidity, position), obstacle and a web site with some server as back end. Oh and we wanted to build sensor units that we user can fire around on demand from the web site.

Battle plan was glorious. The result was well: Duck taped and hacked together. πŸ€“

Development

As usual, we had plenty of electronics and tools with us. But there's always something missing 😒. So after we picked the last missing components from the hardware corner, we started hacking. Tadej on the web site, Ziga on the live video stream, Rok on building first car prototype and I tried to figure out how we can write our own blockchain code.

Photo credits: DragonHack

As usual, things didn't work as expected. Raspberry Pi wasn't recognizing a sensor module. After a few failed attempts. We said OK before we give up, let's install a new operating system. Maybe it will solve the problem. And it did. Duh πŸ™„. After the sensor module worked, I hacked together the data taking code. Yeah, that was the first code I wrote for any hackathon till now πŸ™‚. At least the first code that my teammates allowed me to push to production πŸ˜›. Rok finished the first car prototype.

After my first coding session, I started building the elevator module. Then we realized that the car doesn't move if we add the elevator parts on it. OK, we'll have a static elevator πŸ™‚ Server, and the web site went up without a problem. Courtesy of Tadej.

At some point, Ziga and Tadej managed to get the live video stream running (from the Raspberry Pi to web site). Not Netflix quality but it was a first small win. After all, in all previous hackathons, we tried getting the stream to work and well failed πŸ™

Then Rok helped me draw the CAD models for the parts we needed to 3D print for the elevator. The drawing was quite fun because we both knew something about 3D modeling but not much. So I clicked around, and Rok occasionally shouted hey do that. After 1h of random collaborative clicking, we had our 3D models ready to print. Hardware corner guys helped us out, and the print went into production. 4h for the first piece. OK, prints we'll be finished by one in the morning.

After that, I implemented some cosmetic details to the sensor data taking the code. I went home at 1:00 to get some sleep. My teammates stayed up a bit longer but then also took a nap. We usually try to get a few hours of sleep during every hackathon. Helps a hell of a lot. Besides, we have to deal with hundreds of bugs. If we are sleepy, those bugs multiply even faster.

We were back up and running at 6:30 with 5:30 hours to go. Ziga proceeded his work on the ballistic module, Rok on the wirelessly controlled Arduino car, Tadej kept squashing the infinite amount of bugs on the website, and I fixed a part of the data taking code.

At 8:30 the hackathon hardware shop opened, and I got the last 3D printed parts. I started assembling the elevator and managed to get the elevator to this stage:

Amongst drilling holes assembly contained heating up barrings with the heat gun and sliding them into the 3D printer plastic. It's pretty cool if you heat up the baring to 300 degrees it slides into the ABS plastic like a knife through butter. Just make sure to use clamps, so you don't end up with well-done fingers. Thanks, hardware corner guys for all your help whoever you were. Without your tips and help elevator prototype wouldn't look like it did πŸ˜‰

Last 1.5 hours of hacking:

At some point, I went to pick up some tools from our team desk. After a quick chat with my team, I realized that things were not working as we hoped. I did sense slight panic in my teammates voices before. But at 10:30, I knew I had to scrub the elevator idea and go help with the other hacks, or we might as well have nothing. For the next hour, I helped with fixing and causing bugs. I helped Tadej with integrating the blockchain into our web site. We used a blockchain because well it's fancy and because we wanted a reliable storage format for measured data from our robot. We didn't want anyone to corrupt out temperature measurements πŸ˜›

Then the last 15min were even crazier. Nothing worked. The web server was crashing, Raspberry Pi wasn't recognizing the sensor module or didn't start at all, car motors didn't work, the Arduino controlling the car didn't work (loose wires), ... The usual. To get through we had to support each other. Teamwork was now essential. Conversations got heated. But somehow we managed to fix everything πŸ™‚ I have to say it. My teammates did the lion share on the debugging part. I mostly helped a bit there and then.

Results

On the website part I don't even know what we had πŸ™‚ I know that it looked amazing as always. git repo of code on the link . The ballistic module was a proper hackathon product. Duck tape all over the place πŸ™‚ Long story short you press a button on the web page, and that little blob in the right bottom corner flies away.

Photo credits: Ziga G.

Car at the end had a working sensor system, real-time video stream, and drive system controlled from the web site. It looks kind of cute:

Photo credits: Tadej

Oh, there was blockchain running in the background of the server. Just cause we could. We didn't really ask ourselves if we should πŸ˜›

Wrap up

My role in the hackathons is always kind of funny. Because these days I spend most of my time programming web pages, doing data science and physics. But at hackathons, I always do some sort of hardware. This year I coded a bit since it was the first year that I had some useful programming knowledge. I think I fixed my fair share of bugs this year, but I'll let my team be the judge of my contributions πŸ˜‰

As a team, we had conflicts. But we always quickly resolved them. After all, we are there to have fun. Although I'm too serious sometimes πŸ™‚ This year we went way too crazy on hardware. Well, we had too many side projects in play through the 24h. Yeah if you counted, we worked on 9 different projects. We finished 8 but didn't manage to polish our idea well enough at the end. For me, that was the first hackathon where we didn't manage to score a prize πŸ˜› but also a hackathon where I would dare to say that I learned the most. So my goal was achieved πŸ™‚ I had fun. Mostly thanks to my amazing teammates. Hope we do this again next year guys πŸ˜‚

Get notified & read regularly πŸ‘‡