HackerBox 0107: Dock
Welcome to HackerBox 0107. Explore applications of an ESP32 module with a circular, full-color, integrated display. Configure an Arduino-based tool chain and a powerful graphics library. Mount the ESP32 module using a USB docking base to display data streams from Internet sources or from system parameters within a desktop computer or other system. Exploit the features of an RTL8812BU wireless networking module leveraging an SMA, dual-band, 5dBi antenna. Assemble an exclusive HackerBox mini badge kit and enjoy the lore of the Evil Wireless Tower.
There is a wealth of information for current and prospective members in the HackerBoxes FAQ. Almost all of the non-technical support emails that we receive are already answered there, so we'd really appreciate it if you can take a few minutes to read the FAQ.
Supplies
This Instructable contains information for getting started with HackerBox 0107. The full box contents are listed on the product page for HackerBox 0107 where the box is also available for purchase while supplies last. If you would like to automatically receive a HackerBox like this right in your mailbox each month, you can subscribe at HackerBoxes.com and join the party. Subscription members save at least $15 every month and automatically receive each new HackerBox shipped immediately off the production line.
A soldering iron, solder, and basic assembly tools are generally needed to work on the monthly HackerBox. A computer for running software tools is also required. Have a look at the HackerBox Workshops for tools and supplies along with a wide array of introductory activities and experiments.
The most import thing you will need is a sense of adventure, hacker spirit, patience, and curiosity. Building and experimenting with electronics, while very rewarding, can be tricky, challenging, and even frustrating at times. The goal is progress, not perfection. When you persist and enjoy the adventure, a great deal of satisfaction can be derived from this hobby. Take each step slowly, mind the details, and don't be afraid to ask for help.
WEAR SAFETY GLASSES WHEN SOLDERING, WHEN TRIMMING WIRE LEADS, OR WHEN CUTTING, DRILLING, ETC.
HackerBox Mini Badge Kit
For the past several years, we've distributed a simple "learn to solder" kit at DEF CON. The kits have taken form of a Mini Badge (aka Badge Buddy) featuring a themed PCB and including a keychain style attachment for clipping onto another badge, lanyard, backpack, etc.
For DEF CON 32, the HackerBox Mini Badge was based upon a beautiful, full-color PCB. In addition to the Mini Badge kits deployed at the conference, we also sourced enough additional units to provide one to every HackerBox subscriber. And here they are!
Assembly is simple enough...
- the 6-pin slide-switch can be oriented in either direction
- the coin cell clip is positioned to match the outline on the PCB
- each of the three LEDs are inserted with the long pin in the "+" hole
Assembly of an earlier version Badge Buddy is featured in our Learn To Solder Video. Fast-forward to 29:00 if you want to jump right into the soldering.
MORE EXCLUSIVE DEF CON 32 GOODIES
The products offered by HackerBoxes in the DEF CON Vendor Room are generally exclusive to the event. However, we have a limited quantity of certain products remaining from this summer, which have just been posted for sale online...
ESP32 Module With Round Display
The ESP32 module features a 1.28 inch round IPS TFT display with a GC9A01 chip driving 240x240 pixels.
When the module is first powered on, by plugging into a USB port, the green LED will illuminate. There will be nothing on the display.
Pressing the middle button of the module will turn it on. The red LED will then illuminate and the factory firmware will display an analog clock face on the screen.
The onboard WCH343 USB chip will not enumerate until the power button is pressed. Even then, there seems to be some complications on OSX machines requiring an update to the CH34XSER driver.
Once the module is attaches, let's configure the programming tools...
- Install the Arduino IDE (if you don't already have it)
- In the IDE, use the Boards Manager to search for ESP32 (by Espressif Systems)
- Select that board package and hit install
- From the top menu, select Tools > Board > esp32 > ESP32 Dev Module
- Select Tools > Port (COM port that appears when the ESP32 is connected and turned on)
- From Tools > Library Manager, search for TFT_eSPI
- Install the TFT_eSPI Library from Bodmer
- Find the folder where Arduino Libraries are installed and open the folder for TFT_eSPI
- Locate and open the file User_Setup_Select.h in a text editor
- Comment out the line with #include <User_Setup.h>
- Uncomment the line with #include <User_Setups/Setup200_GC9A01.h>
- Save the file
- Load File > Examples > TFT_eSPI > Smooth Graphics > Colour_Wheel
- Compile and Upload Colour_Wheel onto the ESP32
ESP32 Vertical Docking
The round ESP32 module can be used like a tiny external display connected to a PC or in a variety of other applications. The module can be docked vertically into the USB 3.0 Docking Base using the USB-A Male to USB-C Male Adapter.
Download the disp_values.ino sketch attached here and load it onto the ESP32. Review the code, which shows a very simple example of displaying two streams of numerical values using the ESP32 module.
DISPLAY VALUES FROM THE INTERNET
While the example sketch displays random dummy values, useful information can be gathered from the Internet, such as stock tickers, bitcoin pricing, weather, sports scores, clocks, and so forth. The information can be gathered directly using the Wi-Fi functionality of the ESP32.
Here are some inspirational projects:
Bitcoin pricing over ESP32 Wi-Fi
OpenWeather Information over ESP32 Wi-Fi
The display technology for each of those projects can easily be replaced by the present circular display according to the example disp_values sketch explored earlier.
DISPLAY VALUES FROM THE COMPUTER
Similarly, values can be displayed from "inside" the PC. For example, CPU temperature, GPU parameters, memory usage, etc. This is slightly more complicated because you need some code on the PC to gather whatever values you are interested in and send them out over USB. Then you still need some code on the ESP32 to catch the transmitted values and display them on the little screen.
Listed in no particular order, here are some links of inspiration:
Use pyserial on a PC to send data over USB to an Arduino sketch
Get PC parameters using Open Hardware Monitor
Automatically find the correct USB port
Send information from PC to an Arduino sketch using Java
Notes on accessing system parameters using WMI (Windows Management Instrumentation)
Downloads
Round Gauge Display for the GC9A01
While text output to the round display is attractive enough, it might be even nicer to leverage the novel form-factor with something resembling a dial on a gauge. The video above from Volos Projects provides some nice examples of presenting round gauge style displays on the GC9A01-based LCD via the ESP32 microcontroller. The sample code can be found here.
RTL8812BU Dual-Band USB Wi-Fi Module
The Realtek RTL8812BU Wi-Fi chip (datasheet) supports wireless standards IEEE 802.11 a/b/g/n/ac. It is capable of dual band operation on both 2.4GHz and 5.8GHz. Implemented security modes include WFA, WPA, WPA2, WPS2.0, WAPI.
An external antenna (such as the included 5dBi unit) can be connected to the provided SMA coaxial port.
Wi-Fi Hacking Tools
The "Evil Wireless Tower Glitter Sticker" has an interesting history. Around five year ago, we met a couple of very cool wireless wizards at DEF CON 27 who were teaching workshops on Wi-Fi Hacking and Security. They have us the blue reference card shown here with an "Evil Wireless Tower" lapel pin clipped onto it. FYI, these folks shall remain nameless unless they give us permission to identify them.
After years of trying to contact the source of these cool pins/cards, we finally got in touch and they happily provided the design files for the pins and welcomed us to produce more of them for distribution to the HackerBox family. So, keep an eye out for that in the coming months. In the meantime, enjoy the glitter sticker derived from the same design files!
Empires of the Mind
"The empires of the future are the empires of the mind." - Winston Churchill
We hope you are enjoying this month's HackerBox adventures into electronics, computer technology, and hacker culture. We aim to curate a challenging and rewarding experience of learning through experimentation and exploration. Thank you for joining us on this journey.
Reach out and share your success in the comments below. Email support@hackerboxes.com anytime with questions or whenever you need some help.
Hungry for more? Surf over to HackerBoxes.com and join us as a monthly HackerBox subscription member. You'll get a cool box of hackable gear delivered right to your mailbox every month and you'll enjoy a generous member discount.
Please consider sharing this free Instructable with others who may be interested in learning about these subjects. Word of mouth advertising is the greatest compliment that we can receive. We sincerely appreciate your support.