LayerOne 2014 Conference Badge

Electronic Badge, Based on the Proxmark3 with different FPGA,

Similar projects worth following
The LayerOne 2014 badge this year is still in development, i'm on rev2 of the hardware physically, and rev3 in schematics.

It has all the features of the Proxmark3 RFID tool but with an added OLED/SDCARD and better CPU. 

It can clone, replay, capture, analyse RFID cards of 125khz and 13.56Mhz tags. Same feature set as the PM3 so far.

Connects via USB, uses an STM32103RET6 CPU at 72Mhz 8 Bit 60Msps ADC via a Spartan II FPGA.

We never really got the PM3LCD version to work properly on HF and this is a much better screen.

And is also the badge that gets you into the conference.

Revision 3 board is waiting to get the chop and split the pcb's up then i can hopefully build them this week.

STM32103RET6 ARM Cortex (currently, if i can't make the ADC behave and the SPI SLAVE to work correctly then going to flip back to the SAM7, which would suck a lot. (which we ended up doing for this round) )  I have still continued the STM32 build using the F4.

Spartan 3CS350 ( I got a metric tonne of them on eBay for ridiculously cheap )

SSD1306 driven 128x64 0.96" monochrome OLED ( I also picked up some larger sized ones that look like they'll fit the layout)


PCB Schematic Eagle 6, currently two layer, but we may go to four layer depending on ADC noise ( and cost )

HF 13.56Mhz and LF kHz reader, writer, cloning, decoding , investigating etc.

We may add a few "hidden" features to it as well.

rev3 has all the hardware SPI's in use, and a jumper to select ADC's so we can see if the extra voltage is to related to the shared pin. Moved everything around..

rev3 is a two layer, because well frankly i had issues routing it i thought it couldn't be done and have reasonable paths (See rev2) but i decided to rip * it all and redo it and i got it routed and still decent signal paths. The rev4 will be a four layer though, as we want to keep the noise down to a minimum. it'll add about $200 - $300 for the PCB's alone though !

There are a number of clocks on the board and analogue paths, so cross-talk / noise is an issue.

I dropped the IC based "relay" since it wouldn't handle the odd voltages the RF section can generate, but i found a suitable pin compatible replacement for the standard proxmark and also the OEM's replacement which is a different pin out (of course)

This is the first layerOne badge that has actually been rev'd!

Just to clarify, I did modify my SAMICE a tad.. so if you have one, you will not be able to use it for the badge :(  since it won't work on non Atmel chips. I will bring a few ARM JTAG's though.

The latest board is using the AT91SAM7512B rev chip, we just didn't get some parts working in a time where I felt comfortable having the badge ready for conference day, i'm still keeping the STM32 F4 version alive though, its been routed and has been made,. I'm going to cut the traces on the rev3 STM32 F1 board and add the two caps that are needed for the later chips.

Also the SSP in the AT91 is pretty amazing, but expensive hard to get chip.

As a note to myself, its something i'll do in future, the only real changes on switching between those F1/2/3/4 CPU's are that there are two caps added on to two pins, so i'll always add the pads for them with jumpers prewired in the gerbers so that if i choose to go to a bigger CPU again, i can just cut the traces and add the caps.

I do like the STM32's but they do have a lot of problems that you have to do a lot of digging and reading on the forums to find, the only errata from ST seems to be "they're ok to use in gov stuff". Or you do what we did and try and see why doesn't this work ( hardware NCS/NSS being a big one) The data sheet is comprehensive and the STM32 library is nice too, but its only documented in the code, normally i'm ok with this since i'm usually of the mindset where if the code isn't readable enough to self document, its poorly written code, however in the case of low level hardware control its hard to tell whats going on all the time, especially if there are choices to be made, the people writing the data sheet are generally not the people writing the sample code/libraries. So there is often a disparity between naming conventions.

Things like speed selections, and pin modes ought to be documented , its great to have a library function that sets them, along with a whole bunch of asserts that check the modes ( but only atomically) but a few lines of comments saying what can be used, wouldn't go amiss. Some of this relies on the examples, but they don't cover all scenarios and its more of what you shouldn't do , versus should.

Once the PCB's are back and we've gotten the pressure of the build out of the way, i'll write up more detailed notes.

  • 1 × STM32F103RET6 ARM Cortex M CPU with 512KB FLASH
  • 2 × 74AC244MTC tri state octal line buffer
  • 1 × SSD1306 Controlled Monochrome OLED 0.96" Basic SPI/I2C OLED with SSD1306 controller
  • 1 × XC3S50 Spartan-3 FPGA Spartan 3 FPGA 50K Gates
  • 1 × AD8052ARMZ High Speed, Rail-to-Rail Amplifier

View all 6 components

  • Post LayerOne

    charliex06/01/2014 at 16:48 0 comments

    Well layerone has been and gone, and apparently it was great, i don't know since i was in the back room getting a couple of hours sleep coding, while the others around me soldered boards together. I'm usually one to write up logs as they happen or just after, but this was a serious drain ( as well as the fact i have to delveop multiple hardware systems at work by siggraph), we're still building out badges. 

    Did the board work ?, yes it did, I missed one mosi line to the OLED so that was a kynar fix, but beyond that so far everything has worked, we read tags.

    terribly grainy video

    The HF/LF add on.

  • Finally all the PCB's in one place

    charliex05/21/2014 at 17:07 0 comments

    left side, LF antenna, middle HF antenna, right badge board, top combined HF/LF antenna.

    The late nights/early mornings have started. The HF antenna is marginal right now so we just need to get the right caps/inductors added, but it did read. The LF of the combined card is working fine, HF side needs more inductors. RF is black magic.

    There are tables strewn with parts as the kits are made, and we inventory everything for that last order for the bits that are missing or forgotten.

    Hopefully tonight we'll get board built out.. Unfortunately our big laser is still in bits after the move, and the bits for the CNC mill aren't with the CNC..

  • Badge PCB's Arrived

    charliex05/20/2014 at 18:44 0 comments

    After delays, e-test errors, shipping problems, wild fires and 6 revisions. These completely untested hopefully 4 layer PCBs have arrived. I'm probably just being paranoid but they sure look like 2 layer.

    Also Arrow decided that I didn't want overnight shipping for the CPU's even though we had a conversation about ground vs air and i didn't want to take the risk, so they chose to "upgrade" me to ground shipping from Reno, NV. Shipped last Friday, haven't yet arrived..

    Thanks Arrow ! One of our family works at Arrow too, tsk!

    Updated: The man from Extech says "Beep beep beep", coincidentally this is only piece of test equipment I have with me, and I saw it the other day thinking it was something else, then thinking whenever would i need that.. Few days later came in very handy..

    Let the builds begin!

  • fedex and wildfires

    charliex05/19/2014 at 17:47 0 comments

    It's wildfire season, but Fedex managed to get our boards from Malaysia to us in good time, unfortunately there was a cock up in the ordering department and they shipped to the billing address, we'd left there about 15 minutes before they showed up with the package. So I signed for it online and it'll be left at the door tomorrow. I don't want to reroute it or go to the distribution centre, since Murphy's Law might kick in. The actual badges should arrive tomorrow at the right address, I did go and check. I also looked back on my order and it listed the shipping/billing address clearly four times, but they use paypal and paypal helpfully sends out another address.

    Also Verical finally got back to me about my locked out, currently unknown password account, three days after I figured out how to get into myself and place the order. Same with Arrow, gave up and called in, have yet to see a tracking ID from them though.  I have to say Digikey always impresses me on speed, sometimes they're just too fast, I've ordered something then 10 minutes later thought about another part to add, and too late its in the warehouse. Arrow/Verical do tend have some parts a lot cheaper though, often its parity with mouser/digikey but farnell/element14/arrow and verical sometimes have really good deals. Especially element14's part sales. 

    Allied are good too, Allied for Europeans like myself, are RS Components, my uncle used to work for them in the UK and he'd get me the giant paper catalogue that you normally needed to be a proper actual business at the time to get, it was the greatest thing ever. Now the paper books are mostly doorstops if they even exist. RS was this amazing thing in the sky that had all these neat impossibly expensive things, so Maplins it'd usually be. RS is Radio Spares, not tied to Radio Shack, or Tandy as it was in the UK.

    Anyway we placed the hopefully final parts order from Digikey, Arrow and Verical. Parts we'd started off with had gone out of production or just not available, so a last minute late night dash to find replacements. Luckily it was just the MCP100T reset controller, so that is an easy move to the MCP800 series, the 16 MHz 2-SMD Xtal had a newer version, and a couple of other parts.  I added each of the new parts in as OEM_ALT DIGIKEY_ALT etc in the attributes and checked in a new svn revision for each, that way we can see them in the log's clearly.

    On Saturday i swapped out the STM32F1 chip for the STM32F4 on a 95% built prototype board,  rather than scratch build a new one on the quick turn PCB's i'd gotten. All i had to do was carefully cut a couple of traces and put two 2.2uF caps on, i used a microscope and small knife to score away the traces. It's tougher than it seems, there are tools i've seen specific to that task, i've tried drills and snips etc, but this one was right a the leg of the IC.

    After cutting away the traces I added the two caps the STM32F4 needs, and some kynar wire, and booted it up, the JTAG didn't see it at first,  but seemed to be mostly an issue with the software side of things. A few unplugs and it worked fine.

    It ain't pretty but it worked. The blue kynar wires are going to the caps. The Red wire is because we hadn't built out the battery charger circuit on this board, since we weren't sure about the values, it was built on a separate PCB

    This is the battery test board, on the other side is a 5mm blue LED, we just let it charge and discharge daily. I'll try to add more details about this one, mmca is the one that put the circuit together, I believe its an iteration of the blinky ball. The chips used for the battery controller though might be getting tough to source, so might need to be revised in future.

    Here is krs putting something on something, I don't recall what it is, but the blinding light from the scope is obscuring it

    I think it was the antenna boards. For these we had to match the capacitors to get the best voltage at 125khz, so i pulled off the ones from...

    Read more »

  • anticipation, neoden, parts ordering, BOM.

    charliex05/17/2014 at 00:10 0 comments

    we're still waiting on a tracking number for the PCB's, the conference is in just over a week!  and i can't finish the code til we get the first one made... oddly enough this hasn't been the closest we've cut it, but its getting there.

    since there is a huge disparity  between vendors ( and is so useful ) i've been trying to get parts from arrow for a while, they have my old address in there and only they can update it, i started requested that three weeks ago  (and yes thanks Arko, i did try calling ) . Today I  gave up and asked them to let me order it over the phone, of course the parts weren't in stock, even though they show up as in stock .

    They found them on cut tape vs reel, and gave me reel pricing, so that was nice. I also picked up some SAM7 32KB's for people who just want a basic badge that does something. As with the last few L1's i'll probably spend most of the con writing code or building badges, my neoden TM220A is reeled up ready to go, ( don't buy the 220, get the 240 i didn't follow my own rule on this and it definitely wasn't a good idea.

    Neoden are coming out with a new model as well, i'm guessing around June, but I'm also guessing it'd be a higher price, if you do buy from Neoden, don't accept the first quote, they'll drop the price.

    I like the Neoden, its pretty straight forward, we have our Juki conversion as well, but that's at Null Space again and not in my garage, and its unlikely we'll get it set up in time, the TM220A I keep at home.

    One of the problems I find we run into is that its easy to get into the mindset of buying parts from places like DIgikey who'll ship out a few hours after you order sometimes, so you think , yeah plenty of time!  Since we're rev'ing the design as we go its been tough to order ahead, parts get forgotten about,. We use Google Docs Spreadsheet with a modified version of bom-xs.ulp to handle parts and ordering.

    We set attributes in the schematic for each PART

    MPN/PARTNO manufacturer part number (some BOM scripts use others)

    DIGIKEY digikey part number, i'm going to change this next revision, and add DIGIKEY-REEL or something to specify reels etc for Jellybean parts.

    OEM manufacturer

    Here's an example of a part

    I fill in the part number from mouser/newark etc ( you can see here MF is set to the wrong thing!)

    It can also be exported to a database that you can share with others.

    bom-xs.ulp creates an order, or parts list and then we can paste it into digikey, or arrows BOM managers and they'll quote it, as well as show parts that are duplicated or not available, expect that a lot!

    Shown by Values

    Also useful for handing kits, BOMs and just general checking. Document and update the attributes as you go along, consider ALT's as well. We've gone through a couple of BOM managers, but bom-xs has worked out the best for me so far, i even wrote a digikey scraper that pulled in parts to a local SQL database to get better matching than the website offers. But I didn't have time to finish it.

    It can also query Digikey for pricing, but it needs some love on that side of things.

    I've thought about trying to get this working with findchips to get the lowest price/quantity from whomever, but it isn't setup for that yet. I'm just glas it works as well as it does at the moment.

    If you take enough care with the attributes and parts, you can pass on the list to other people, the more you do upfront and just as important, getting people to use computers to do the work, versus how we typically do it and end up doing all the slug work ourselves.  Eagle does  hard code some values into the part when you make it, so think about that, like a CPU that can be 32/128/256 variants, use the variants, all it does is change the name/value.

    I wish eagle had more interactivity when its in a ULP, typically changes you do in the ULP , you generate a script, and run that on exit of the script, I also wish it was non blocking so i could keep working in Eagle while the BOM is open.


    Read more »

  • Oh yeah I forgot.

    charliex05/12/2014 at 16:51 0 comments

    Not only does this badge have an FPGA, but there is also a breakout and chip pads for a BitFury BTC ASIC

  • LF Antennas arrived from PCB house

    charliex05/12/2014 at 16:43 0 comments

    Just took them out of the box, need to test them and see if they've worked, RF is black magic.

    The other boards are also out for manufacturing. They should be here this week , hopefully since we have to pre-build a bunch!

  • added a larger OLED

    charliex03/05/2014 at 17:58 3 comments

    Terrible cell phone pic, the 1.3" 128x96 OLED SSD1306 is a direct drop in replacement for the 0.96". 

    Though it is $5.00 vs $2.57 , I do like the bigger display . I'll hopefully take a better pic of it, certainly couldn't take  a worse one. It still has the plastic cover on it.

    Compared to the 0.96" 

    These are remarkably easy to solder and desolder, lay a small line of paste over the pads and drag solder, then run the iron parallel to the edge connectors for each pad to clear up any bridges or excess solder , don't go nuts on the amount of paste.

    To desolder all i did was gently lift one side at the right of the connect and slowly move the iron right to left over the pads and it just lifts off. i am using leaded solder.

  • timelapse of power and arm/fpga soldering up

    charliex03/03/2014 at 03:56 3 comments

    we did a timelapse of arko hand assembling the first couple of rev3 boards since we can't pick and place them and test as we go along.

  • power....

    charliex03/02/2014 at 19:18 0 comments

    Arko started putting the rev3 board together last night, we usually build the power section first and measure how it looks, make sure none of the power is shorted in the PCB ( it happens). This board has one always on regulator, its a 3.3V LDO  that one didn't show up, the 5V in from the USB was there.  But nothing else, hmm. did we not jumper the battery boost ICs since they're not yet populated ? Nope that was ok... I had the schematic open and sure enough... I see a problem, i highlight it on  the board image in Eagle and Arko spots it next, we have friends over at the time and they're looking at us wondering we w're going 'uh oh' 

    Funny how everything looks obvious when you're looking for a fault ( the airwire I added after we found it, it just hasn't been routed yet, which in itself is also going to be a bit of a hassle, since technically unless i route it, its not a 2 layer board! )

    The post boost 5V line isn't connected to the VDD, and i'm also thinking why does 5V still exist as a name ?

    Well the reason is simple, and its caught me out a few times , even during this board.

    I'd renamed 5V to VDD, but I did not change the "Change Name of" option from "this Segment" to "all Segments on all Sheets", simple as that. Once that OK button is clicked i severed the link between VDD and 5V  and the board no longer had power, even though we all go over it a few times, no one spotted it. The worst part of this is that it casts doubt everywhere else, and maybe that signal that runs all over the place that just has a default eagle name of n$7 has been severed and it'll be really hard to spot. So i've never liked that particular option, Eagle doesn't remember what I last choose and there probably is a good reason they choose  this way.

    So we jumper from the VUSB in to a big pad of one of the caps and we're off, the 3.3V turns up, current draw looks fine.

    Tektronics software is awful by the way, i will tell you this boy, capturing a screenshot across the USB instead of the actual signal ? Madness, there is more data in the crappy image than there is in the waveform, i just don't understand the point of a screen capture transfer.. The best part is that on the scope if you use the save to disk option, it also captures the save to disk menu instead of the say for instance, much more useful measure screen. Of course you can use the other tek/visa software to download the waveforms instead, it'll install 10 or so background services that run all the time, and chew up a bunch of resources, then it'll transfer waveforms  at the speed of mud, so much "scientific/test instrument" software is as clunky as this. The waveform Data Capture mode is equally slow but provides a much better image, but also much less data, wheres the useful measurements the scope provides, no axis levels, and for some reason a large white border? Wouldn't I rather have that are as screen real estate for the graph (or axis labels/measurements). again the other software does all this, but its just a royal PITA to use properly.

    So screenshot has more information, crappier waveform and 1980's CGA bitmap stylings, waveform has less helper data, and a much nicer rendering with a giant border. Open Choice Desktop, thats my choice, poor processing vs a dozen installed services that do nothing 95% of the time my computer is running, it's become a real problem that software relies on background services that always run, so you just get bogged down with every updater app, or licensing daemon, its just not needed and poor design style.

    Anyway, the FPGA and ARM are added next, ARM doesn't power up, this time I know what it is since we did this on the last board, there is a ferrite on VDDA that is missing and the ARM won't do anything without it, sure enough add it and the JTAG boots up and sees the chip, i flash in the rev2 software since the power on line is still the same and the FPGA jumps into life, it doesn't over heat so that's a good start.

    I add a define...

    Read more »

View all 11 project logs

Enjoy this project?



pfeffer.marius wrote 08/31/2014 at 11:51 point
Any updates ?
SVN link is broken

  Are you sure? yes | no

charliex wrote 09/02/2014 at 16:43 point
yeah its been updated, looks like the way is handling the links is broken. the link itself works, just remove the gubbins had adds.

  Are you sure? yes | no

pfeffer.marius wrote 07/11/2014 at 08:49 point
Nice project !
Is it OSHW ?
Do you plan a crowdfunding ? (whats the target price for one unit?)
Thanks :)

  Are you sure? yes | no

