
Xiaomao
tigard-tools/xiaomao
Xiǎomāo is a development board geared toward hardware hacking and hardware implant design that can safely interfacing with a wide range of logic levels

Hecate: A Trivial UART tool
Hecate target is an open-source printed circuit board by tigard-tools, from the tigard-tools/hecate repository on GitHub. It is a 2-layer board of 50 × 114.5 mm with 47 parts on 60 nets, routed with 182 tracks and 31 vias.
It is built around the ESP-12F, HE6206-33NR and WS2812B. Its parts include 13 switches, 8 diodes, 7 resistors, 4 connectors and 3 capacitors. It belongs with the interfaces and adapters boards and the ESP8266 boards of this library.
Hecate: A Trivial UART tool
UART is pervasive. Nearly every piece of hardware can speak it. It can be a treasure trove of access when it's not properly secured, an entrypoint to explore even when it is secured, and often a spot to tap plaintext communications between devices.
Hecate is a CircuitPython framework designed to make it quick and easy to work with UART data streams, both interactively and standalone. Hecate makes it possible to implement a customized UART logger, payload dropper, implant-in-the-middle, and more with little or no code.
In Greek mythology, Akheron is the river Charon ferries the dead across and Cerberus is the 3-headed guard dog that guards the underworld. In keeping with the theme, Hecate is a goddess of crossroads. It's typically pronounced "eh-kah-tee" but you're more than welcome to pronounce it like "Tecate".
make (recommended, esp. for many boards)On Linux you can flash CircuitPython and Hecate in one step. Hold BOOTSEL
while plugging a Xiaomao in (it appears as the RPI-RP2 drive), then:
make all # flash CircuitPython, wait for reboot, copy Hecate
make forever # hub mode: repeat for each board you plug in, until Ctrl-C
make hecate # just (re)copy Hecate onto an already-CircuitPython board
make list # show detected boardsmake pulls the pinned tigard-tools CircuitPython .uf2 on first use (cached
in firmware/, offline afterwards; drop your own at firmware/firmware.uf2 to
override). forever skips the firmware step for boards that already run this
build, and handles a hub full of same-labelled drives by tracking each device
as it appears. Mounting uses sudo on boxes with no automounter (set SUDO=
if you're root). Target-board (keypad/authorizer) flashing is a TODO stub — see
the Makefile. Details: make help.
web/ directory run python3 -m http.server, open
http://localhost:8000/ in Chrome/Edge/Brave, and you get the live monitor,
a file browser, and a code.py editor in one page — no screen/nano
needed. See web/README.md for details.<timestamp> [<wire>] header so you can tell which wire (or Hecate itself) produced it.help lists them, status reports what lit the red status LED, and exit tells you how to detach your terminal and quiets the port (Hecate keeps running). Set monitor_headers=False on Hecate(...) if you'd rather see raw bytes.If you're using Xiaomao or another RP2040-based device, the files on your device are stored in the SPI flash chip. Who can write to thos files is managed by some code in boot.py
Xiaomao is an RP2040-based device that can run CircuitPython, has 2 hardware UARTs, lives under the Tigard-Tools umbrella, and should work well with Hecate. Otherwise, any device that can run CircuitPython and has a UART should work just as well with Hecate.
In order to use Hecate implant-style in a system, you'll need to find a way to get power from the target device. Your implant's power requirements may vary.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 13 | SW_Push | Button_Switch_SMD:SW_SPST_B3U-1000P | SW0, SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SWpound1, SWreset1, SWstar1 |
| 7 | WS2812B | LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm | D1, D2, D3, D4, D5, D6, D7 |
| 4 | 10k | Resistor_SMD:R_0402_1005Metric | R1, R2, R3, R4 |
| 3 | Conn_01x02 | libs:PinHeader_1x02_P2.54mm_Horizontal_SMD | J1, J2, J3 |
| 2 | 10u | Capacitor_SMD:C_0402_1005Metric | C16, C22 |
| 2 | 5k1 | Resistor_SMD:R_0402_1005Metric | R6, R7 |
| 2 | ESP-12F | RF_Module:ESP-12E | U1, U2 |
| 2 | G*** | kibuzzard-6A5751B8 | kibuzzard-6A5751B8, kibuzzard-6A5751B8 |
| 2 | G*** | kibuzzard-6A575194 | kibuzzard-6A575194, kibuzzard-6A575194 |
| 1 | 100n | Capacitor_SMD:C_0402_1005Metric | C19 |
| 1 | 200 | Resistor_SMD:R_0402_1005Metric | R5 |
| 1 | 600R | Inductor_SMD:L_0603_1608Metric | FB1 |
| 1 | D_Schottky | Diode_SMD:D_SOD-523 | D9 |
| 1 | G*** | kibuzzard-6A575238 | kibuzzard-6A575238 |
| 1 | G*** | kibuzzard-6A5758F9 | kibuzzard-6A5758F9 |
| 1 | G*** | kibuzzard-6A575206 | kibuzzard-6A575206 |
| 1 | HE6206-33NR | Package_TO_SOT_SMD:SOT-23-3 | U3 |
| 1 | LOGO | libs:hecate-logo-inverse | G*** |
| 1 | USB_C_Receptacle_USB2.0 | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J4 |
It measures 50 × 114.5 mm and has 2 copper layers, 1.6 mm thick.
47 parts, built around the ESP-12F, HE6206-33NR and WS2812B. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the tigard-tools/hecate repository on GitHub, at the commit this page was made from: the board is target-pcb/hecate-target.kicad_pcb and its schematic target-pcb/hecate-target.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask tigard-tools before reusing the design.

tigard-tools/xiaomao
Xiǎomāo is a development board geared toward hardware hacking and hardware implant design that can safely interfacing with a wide range of logic levels

OpenTaxus/opentaxus
Opentaxus is a permissively licensed set of hardware, software, and tooling to help as a starting point for customized conference badges.





dokuhn/ESP8266-WLED
This work is licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License][cc-by-nc-sa].
