We are working to get all badges shipped this week. I apologize about the delays. If I have your email address, you will be notified of the tracking number. If I have your phone number, I will call you once it has shipped.
The other badge accessories and ECM simulator tool are coming soon. The prototypes have been assembled and I am testing them. Once everything looks good, production will start.
If you got a badge during the show, please see this page on how to get CAN working reliably. If you ordered a badge, no worries - we will do this for you before shipment. My apologies about this slipping through, but I am hoping that one of the three options mentioned on the referred page works well for you.
Here's a video I took of our AP-25 in action during production. It might be interesting to those of you that aren't familiar with the process of making circuit boards.
Thank you all for a great DefCon 26! For those that wish to order a badge, please visit my store here. Time to order is limited, so get yours today!
You will find the PAWN SDK for this year's badges here.
Stay tuned for more information to follow about the badge and also how to obtain the native SDK.
Due to the chaos of my PCB vendors, we have less badges this year as expected. So, we are changing things up. There are two options for badges this year:
1. The badges we brought to the show will be $80 each, and will be sold on a first-come, first-serve basis. There are no limits for purchase quantity.
2. We want to continue running badges after the show. So, we will take orders for badges. These orders will be $60 each, and this will include shipping. We will provide a receipt and send the badge within 1-2 weeks.
We also have some more things that you may be interested in ordering as well:
1. I have an ECM simulator unit that uses PAWN to control dual-CAN channels, and one KWP/LIN channel (can select master or slave configuration via a jumper). The board also has 6 active-low inputs and 6 open-collector outputs. It is powered externally by a 7-14v power supply or via the installed female OBD2 connector (same as what you find on a vehicle). Everything is controllable via PAWN and I will provide an SDK on this page in the very near future. These units will be $50 each, which includes shipping. They will be shipped within 2-4 weeks.
2. I have an NFC-antenna board that interfaces with the badge. This contains the matching network and trace-based antenna for the NFC controller on the badge. These will be $20 each, and this includes shipping. Again, 2-4 weeks for delivery.
3. I have a screwdriver-shaped badge that has a rgb-led matrix (0604 based) and connects via USB to download new screens for it. It is powered off of a LiPo battery and charges via USB. These will be $40 each, which includes shipping. Again, 2-4 weeks for delivery.
Remember how I had to order PCBs from 4 different suppliers? Well, the results are in. It's a short list - I'm only using PCBWin from now on. Here's why:
1. Allpcb didn't even produce any boards for us. They messed around asking silly questions about the design and were voicing concerns about things that shouldn't be concerns at all. I stopped replying to them and they haven't even tried to reach out to me.
2. PCBWay got two orders due to the Allpcb runarounds. Of these orders, here's what happened: they were late - like over a week and a few days late. Several panels were not routed correctly - a drill bit must have broke during production and they didn't catch it for like 10+ panels. Several panels were not the correct thickness. Not a huge deal for the badge, but could be a showstopper for many projects. Several panels had bad traces and were not marked with an x-out - so were they tested like they said they would be?
3. PCBgogo delivered their boards yesterday. Yes, yesterday. The shipping label said they were from PCBwin, so PCBgogo is just a front end for many other suppliers. But here's the interesting thing, this time the PCB's were different - they were missing a panel fiducial. So whoever handled the transfer of data to PCBwin messed up the file. I believe this was a the case because PCBWin's units were excellent.
4. PCBWin rocks. They actually called me twice on the phone from China, during US office hours to discuss issues and if I was pleased with the boards. They are actually the factory that makes them (I strongly suspect). They included a acrylic-encapsulated cut PCB so we could examine the inner structure of the PCBs produced. They got their order done one day early. All panels were tested and we encountered no issues. A+. I wish I used them from the start.
Our OBD2 connectors need a hole drilled in them for a reason you will see later this week. At first, we were going to hand drill them, but this proved to be way too time consuming and error-prone. So I whipped up a jig to use in our CNC router. Problem solved!
Well everything is back up and running. As the machines work, I have been working on putting the final touches on the SDK. I aim to release it tomorrow.
I am seriously considering releasing the full source code for the entire PAWN system. I have put so much work into it over the years (basically 5 years of on-and-off tinkering). I am really curious to see where the community can take it. Also I am hoping that the full source will be inspirational to other new (or seasoned) badge builders. Basically there are examples in it that show how to do almost anything with NXP's ARM Cortex parts.
Don't forget to bring your ARM SWD probe (I use a Segger) and some 0.1" pitch single row headers if you want to tinker with the native stuff. See the schematics I posted earlier for pinout info.
The JB Weld worked well enough that it blew the old sealant out of the other side of the plate :-)
So I ended up taking the whole plate off, removing all of the leftover gunk and resealing the whole thing with JB Weld.
Update: It worked. All back together and back to normal (Fingers still crossed...)
A couple of days ago, I had a post that said I was glad that I didn't have to drive to Lansing, MI to get a stepper motor driver for the AP-25. Well, I shouldn't have jinxed myself. I had to drive up this am...
It turns out that when the air line cracked that must have led to an over-current condition on the related axis of the linear motors used for the vision system. They should protect themselves, but they are very old. The divers were made in 1994, and it's hard to say how many hours are on them. I'm guessing a LOT.
So now I am fixing it as fast as possible to get the machine back up and running.
I replaced the driver, but one of the tiny gaskets cracked that keeps the air pressure directed at the rails of the linear motor. So I am having to fix that too. This could also explain how the driver was over-stressed for heavens knows how long. Hoping that JB Weld is a suitable way to patch the hole...
It's 5 in the morning, and I figured I would post some more production videos. One thing that a lot of new PCB designers omit are fiducials on their PCBs. These are essential for more complex designs, since they allow for the machines to establish a known good reference point(s) so that accurate pick and placing can happen.
A lot of times, contract manufacturers will add these fiducials to your design if they are procuring the PCBs used in your design.
It is very common for these fiducials to be circular in shape. These are OK, but for finer-pitched components (0.5mm pitch for example) we have had some trouble with them (being off by 1 or 2 mils is a problem). We try to compensate for this error by iterating with fine offsets of the placement. They can also be problematic if the board has a HASL finish. HASL finish is not perfectly flat, and therefore the machine vision can see a non-uniform shape. Round fiducials can really only be used reliably on ENIG or silver-immersion finished boards.
We have found a cross shape to be much more accurate. The cross is simply two 8 mil traces that are 60 mil long. The solder mask is pulled back approximately 20 mil around the cross. For this design, we put three of them on the board. Below is a video showing our Samsung using them on board load to set all of the panel image reference points. It finds 5 sets of three - there are five images (or badges) per panel.
Another very useful thing that we use fiducials for is to establish the origin (i.e. coordinate 0,0) of the PCB. We do this in Altium before we export the pick and place file that tells the machine where components go. This makes the machine setup much easier, and much more accurate since the machine is going to very accurately determine the fiducial position. So the origin fiducial performs a double-duty - it helps the machine establish how the board is positioned in the machine and it sets the panel image (or individual PCB in the panel) origin.
Once the fiducials are found, the machine takes off placing components. There are much faster machines than ours, but the Samsung isn't too shabby.
The SDK is almost done. My goal is to have it posted by the end of this week so people can start anticipating what they want to tinker with.
PAWN is working well on the new badge. It was kind of tricky due to the K22 doing USB and the S32 hosting PAWN. I had to put a minimal UART-based RPC mechanism in place. It runs fast, so there's really not that big of a performance hit. There will be some performance issues running 3xCAN-FD ports at full load streaming out of USB. But you'd probably have that issue anyways using direct 12Mbps USB.
One thing that was tricky is that the S32 has a FIFO on the UART channels, but the K22 does not. This limits the UART speed to 1Mbps while the K22 is servicing USB interrupts. Any faster and I am getting UART overruns. I put a SPI bus between the S32 and K22, but had to roll with the UART for now. It's there for those that need the speed for their custom stuff.
The good news is that I managed to port over all of my STM32-based PAWN stuff to the NXP/Freescale stuff. This includes the driver-less windows USB interface. For those of you that use Linux, the interface is identical to the DC2016 PAWN stuff so anything that was written for it should run fine. The PAWN interfaces changed a little bit to support CAN-FD, so some small tweaks will be needed.