charliex wrote 09/02/2014 at 16:44 point
Hmm not sure why i hadnt seen this before, apologies, all the board files and source code are in the SVN.

  Are you sure? yes | no

southwestsurplus wrote 06/03/2014 at 08:16 point
will it work in stand alone mode and will it clone the HID 100 coprate card

  Are you sure? yes | no

charliex wrote 09/02/2014 at 16:45 point
yes it does standalone, and it does work with with most HID cards.

  Are you sure? yes | no

Benjamin Vernoux wrote 05/12/2014 at 23:07 point
Hi charlie,

Congratulation for your project !!

I have chosen STM32F4 instead of F1 because the F4 @168MHz with M4 is more than 4 times faster compared to the F1 and especially for NFC on my project HydraNFC I can sniff ISO14443A PICC and PCD both side in realtime without any loss (with an ultra optimized synchronization, LUT and asm optimization and of course with the help of TI TRF7970A special raw mode with data sampled @3.39MHz using SPI slave with DMA circular buffer).

The whole process take less than 1 microsecond (checked with scope worst case):
1) RX stream synchronization
2) Downsampling + filtering of raw data (32bits IN => 4bits OUT for 105.9375KHz)
3) Detection of protocol (Miller Modified/PCD or Manchester/PICC).
4) Conversion of final decoded data PICC or PCD in ASCII hex stored in SRAM with same syntax as proxmark.
So there is room to decode/encode any protocol at up to 1MHz (when NFC is limited to 848KHz).

