Skip to the content
PCBKitNew board
2 layers86.6 × 105.8 mmMacropod, the printed circuit board in 3D

A basic macro keyboard built from the ground up

Size
86.6 × 105.8 mm
Copper layers
2
Thickness
1.6 mm
Parts
57
Nets
56
Pads
180
Tracks, vias
434, 47
Pours
1
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
30 Mar 2019
Updated
27 Jun 2019

Overview

Macropod is an open-source printed circuit board by drjaydenm, from the drjaydenm/macropod repository on GitHub. It is a 2-layer board of 86.6 × 105.8 mm with 57 parts on 56 nets, routed with 434 tracks and 47 vias.

It is built around the LM1117-3.3. Its parts include 21 diodes, 21 switches, 5 capacitors, 2 ICs and 2 connectors. It belongs with the keyboards and input boards and the STM32 boards of this library.

Main components

1

README

README.md

macropod

A basic macro keyboard built from the ground up

Configuring Macros

To setup your own macro bindings, create a file key_mappings.h in the code/src directory with the below format. This file will be automatically detected and included in the build.

When editing, be sure to do a clean build to ensure headers are re-included.

c
#ifndef __KEY_MAPPINGS_H
#define __KEY_MAPPINGS_H

// This will generate a unique GUID following the V4 spec
#define MACRO_KEY_0  GenerateGuid(MacroContext);WriteString(MacroContext, "\e")

// These output the given string
#define MACRO_KEY_1  WriteString(MacroContext, "Macro 1\n")
#define MACRO_KEY_2  GenerateGuid(MacroContext);WriteString(MacroContext, "\e\nMacro 2");
#define MACRO_KEY_3  WriteString(MacroContext, "\t\tMacro 3")
// And so on for the rest of the keys...

#endif

Setup

Install the GNU Toolchain for ARM Embedded Processors

The toolchain is required to compile for the STM32 target platform

MacOS
bash
brew tap osx-cross/arm

brew install arm-gcc-bin

If you are using ST-Link

bash
brew install stlink

If using J-Link, you also need to install the J-Link tools. You can download them from Segger here https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack

Building

Run the build

bash
make

Flash to device using ST-Link

bash
make flash-stlink

or using J-Link

bash
make flash-jlink

Inspect memory layout of image

bash
arm-none-eabi-nm main.elf

Debugging with GDB

ST-Link GDB Server

bash
st-util

J-Link GDB Server

bash
JLinkGDBServer -if swd -device STM32F042K6 -port 4242

GDB

bash
cd ./code

arm-none-eabi-gdb main.elf

target extended-remote :4242

load

continue

Ctrl^C

info registers

stepi

info registers

quit

Parts

57
QtyValueFootprintReferences
20DDiode_SMD:D_SOD-123D1, D2, D3, D4, D5, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20 +4
20SW_MKButton_Switch_Keyboard:SW_Cherry_MX1A_1.00u_PlateSW1, SW2, SW3, SW4, SW5, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20 +4
5MountingHole_2.2mm_M2MountingHole:MountingHole_2.2mm_M2M2_Mount1, M2_Mount2, M2_Mount3, M2_Mount4, M2_Mount5
3100nFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC3, C4, C5
24.7uFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC1, C2
1470Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR1
1Conn_ARM_JTAG_SWD_10Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical_SMDJ2
1LEDLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD21
1LM1117-3.3Package_TO_SOT_SMD:SOT-223U2
1STM32F042K6TxPackage_QFP:LQFP-32_7x7mm_P0.8mmU1
1SW_SPSTButton_Switch_SMD:SW_SPST_B3U-1000PSW21
1USB_B_MicroConnector_USB:USB_Micro-B_Molex-105017-0001J1

Questions

How big is the Macropod PCB?

It measures 86.6 × 105.8 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Macropod use?

57 parts, built around the LM1117-3.3. 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.

Where can I download the Macropod KiCad files?

From the drjaydenm/macropod repository on GitHub, at the commit this page was made from: the board is schematic/macropod.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Macropod design in my own project?

Its repository states no licence, so its author keeps all rights: ask drjaydenm before reusing the design.

Similar boards

  • 2 layers33.7 × 97.8 mmHAN ESP TSS721, the printed circuit board in 3D

    HAN ESP TSS721

    UtilitechAS/amsreader-firmware

    ESP8266 and ESP32 compatible firmware to read, interpret and publish data to MQTT from smart electrical meters, both DLMS and DSMR is supported

    29 parts470
  • 2 layers52.5 × 36.6 mmESP8266-WebRadio, the printed circuit board in 3D

    ESP8266-WebRadio

    karawin/Ka-Radio

    A wifi webradio with only low cost boards ESP8266 and VS1053 by Jp Cocatrix

    52 parts453
  • 2 layers95.2 × 57.2 mmDomesdayDuplicator, the printed circuit board in 3D

    DomesdayDuplicator

    Domesday86/DomesdayDuplicator

    High-speed LaserDisc RF sampler

    66 parts325GPL-3.0
  • 2 layers189.5 × 204.9 mmSmartSpin2k Panelized, the printed circuit board in 3D

    SmartSpin2k Panelized

    doudar/SmartSpin2k

    Transform your spin bike into a Smart Trainer!

    749 parts292GPL-2.0
  • 4 layers121.9 × 109.2 mmPlinkyblack hwmidi jacks, the printed circuit board in 3D

    Plinkyblack hwmidi jacks

    plinkysynth/plinky_public

    a public release of the plinky sw and hw

    300 parts227
  • 4 layers113.5 × 105.5 mmMultistepper, the printed circuit board in 3D

    Multistepper

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    243 parts208
  • 2 layers275 × 103 mmKeebee, the printed circuit board in 3D

    Keebee

    blakesmith/embedded

    Blake's embedded projects

    159 parts167
  • 2 layers43 × 34.3 mmEspway, the printed circuit board in 3D

    Espway

    espway/espway

    Segway-like robot implemented on ESP8266

    37 parts122LGPL-3.0