Shop OBEX P1 Docs P2 Docs Learn Events
DEFCON 22 Badge: Code, Schematics and Information Here! — Parallax Forums

DEFCON 22 Badge: Code, Schematics and Information Here!

Ken GraceyKen Gracey Posts: 7,386
edited 2014-10-02 12:37 in General Discussion
DC22Badge1.jpg

Parallax P8X32A Multicore Microcontroller and DEFCON 22 Badge
DEFCON 22 Attendees: files you might need for the badge contest are right here!

You’ve arrived at Parallax's DEFCON 22 badge resource page. If you’re in Las Vegas and participating in the DEFCON 22 badge contest to win one of the coveted Uber badges, this page offers a starting point for resources and source code. You'll learn a bit about the contest at the DEFCON 22 Opening Ceremonies on Friday at 10:00 am.

If this is your first time to Parallax forums we welcome you! Feel free to use this forum for anything you need - our local Propeller experts will be happy to answer any questions!


The DEFCON 22 Badge was designed and manufactured for the largest continuously running hacker and computer security convention in the world www.defcon.org. This year's DEFCON is a four-day technical session held at the Rio Hotel in Las Vegas, founded and run by Jeff Moss (DarkTangent). Ryan Clarke (@LostboY), JonnyMac (@J0nnyM@c), and Parallax designed this year’s badge as a core part of the hacking contest. Jon Williams authored the badge firmware and you will be familiar with his coding style if you've seen it before. Parallax was invited to do this project on June 1st, providing only 60 days from concept through production yet our team pulled it together and manufactured almost 14,000 units in our Rocklin, California facility in July!

DEFCON 22 Badge Overview

The badge is based around the Propeller P8X32A 32-bit Multicore Microcontroller. The circuit consists of a Propeller (microcontroller, EEPROM, clock), an infrared LED and receiver for badge-to-badge communication, a bank of eight LEDs for visual feedback, four button touch pads and a USB circuit for data access and programming. Most importantly, this badge is useful well beyond DEFCON because it's a complete Propeller development board. All I/Os, Vss, Gnd connections are clearly ported to the side of the badge so you can solder directly to the I/O pins or jump them off to a breadboard. Stop by DEFCON’s Hardware Hacking Village to work with others on badge hacking. You’ll need a micro USB cable which you can source from one of the hardware vendors if you need to reprogram. I suggest asking Garrett Gee at Godai Group - I asked him to bring 300+ micro USB cables.

The contest code is available as a zip archive, below. The contest code initially excludes the infrared communication method required for the contest, yet the infrared objects are included. Therefore, you're only missing a small portion of the firmware. When the contest is over, you get every piece of code including the methods that communicate with the infrared objects.

The badge types were produced in eight color schemes for different types of attendees: ARTIST, CONTEST, GOON, HUMAN, PRESS, VENDOR, UBER, and SPEAKER. The HUMAN badge was produced in eight different variants for 13 unique badge styles.

At the DEFCON 22 opening ceremony attendees will receive key information about how the badge is used to solve the challenge. We really don’t know much about the Badge Challenge, but it’s really clear that people need to mingle to unlock some cryptology clues. Take a walk around, connect your badge to Parallax Serial Terminal to see who’ve you encountered. Everybody has access to the Propeller objects used in the top-level firmware. They're available for download below.

Propeller P8X32A Verilog Hardware Design Files Released!

Timed with DEFCON 22, Parallax has also announced that the entire Propeller Multicore Microcontroller hardware design is now released open source under the GNU General Public License v3.0. You can now access the Propeller 1 Verilog files and run them on an $89 DE0-Nano FPGA board, changing the code as you wish.

Helpful Resources and Downloads

DEFCON 22 Badge Resources (Creative Commons 3.0), at the bottom of this post:
  • Badge Schematic Page 1 (PDF)
  • Badge Schematic Page 2 (PDF)
  • Badge Schematic (DipTrace)
  • DipTrace Layout (DipTrace)
  • dc22_badge_human - Archive [Date 2014.07.12 Time 14.32].zip - for contest, as provided on DEFCON 22 CD - absent the methods used to talk to to the infrared objects
  • DCBadgeMaster.zip - full badge source code now posted, in entirety, Sunday evening at 9:41 pm Pacific Time
  • DEFCON-22-Badge-C-Code.zip - thanks to David Betz we now have the Spin/ASM code ported to C for running in SimpleIDE. Added on October 2, 2014 and available for download below.
Propeller Multicore Microcontroller Resources (GPL v3.0): Feel free to ask for more information! You can ask here or find a Parallax person at DEFCON, usually in the Hardware Hacking Village. We're packing our bags this evening yet four of us are already there.

Ken Gracey
Parallax Inc.
«1345