Advantage is also GPIO of STM32F4 can exceed 80MHz, so it is also possible to encode anything at 13.56MHz (limited by NFC) and define/create proprietary NFC encoder/decoder.

Best Regards

  Are you sure? yes | no

charliex wrote 05/12/2014 at 23:50 point
Hi Benjamin,

Yep thats exactly why I wanted to shift, the F1 just wasn't making any sense at some of the capture rates, then we discovered a 24Mhz capture so i can do the live stream of the FPGA back to the ARM with the SPI->DMA, initially it was was an ATMEL SSP so a slightly different signal layout than SPI, but the beauty of the SSP is it can be out of sync with the ARM's clock and is really fast for a chip that is running at just over 50MHZ.

I'm glad you've achieved it though, so less to worry about, did you manage to get hardware NSS working ?

  Are you sure? yes | no

Benjamin Vernoux wrote 05/13/2014 at 20:08 point
I'm using only the SPI with ChipSelect mode, parallel or SPI without CS mode have less features (like raw mode are not usable ... even if all mode are possible on actual hardware).
Nota: My sniffer mode is also out of sync with the ARM main clock as the SPI clock is connected to TRF7970A Clock OUT (and configured to 3.39MHz in TRF7970A) so the realtime NFC bitstream is synchronized with NFC hardware.

