Close

DefCon25 Post Mortem

A project log for 1Bitsy 1UP

ARM Cortex-M4F based retro inspired handheld game console.

piotr-esden-tempskiPiotr Esden-Tempski 08/04/2017 at 20:432 Comments

DefCon 25 came and went. It was a great event, despite being in Las Vegas, that is not meant for human life. But as always I met a bunch of new and old friends, making it all worth while. :)

First good news is that I was able to assemble all 3 prototypes of the 1Bitsy 1UP V0.1 before leaving for DefCon. This is not even remotely as many as some of the other members of the #badgelife community. Other badge projects were assembling between a few dozen up to 1k+. But considering the complexity and the fact that this is just the first prototype I am still reasonably proud of myself. :P

The 1Bitsy 1UP also got updated laser cut acrylic backing plate that does not cover the whole back of the device. The reason behind it is, that the previous plate prevented me from swapping the 18650 batteries out in case I needed to, but more importantly it was making the device a bit too bulky for my taste. It has to feel good in the hand when you hold it after all. The backing plate provided a good mounting place for the paracord lanyard to be attached. Feeding the paracord through the M3 holes turned out to be quite a challenge but it worked out. NOTE TO SELF: make the lanyard holes larger in the next hardware revision! :D

In the last week before the con, I did not spend any time on the software. The one thing that I was really missing on the software side, when leaving for the event, was sprite rendering. I already had a minimal sprite sheet loaded into the assets of the 1UP but it required some sprite rendering code. On the airplane I implemented a renderer capable of drawing sprites with one tile, two tiles and four tiles, resulting in 8x8, 8x16, 16x8 and 16x16 pixel sprites. The animation/game code has to reassign the tile id on each step to create animations the same way it is done on the old 8bit consoles. This api is actually a lot of fun to use and pretty easy to implement. While I was already at it I thought I would also add control of the LCD backlight to decrease the chance of blinding people.

I did not want to stress other passengers out so I did not pull out the 1UP to test my code, obviously I made a few mistakes while writing the code blindly, so as I had the first chance to test the new code everything was black, I decided to disable the backlight code for the duration of the con. The sprite code only needed a few minor tweaks to get working. Now you can control the background with the D-Pad and the sprite with the ABXY buttons.

Just after my arrival on Thursday I rushed to catch the very end of the #badgelife meetup. It was amazing, so many creative people making awesome electronics. I hope this event will gain more official status in future and the community will continue growing.

One very good request I got early on was from Jared Boone aka. Sharebrained. He suggested that the game screen should have a timeout that makes the screen auto animate after not detecting any gamepad activity for a while. I quickly followed his advise and added the feature.

Walking around with the 1Bitsy 1UP around my neck through DefCon, I was frequently asked where and how one can get their hands on the device. Some people thought it was a real gameboy, or gameboy advance, around my neck. :D I'm glad to hear that I'm not alone in the nostalgia for the old 8bit handheld platforms. This was very motivating, and am looking forward to continue work on the 1Bitsy 1UP. If everything goes well maybe we will be able to offer a future version of the hardware to a wider audience and make it into an actual #badgelife badge that people can add to their collection. Other projects like the AND!XOR, Mr Robot Badge, Queercon 14, Mr Blinky Bling, Hackerwarehouse and all the other #badgelife badges are a huge inspiration, so a big thank you to all of them! :D

If you are interested make sure to follow the project here on hackaday.io and I will continue updating it with all the news around the platform.

Discussions

Tindie wrote 08/04/2017 at 22:03 point

Thanks for the post mortem. Hope to catch you next year!

  Are you sure? yes | no

Piotr Esden-Tempski wrote 08/04/2017 at 22:05 point

Thank you, it was a fun event. See you next time! :D

  Are you sure? yes | no