After deciding I wanted to use the PD Micro as a powersource I started thinking about what other functions I could add to the system. I soon settled on a counter, pulse generator, I2C scanner and USB to serial interface. I also wanted to add hardware switch debouncing to the existing switches but they I still wanted to be able to disable them if not needed. Pretty soon I started to run out of flash and RAM on the atmega32u4. What other 5v compatible uProcessor can I use?
Well, I still had a teensy 3.2: powerfull, plenty of RAM & flash and 5V resistant. With this much power I can surely add more features right? Enter the featurecreep:
- SSD1306 128x64 I2C OLED screen
- Rotary encoder with switch
- Selectable USB-C powersupply 3.3V to 20V depending on powersupply
- USB to TTL UART
- Resetable counter
- Frequencymeasurment 0.1 - 100kHz
- Frequencymeasurement 10kHz - 60MHz
- Rotaryencoder emulator - use the systems encoder for the project, long press to exit
- Pulsegenerator
- I2C selectable Pull-Up
- I2C Scanner
- I2C Monitor/logger
- OneWire selectable Pull-Up
- OneWire scanner
- OneWire DS18B20 counterfeit checker
- Dual logic blocks emulator (2AND, 3AND, 2NAND, 3NAND, 2OR, 3OR, 2NOR, 3NOR, 2XOR, 3XOR, RS FlipFlop, JK FlipFlop)
- Pin monitor in Binary, Hexadecimal, Signed and unsigned decimal
- 7 segments emulator
- Pin logging
- AVR In circuit Programmer emulator
- ESPxx Programmer with auto-reset & programming
- Screen time-out
- Serial USB UART
- Serial monitor/logger
- Servo control
- A4988 Stepper driver
- Pin stimulator
- Hardware switch debounce
- Voltmeter
- Give each function it’s own help screen for when I forget how it works or which pin is what
So far I’m pretty far along, almost all functions work except the power delivery and the logging but that is just because the Pd-micro hasn’t shipped yet. And besides, this way I still have something to do while waiting :)
Please be aware that the included pcb on the github still has some errors (like mirrored relays so you need to solder them on the other side :( ) and missing pull down resistors on pin 1 & 14 of u4. The schematic on github is the most recent and has many changes: added 4066, better pull-up resistors, levelshifters, debugheaders, dual power option, beter addressing of the eI/O expanders for automatic expandertype detection (you can use the PCF8574 or the MCP23017).