Anyway your design is very interesting and OLED display is ultra nice feature, I plan something like that in future or maybe just driving the HydraBus+HydraNFC stuff with an Android phone with a nice GUI on phone (with maybe QT for portability) could be a very good alternative.

  Are you sure? yes | no

charliex wrote 05/17/2014 at 00:14 point
Yep I really like the OLED's the link is down below for them, i buy them on ebay from the same guy buydisplay.

I'm hoping i can get back on to the STM32F4 soon but it is a vexing chip sometimes. The conference is next week so I'm sure i'll feel like a break, especially since i have to build a tonne of hardware for siggraph this year for work. never enough time.

  Are you sure? yes | no

charliex wrote 04/22/2014 at 18:10 point
We've been working hard at this, some of the issues we've hit are getting solved.

The ADC isn't impedance matched, so its showing a stray voltage, worst case it can be calibrated and offset, the cpu adc's aren't used that much. Best case i match impedance.

SPI DMA is working, but its on the edge of fast enough if i run debug mode it'll miss about 8 captures , about 2.4uS per 16 bit for the SPI, in release mode it'll usually capture the whole thing, i'm still unsure of why debug mode is affecting a DMA SPI memory buffer transfer, might be the special debug mode the STM32 has.

It seems like the STM32F103 should be more than capable of DMA'ing SPI at that speed. its a 72Mhz part with SPI at / 2

I"m looking at the STM32F405 as a replacement for for the STM32F103 but i'm worried about what we'll find that doesn't work on it. Changing horses mid race and all that.

  Are you sure? yes | no

Eric Evenchick wrote 03/11/2014 at 19:11 point
I think this might win for most useful conference badge. Admission and RFID spoofing, all in one!

  Are you sure? yes | no

charliex wrote 03/12/2014 at 15:52 point
I hope so too Eric!

  Are you sure? yes | no

Ben Delarre wrote 03/05/2014 at 22:57 point
Hey CharlieX!

Where are you getting those 0.96" OLEDS for $2.57? We're thinking about a little project at SupplyFrame HQ and these look almost ideal.

  Are you sure? yes | no

charliex wrote 03/05/2014 at 23:07 point
Hey Ben, in units of 50, even cheaper at 100 and beyond.

  Are you sure? yes | no

Ben Delarre wrote 03/05/2014 at 23:08 point
Awesome thanks!

  Are you sure? yes | no

charliex wrote 03/05/2014 at 23:10 point
no worries, they're a great micro display, easy to program and reasonably fast.

hmm no individual comment reply!

  Are you sure? yes | no

Bob Ryan wrote 02/21/2014 at 01:21 point
What issue are you having with the SPI? There is an issue with some of the official ST headers that will only allow 1-8 bit or 16 bit transfers. If you're getting extra clocks take a look at the SPI struct

  Are you sure? yes | no

