Skip to content

NXP MK20DX256 board for the Sparkfun MicroMod system. Should be able to run Teensy 3.2 firmware

License

Notifications You must be signed in to change notification settings

luni64/MicroMod_3.2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3d top 3d bottom

MM32

Experimental NXP MK20DX256 controller board compatible to the SparkFun MicroMod (https://www.sparkfun.com/micromod) system and the PJRC Teensyduino ecosystem. I.e., the board fits on the SparkFun MicroMod carriers and is able to run firmware written for a Teensy 3.2.

The MM32 board utilizes the un-brickable PJRC bootloader, preprogrammed on the MKL02 chip. Please note: You need to buy the bootloader directly from PJRC (https://www.pjrc.com/store/ic_mkl02.html). It won't work with an empty MKL02.

See here https://github.com/luni64/mmStep for a compatible MicroMode stepper driver board.

Key features:

  • Contiguous 8bit port routed to BUS0-BUS7 (Teensy: PTD0 - PTD7)
  • Two differential ADCs mapped onto A0/A1 and ADC_D+ ADC_D-
  • True DAC on PWM_0
  • Two UARTS (Serial1, Serial2)
  • SPI interface
  • CAN Bus
  • Real time clock (RTC): 32.679KHz crystal and V_Bat / BAT_VIN/3 supported
  • SWD_DIO, SWD_CKL, debug interface (bootloader chip can be disabled with a solder bridge on the back side)
  • LED pin selectable (solder bridge) between D13 and D23
  • Layout optimized for hand soldering

Functional Pinout

Production data

PCB

Gerbers and drill files for the 4 layer, 0.8mm board can be found in the KiCad/production folder. Production cost at Chinese board houses are currently (12-2020) less than USD 10 for 10 pieces plus shipping.

Parts

Here a link to an Octopart BOM containing live updated prices and availability from major distributors. It also provides links to datasheets, and technical information and alternative parts.

Documentation

Schematic, pictures, pinouts and datasheets can be found in the documentation folder.

Assembly

If you have experience in soldering SMD parts the assembly is straight forward. You don't need any special equipment. A standard 50W soldering iron (I use that one ) a magnifying glass (something like this) and cheap head worn loupe glasses (e.g. those) are absolutely sufficient. Don't use a pinpoint soldering tip. You need something to transport heat quickly which is best done by a relatively large tip as shown in the video below.

The only part I found a bit difficult to solder is the small bootloader chip (QFN16). The pads on the board are sufficiently long to solder the chip by hand in principle. However, it is a bit tedious to precisely align the chip to the pads. Start with soldering one pin, then control position and align the chip until it fits. It is helpful to apply some flux paste below the chip which will keep it in place during the alignment. Alternatively you can solder it with a hot air gun.

The rest of the parts are small but easy to solder.

Here a video showing the assembly:

MM32Assembly

Firmware

The firmware folder contains a header defining the MicroMod <-> Teensyduino pin mappings and a helper class to access the 8bit BUS.

Debug configuration

You can disable the bootloader by grounding its reset pin. To do so you need to close the solder bridge on the bottom of the board as shown here:

3d top

You can then connect a debug probe (e.g. a JLink-Mini EDU) to the debug header on the carrier board.