Comments

  • Ken GraceyKen Gracey Posts: 7,386
    edited 2014-08-07 06:46
    DC22Badge9.jpg


    DC22Badge2.jpg



    DC22Badge7.jpg


    DC22Badge1.jpg


    DC22Badge5.jpg


    DC22Badge10.jpg


    DC22Badge4.jpg


    DC22Badge8.jpg


    DC22Badge3.jpg


    DC22Badge6.jpg
    1024 x 768 - 97K
    1024 x 768 - 89K
    1024 x 768 - 151K
    1024 x 683 - 103K
    1024 x 683 - 95K
    1024 x 683 - 84K
    1024 x 683 - 87K
    1024 x 768 - 88K
    1024 x 1365 - 189K
    1024 x 1365 - 173K
  • Ken GraceyKen Gracey Posts: 7,386
    edited 2014-08-07 07:17
    A video of DEFCON 22 badge manufacturing:
  • PublisonPublison Posts: 12,366
    edited 2014-08-07 07:29
    Been a little busy, eh?

    BTW, the videos you have been pushing out lately have been stellar! Are you doing them in-house?

    Jim
  • David BetzDavid Betz Posts: 14,511
    edited 2014-08-07 07:40
    Very nice! I guess I need to attend this 'CON next year so I can get one of these cool badges!
  • Jen J.Jen J. Posts: 649
    edited 2014-08-07 08:26
    Publison wrote: »
    BTW, the videos you have been pushing out lately have been stellar! Are you doing them in-house?

    Robert, a relatively new (and very talented) employee, takes care of all of our photography and video needs. We love his work too!
  • Ken GraceyKen Gracey Posts: 7,386
    edited 2014-08-07 11:13
    A short video showing how the Uber badge controls the other ones. - Ken
  • Heater.Heater. Posts: 21,230
    edited 2014-08-07 12:44
    Apart from shelling out thousands of euros to get to the States, attend DEFCON, and get a badge like that, how do I get one?
  • __red____red__ Posts: 470
    edited 2014-08-07 16:29
    I might be dumping firmware images as we speak. I'm collecting the set

    :-)
  • PublisonPublison Posts: 12,366
    edited 2014-08-07 16:34
    __red__ wrote: »
    I might be dumping firmware images as we speak. I'm collecting the set

    :-)

    I'm guessin' your in Vegas now. Best of luck with the badges.They should be a hit like last year.
  • jazzedjazzed Posts: 11,803
    edited 2014-08-07 17:12
    Heater. wrote: »
    Apart from shelling out thousands of euros to get to the States, attend DEFCON, and get a badge like that, how do I get one?


    Ebay after the show, or wait for the DEFCON store to materialize???
  • David BetzDavid Betz Posts: 14,511
    edited 2014-08-07 17:48
    Heater. wrote: »
    Apart from shelling out thousands of euros to get to the States, attend DEFCON, and get a badge like that, how do I get one?
    Yeah, it would be nice to have one of these and also one of JonnyMac's LED shields.
  • fizzymagicfizzymagic Posts: 3
    edited 2014-08-07 18:02
    Got mine talking. Very nice. Only trouble is that I haven't found a serial monitor in the Parallax IDE for my Mac so I am using BST still.

    They are using the same pins for the LEDs as two years ago; my code from then works with the new badge!
  • WhitWhit Posts: 4,191
    edited 2014-08-07 18:54
    Super neat Ken! They are amazing as always...
  • icemupppeticemupppet Posts: 2
    edited 2014-08-07 19:38
    Fizzymagic, let's get together here at the con, I would love to see what you have going on. You going to be at the hardware hacking village?
  • __red____red__ Posts: 470
    edited 2014-08-07 20:55
    Can someone else please sanity-check me on the diptrace files. They seem to be, erm... "odd" ?
  • jazzedjazzed Posts: 11,803
    edited 2014-08-07 21:04
    @fizzymagic, @icemuppet, and others

    Try one of these PropellerIDE packages while you have internet access.

    http://forums.parallax.com/showthread.php/153921-Open-Propeller-Project-3-Propeller-IDE-V0.1-Package-Available?p=1283880&viewfull=1#post1283880
  • __red____red__ Posts: 470
    edited 2014-08-07 21:08
    Will it clash with a currently installed SimpleIDE on MacOSX?
  • jazzedjazzed Posts: 11,803
    edited 2014-08-07 21:15
    __red__ wrote: »
    Will it clash with a currently installed SimpleIDE on MacOSX?

    It shouldn't.
  • benh57benh57 Posts: 2
    edited 2014-08-07 21:53
    icemupppet wrote: »
    Fizzymagic, let's get together here at the con, I would love to see what you have going on. You going to be at the hardware hacking village?

    I'm also here, though i'm not really much of a hardware hacker, i got it up and running on my mac. :) Not sure how to dump the list of the folks i've encountered via IR. I suppose that's the part of the source which has not been included.

    btw - i am using PropellerIDE. The serial console displays fine in debug mode when running a .spin file. But i'm not sure how to use it as a console for the embedded firmware.
  • __red____red__ Posts: 470
    edited 2014-08-07 21:58
    Quick question - I now have a 64k eeprom file but propeller-loader won't let me flash anything above 32k.

    Any advice?
  • benh57benh57 Posts: 2
    edited 2014-08-07 22:01
    The contest code is available as a zip archive, below. The contest code initially excludes the infrared communication method required for the contest, yet the infrared objects are included. Therefore, you're only missing a small portion of the firmware. When the contest is over, you get every piece of code excluding the methods that communicate with the infrared objects.

    is this a typo? Doesn't make sense.. i think you mean to say 'When the contest is over, you get every piece of code including the methods that communicate with the infrared objects'?
  • Ken GraceyKen Gracey Posts: 7,386
    edited 2014-08-07 22:24
    benh57 wrote: »
    is this a typo? Doesn't make sense.. i think you mean to say 'When the contest is over, you get every piece of code including the methods that communicate with the infrared objects'?

    That's right, benh57! Thanks for pointing that out - I shall promptly fix it. I posted that message this morning I was very tired (so tired!) from all of the DEFCON preparations.

    - Ken Gracey
  • jazzedjazzed Posts: 11,803
    edited 2014-08-07 22:39
    __red__ wrote: »
    Quick question - I now have a 64k eeprom file but propeller-loader won't let me flash anything above 32k.

    Any advice?


    What's in that 64KB? Normal program in the lower 32KB? What's in the upper? Maybe a second program to burn the upper 32KB?
  • Bob Lawrence (VE1RLL)Bob Lawrence (VE1RLL) Posts: 1,720
    edited 2014-08-07 22:55
    Wow. Very nice!!
  • fizzymagicfizzymagic Posts: 3
    edited 2014-08-07 23:18
    icemupppet wrote: »
    Fizzymagic, let's get together here at the con, I would love to see what you have going on. You going to be at the hardware hacking village?

    I'll be there. Really big guy with gray curly hair.
  • __red____red__ Posts: 470
    edited 2014-08-07 23:22
    Want to upgrade your badge to a Goon badge so you can get some interaction???

    Instructions:
    1) Download goon firmware: https://pwn.me/dc22/goon.eeprom32.bin
    2) Follow the links above to install PropellerIDE
    3) Detatch USB and power-cycle.

    Execute propeller-load -e goon.eeprom32.bin

    Enjoy!
  • fizzymagicfizzymagic Posts: 3
    edited 2014-08-07 23:34
    jazzed wrote: »
    @fizzymagic, @icemuppet, and others

    Try one of these PropellerIDE packages while you have internet access.

    http://forums.parallax.com/showthread.php/153921-Open-Propeller-Project-3-Propeller-IDE-V0.1-Package-Available?p=1283880&viewfull=1#post1283880

    That's the one that doesn't have a serial monitor unless you send code to the Propellor. Or maybe there is an undocumented feature in there?
  • __red____red__ Posts: 470
    edited 2014-08-07 23:43
    jazzed wrote: »
    What's in that 64KB? Normal program in the lower 32KB? What's in the upper? Maybe a second program to burn the upper 32KB?

    Upper is all 0xFF padded (IE, never flashed) BUT I still had to dump the 64k image to make sure there were no canaries hiding up there. I had to learn about the eeprom format in order to determine where the code image ended so I could re-calculate the checksum. The area above between the end of image marker and 32k contains some persistently stored data so had to be excluded.

    I'm having fun! Not what I'd planned to be doing (The airline broke my reflow station) but I'm having fun and, most importantly - learning.
  • jazzedjazzed Posts: 11,803
    edited 2014-08-07 23:44
    fizzymagic wrote: »
    That's the one that doesn't have a serial monitor unless you send code to the Propellor. Or maybe there is an undocumented feature in there?


    You could use some serial terminal that you know and like, but if you don't look at the code you'll be missing things.

    In PropellerIDE, choose a COM port that shows when the badge is plugged in and open the serial terminal with the green + button. Sset the baud-rate to 57600. The code posted here in #1 shows the baud-rate is 57600. Reset the badge and see what happens. I don't have a badge this year, so I don't know how it all works.
  • __red____red__ Posts: 470
    edited 2014-08-07 23:51
    The "right arrow" gives you serial after you flash firmware.

    If you want a "generic" serial interface on macosx then use screen /dev/cu.usb-etc...
Sign In or Register to comment.