charliex wrote 02/21/2014 at 01:29 point
Hey bob,

The problem with the rev2 is the FPGA sends data back to the ARM with signal thats a frame start pulse, clock and data, thats derived from an 13.56Mhz xtal thats not synced to the arm, divided down, or a 24Mhz ARM derived clock, its also bidirectional.

But for some reason the ARM is missing frames, if you attach it to a leading edge interrupt it'll work 100% but if you turn off all the interrupts, and sit in an pure asm loop watching for that signal rising, it'll miss something like 5% of the pulses.

We're going to try Slave SPI with DMA and rewriting the FPGA to do an SPI style signal, instead of a frame start.

  Are you sure? yes | no

mpinner wrote 02/19/2014 at 02:29 point
id swing by to build one and see the pick and place in action.

  Are you sure? yes | no

mpinner wrote 01/23/2014 at 19:39 point
i would goto layerone just to learn about proxmark... ill stay to hang w you;) thanks! i look forward to another badge hack contest. can i help? -matt

  Are you sure? yes | no

charliex wrote 02/18/2014 at 22:22 point
hey matt, hoping to get rev3 boards today, i've got most of the parts at my place, so do build outs, once i verify the rev3 changes actually work , maybe swing by my place and build one ( the pick and place does a bunch of it )

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates