Greetings, everyone! Sorry I’ve been so quiet lately. After BronyCon I had some family issues that took up a large amount of the week after that. Since then, I’ve been mostly relaxing and playing large amounts of Fallout. But, I haven’t been entirely lazy. I’ve been mulling about doing a “Super” DigiBadge – A larger one with many more features, but at a higher, potentially significantly higher, price point. After BronyCon, Purple Tinker – The founder of BronyCon and a, well, tinker, hopped on our Discord Chat (Yes, that’s a link – Join us!) and asked about… a larger DigiBadge with more features. The conversation that ensued was glorious, with loads of ideas bouncing back and forth.
The biggest issue with the screens for the Super are that they require a VERY large number of pins. Put one on the 328 and you have just about nothing left. The obvious solution is to find a screen that uses fewer pins. We didn’t go for the obvious solution, because while price is less of an issue, it’s still a huge motivator. Instead, we went for the possibly-insane but workable solution of two microcontrollers on the same board. An ATMega328 will drive the screen, and will be programmed to accept commands to display things. Essentially, it’ll be the GPU of the system.
The real brains of the project will be an ATMega32u4, the same that is found in the Arduino Pro Micro. In addition to having 3 additional Digital pins over the 328 (Bringing the total to 16), the 32u4 also allows for six of those digital pins to be used as analog pins, bringing the usable number of analog pins to 11. That’s not even the biggest feature. That belongs to the fact that the 32u4 is USB-Native. What does this mean? You won’t need a special programming chip to interface with the device, making it significantly easier to program.
After we figured out how the project would work, we started figuring out what sort of other goodies we could throw in there. Below is the current list of features that I’m planning on putting on the Super, but be aware that it will likely change before the everything is said and done:
- 2.8″ TFT LCD screen
- Touchscreen, too!
- MicroSD card slot
- ATMega328 for GPU
- FTDI Connection will be available for reprogramming
- ATMega32u4 for CPU
- USB-Native support for reprogramming the ATMega32u4
- All unused pins for both microcontrollers will be broken out
- 2500 mAh 3.7v LiPo Battery
- Including charging circuit
- Will charge if Super is plugged in but off.
- 3.3v Regulator
- No more screen dimming as the battery fades
- USB Micro port for programming and charging.
- Charge on the go with your phone’s charger!
- 1Mb on-board flash storage for saving settings
- Set a “Favorite” badge to default to.
- Start to a “Favorite” image with an Art Card
- Set and display your name!
- 3-Channel Multiplexer/Demultiplexer
- Both chips can share the SPI bus!
That last bit is a late addition to the board. Most of the Arduino-to-Arduino communications solutions out there are one-way. I wanted to have the 32u4 have access to the SD card, but the 328, being the GPU, would also need access to it. I’d have to code in a way to get information from the SD card, into one ATMega, and then to the other ATMega. This seemed a little excessive. The solution is a Multiplexer/Demultiplexer or MUX chip. This chip allows easy switching for three channels of communication (Clock, MOSI, MISO) between two sources to one destination – Or from one source to two destinations. And, it can all be controlled via the 328, so the 32u4 doesn’t even lose any pins, aside from those used for communicating with the 328 and the SPI pins. But those were going to be used anyway. The 32u4 would simply send a command to the 328 saying it wants the SD card, and the 328 would set the MUX appropriately and then use one of its own pins as the CS pin.
We had explored some other options for the boards, such as Bluetooth or WiFi capabilities – But then we run afoul of FCC regulations. Currently, Matchfire boards fall under the “Subassembly” category, making them exempt from FCC certification. If the FCC were to tell us that they didn’t comply with the Subassembly category, certifying the boards with the FCC would cost somewhere between $1000-$2000, which is a lot but not terrible. That all changes when you start throwing around wireless transmission. If you’re building your own wireless device, you have to get it certified. There’s a few caveats to that, but one of those is that you can’t make more than five boards, and another is that you can’t advertise them for sale. Certifying such a device runs somewhere between $10,000 to $25,000. Or more. It’s expensive, and Matchfire does not make enough money to pay for that sort of thing. They’re a little more lenient when you’re using a pre-built wireless transmitter, but those are a bit more expensive and outside of the price range of what we’d like for default inclusion. I plan on designing around users being able to include one of those, but it would have to be purchased separately.
Currently, I’m guessing, and only guessing, that the purchase price for these will be somewhere between $35 and $40.