Skip to content

Mark-MDO47/mdoNotATypeWriter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

115 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mdo NotATypeWriter

My version of the fantastic Adafruit Learning project "Not A Typewriter".

The original is here:

I am happy to provide Attribution to Adafruit and to the Ruiz Brothers (3D design) and to Liz Clark (author of the code) !

Original Mine
Original Adafruit Learning Not A Typewriter MDO Not A TypewriterFront View

Table Of Contents

Introduction

Top
The "Not A Typewriter" project was so great I had to make a copy for myself.

Here is a video of my version in action:

Differences from Original Adafruit Learning Not A Typewriter

Top
Some parts were unavailable at this time and others I chose to do in a slightly different manner.

Here is an image of most of the cast of characters for this project.
My cast of characters for Not A Typewriter

RP2040 and Dual USB

Top
The RP2040 is a new experience for me, as is the use of two USB interfaces. I gather that the "device" USB port is used to program the RP2040 and implemented by its native hardware USB facilities while the "host" USB port is implemented by software bit-banging, requiring one of the two M0 ARM cores of the RP2040 and both PIO peripherals. Still learning about this.

This area contains information about the dual USB usage.

Here is a work-in-progress list of things I need to keep in mind regarding this Dual USB technique and the RP2040.

For Arduino-style programming:

  • RP2040: "pio_usb.h" must not be included, otherwise pio-usb will be used as host controller

For CircuitPython-style programming:

  • nothing yet

CircuitPython USB Keyboard Documentation

Some useful documentation for reading the keyboard data from the USB-A port

Some useful information for relaying keyboard data to the USB-C port and on into the PC

Arduino USB Keyboard Documentation

Some useful documentation for reading the keyboard data from the USB-A port

The Code - Derived from Adafruit Learning

Top
Here is a link to the area with my version of the code and a description of the changes I made.

Schematic

Top
Below is the schematic for my version of the Not A Typewriter project.

  • The main difference from the original version is the use of the ULN2803A chip instead of the I2C Solenoid Driver module
  • I chose to use some regular GPIO pins to control the solenoids instead of the ones on the I2C connector
    • Saving the I2C connector in case I have another use for it
  • I have some LEDs that flash when the solenoids activate and a switch that disables the solenoids but allows the LEDs to still work. This lets me type quietely when my family is asleep.

Schematic Diagram

Assembly

Top
Below is a conceptual assembly diagram. Most of this is assembled on a perf stripboard; see below.
Schematic Diagram

At first I had a circuit mistake: connected ULN2803A COM with GROUND instead of +5V. After spending an unjustifiable amount of time, I corrected it. The following shows a depiction similar to my debugging efforts.

With the addition of the LEDs, resistors, and switch it got complicated enough to use a StripBoard for part of the circuit. By not including the Feather RP2040 on the StripBoard I was able to keep the board quite small. Here is an indication of how it is assembled.

  • Squares starting with F are connections from the Feather RP2040, SOL from the solenoids, SW a connection to the switch, R and C for resistor and capacitor, L for LED, and W for wire.
  • The center dark area is the ULN2803A.
Image Connections Assembled
StripBoard Picture StripBoard Connections StripBoard Assembled

Below is the assembled electronics.

Top View Front View
Top View Front View

Parts List

Top

Price (each) Num Description URL or similar
$17.50 1 Adafruit Feather RP2040 with USB Type A Host https://www.adafruit.com/product/5723
https://learn.adafruit.com/adafruit-feather-rp2040-with-usb-type-a-host
https://github.com/adafruit/Adafruit-Feather-RP2040-USB-Host-PCB/blob/main/Adafruit_Feather_RP2040_USB_Host_PrettyPins.pdf
$9.60 1 Toyvian Dollhouse Miniature Typewriter Typewriter Mini Office Typewriter Tiny Wooden Typewriter Decor Miniature Antique Typewriter Classic Manual Typewriter Dollhouse Decor Accessories https://www.amazon.com/dp/B0B86HYR6P
$2.50 1 2 PCS Small Call Bell, 2.56 Inch Service Bell, Ring Bell for Service, Dinner Bell, Counter Bell, Desk Bell https://www.amazon.com/dp/B0DYDWRYZT
$4.00 1 ULN2803: 8 Channel Darlington Driver (Solenoid/Unipolar Stepper) - ULN2803A https://www.adafruit.com/product/970
https://www.openhacks.com/uploadsproductos/uln2803a.pdf
https://www.ic-components.com/blog/Your-Guide-to-ULN2803A-Transistor-Array.jsp
N/A 1 100uF 16V Electrolytic capacitor https://www.amazon.com/dp/B081PT78Y5
$5.00 2 Mini Push-Pull Solenoid - 5V https://www.adafruit.com/product/2776
$0.70 1 m/f 10 PCS (5@M 5@F) Upgraded Tiny Whoop JST-PH 2.0 Male and Female Connector Cable for Battery https://www.amazon.com/dp/B07NWD5NTN
$0.95 1 Breadboard-friendly SPDT Slide Switch https://www.adafruit.com/product/805
$0.15 2 LED Green Diffused 3mm Round https://www.digikey.com/en/products/detail/w%C3%BCrth-elektronik/151031VS06000/4489988
$0.10 2 330-Ohm 1/4 watt through-hole resistors https://www.digikey.com/en/products/detail/yageo/CFR-25JB-52-330R/1636
$2.00 1 small StripBoard https://www.amazon.com/dp/B0778G64QZ
alt: https://www.amazon.com/dp/B081MSKJJX
??? * various angle brackets, scrap wood, screws and bolts from my parts bin

License

Top
I am using the MIT license for this project since that is what Adafruit Learning uses.

There may be code included that I have modified from other open sources (such as Arduino, Espressif, SparkFun, Seeed Studio, DFRobot, RandomNerds, etc.). These other sources may possibly be licensed using a different license model. In such a case I will include some notation of this. Typically I will include verbatim the license in the included/modified source code, but alternatively there might be a LICENSE file in the source code area that points out exceptions to the MIT License.

About

My version of Adafruit Learning Not A Typewriter

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages