Sunday, December 7, 2025

Switec X27.168 Breakout Board v1.1 - Update

it works. i would do a comparison but i only have one of these motors and had to desolder it from the original board. used the example code SwitecX25 library by clearwater to get things moving as i couldn't find any code from 2017.
 
v1.1 shared on oshpark here. uses Fairchild/ON Semiconductor 1N4148 diodes, digi-key 1N4148FSCT-ND. 

 
ffmpeg -i input.mov -vf "fps=10,scale=640:-1:flags=lanczos" -gifflags -transdiff output.gif
 

Tuesday, November 18, 2025

steeereo

steeereo is an amplified, 3-way stereo splitter designed for use on road trips when i don't want to listen to the kids' movie. previously, we had to crank the car stereo for the little one in the very back of the car to hear the audio. it doesn't use much power. i was hoping to use a USB battery bank but they switch off automatically when the load is too small. my goal for this project was sanity in the car and getting it done in under two weeks.

  • powered by USB 5V
  • uses 3x MAX4410 dev boards from aliexpress
  • LED power indicator
  • independent volume control
  • #6-32 hardware (M3 compatible?) and McMaster 93365A130 heat-set inserts
  • 0.2A PTC fuse

all the inputs are tied together and then tied to the 3.5mm audio cable. the USB cable only supplies +5V and ground to each board, no data. 

if i were to make this again, i'd prob add some tvs protection, a power switch and removable cords. 









 

 


   

Sunday, November 16, 2025

Switec X27.168 Breakout Board v1.1

many years ago, it was brought to my attention that the Switec X27.168 Breakout Board v1 design did not make sense. this feedback was seen as absurd since the board worked perfectly (things moved, didn't they?) and because i'd been designing very compact, robust (read very small and very simple) pcb's for months at that point i was sure these observations weren't worth a second glance. fast forward eight years ... still designing pcb's and i now question everything and have a solid grasp on imposter syndrome. i'm not sure where i am on this graph but i could be somewhere in the shadow of "Mount Stupid". 
"Dunning–Kruger Effect 01.svg" by 忍者猫, CC0 1.0 Universal Public Domain Dedication, source

so here's v1.1 shared on oshpark here. i'll update when i've tested it. still uses Fairchild/ON Semiconductor 1N4148 diodes.


ps - thank you for the feedback.

Thursday, October 23, 2025

Little Stick Vise, Part 2

Custom jaws for the little stick vises. They get a lot of use. I generally keep the blue or purple jaws on one set and the wide, orange jaws on the other. I generally print my own jaws now but for some weird geometries I'll revert to SLS from the usual sources like Shapeways or JLC3DP.

 

A complete ripoff of the original stick vise by Alex Rich. Files shared here.

Sunday, June 25, 2017

Switec X27.168 Breakout Board

Update: see post about updated design here.

Original Post:
Yet another breakout board for a Switec X27.168 stepper motor. It's just like the others except it's round! Th
e board is tested and functions. It uses Fairchild/ON Semiconductor 1N4148 diode to protect the microcontroller.




































Monday, May 15, 2017

UNI-T UT61E Auto Power Off, Part 3

It's tested and functional. I tested with just an IR LED hooked up to a power supply and the meter enabled and disabled the auto power off feature.

On the serial cable, I placed a jumper between pin 2 on the d-sub connector and R2 (red box). A 10k resistor was also put down (purple box). Oh yeah, and the IR emitter too (orange circle).


Again, all circuit diagrams used can be found here. Thanks Mr. Herbert!


To-Do's

-test serial cable


BOM

1x of LiteOn LTR-4206E phototransistor ... 3mm ... Digi-Key 160-1030-ND.
1x of LiteOn LTR-4206 IR Emitter ... 3mm ... Digi-Key 160-1988-ND
1x of 100k ohm resistor ... 0805 ... Digi-Key 311-100KCRCT-ND.
1x of 10k ohm resistor ... 0805 ... Digi-Key 311-10.0KCRCT-ND.
1x "UNI-T UT61E Auto Power Off v0.1" circuit board from OSHPark.
30 AWG wire similar to Digi_key K395-ND. 

UNI-T UT61E Auto Power Off, Part 2

I've been procrastinating a little because opening the meter means dealing with thin, delicate wires from the backlight mod.

With the meter splayed open, I located the trace that needed cutting. The IC is a CyrusTek ES51922 and the pin that needs isolating is pin 111 - RS232. It's the 9th pin down from the "top". The cut is highlighted with the blue line.

The jumper wire is then soldered to that pin and routes through the circled via to the "P" solder pad on my APO board. It's labeled "P" for some reason I've since forgotten about.

Placing the APO board - The IR windows on the case have a center to center spacing of about .65in (16.5mm). A little hot melt tacks it in place.

Power and ground were then routed around very carefully around that big hole, over the trimmer thingies and past the after-thought capacitor. After I did this, I realized I could have used much shorter wires and solder to the nearby caps for power and ground. A bit of heatshrink shrouds the receiver to avoid possible interference.

A bit more hot melt and it was ready to close up and test.

After assembling the meter and powering on, the PC icon was gone and a new timer icon showed up. At this point, my backlight mod stopped working and the meter was opened up again to investigate. Yup, a thin wire had broken off the backlight board. This has been fun but I think in the future I'm going to keep my meter in its stock condition :)

Continued in Part 3.



Wednesday, March 22, 2017

Little Stick Vise

A complete ripoff of the original stick vise by Alex Rich.
  • Jaws open 4.25"
  • Jaw width is 2.5"
Jaws and knob are from Protolabs.The blue jaws have a nice low profile, and the purple set allow boards with components on both sides. The ring is for hanging it on a hook. I'd like to share the design files but haven't decided which crowd/cloud system is the best.




Sunday, February 19, 2017

Remote Temp


Remote Temp is a 2.4Ghz radio, battery operated microcontroller board or sensor node. This would be something you could hang in a tree outside or hide in the attic and gather environmental data. Some of the design ideas fermenting are ...
  • Battery operated and therefore low power
  • Use rechargeable AA's (3x) or alkaline (2x) and fit within the foot print of AA battery holder
  • Have connections for the "regular" NRF24L01+ breakout board with the meandering PIFA antenna and the high power PA LNA style. 
  • SPI-Flash because I'm borrowing design elements from Mr. Rusu's excellent Moteino line.
  • ICSP and FTDI capable. FTDI for the base station.
  • IO header.
  • 2x LED's.
  • 3x tactile switches for input and reset.
  • Sensors: foot prints for Bosch BME280 and Microchip MCP9700.
And now some explanations of those ideas in order of listing.

The problem with rechargeable AA's is that their initial voltage after charging can be up to 1.8V but after use they plateau around 1.2V. So the rechargeables need regulation but the alkalines don't. So you have the option to populate the regulator and use whatever you want as a battery or solder a jumper and skip the regulator. I'm still deciding if I want over voltage protection built in. One power connection features is that you can't plug in an FTDI friend and battery connection at the same time. They share the same ground pin. I'll probably be fiddling with these two connections the most.

Two NRF headers is a device foot print thing as the high power radio is significantly longer. I want the overall device to fit both the regular and high power radios without a major redesign. If possible, the same enclosure should be used for either one. And the board is sized to fit within the dimensions of a 2-cell AA battery pack. Is having twice the traces for this a good idea? I guess I'll find out. It's 1.25" x 2.00".

On-board memory seems like a good idea. Who knows if I'll use it. Design wise, it is voltage constraining because its lowest operating voltage is 2.4V and the nearest appropriate brown out detection levels for the 328P is  2.7V and 1.8V. I'll probably want BOD enabled when using the flash memory. So while I can rely on the flash working with 2x rechargeables putting out 2.4V, I won't know when they dip below that near the end of their life. Contrast that with two alkalines putting out 3V and the 2.7V BOD level protection. What's the point of logging temps or events if you're just going to write garbage and lose your time investment?

Programming. Data received from remote units will most likely be routed serially to a host, hence the inclusion of the FTDI port. The ICSP is for setting fuses, bootloaders and the like. Most likely the "base station" will have an FTDI programmer hanging out of it.

General IO, switches, blinky ... nothing fancy here. The two hardware interrupts of the 328P are routed to one of the tactile switches and the other to the IO header. SDA and SCL are also present on the IO header in case I want to use an I2C sensor or OLED display.

To be continued ...

Oh and some other people have done it like here and here.

Tuesday, August 30, 2016

NRF24L01+ PA LNA Power Consumption

NRF24L01+ with PA LNA Power Consumption




There is conflicting information about the power consumption of the NRF24L01+ PA LNA breakout boards. Perhaps some boards leave some circuitry powered on all the time even when the NRF24L01+ is sleeping while others do not. This little experiment was to determine current consumption for some of the radio's different states, especially during NRF and microprocessor sleep states, for the purpose of creating power budgets.

Setup was an Arduino Nano clone. 3.3VDC from an AMS1117 vreg to an NFR24L01+ PA LNA from Ebay (link). Meter was a UNI-T UT61E. TMRh20's RF24 library was used. 


Mode ... Current Consumption @ 3.3VDC

radio power up = 0.030 mA
radio power down = 0.00054 mA (0.54 µA)

stop listening = 0.031 mA
start listening = 20.7 mA
write (pa_max, 250kbps) = 140 mA


power on, no init, USB plugged into PC = 0.47 mA
power on, no init, atmega sleep, USB plugged into PC = .130 mA
power on, no init, USB plugged into charger = 0.43 mA
power on, no init, atmega sleep, USB plugged into charger = .06 mA

Sunday, August 21, 2016

Slow Moteino

2.7V BOD/8Mhz Int Oscl Moteino Variant
Put in the Moteino boards.txt
The "extended_fuses" has been changed from 0xFD to 0x05 because the USBASP throws an error when burning the bootloader.

Moteino2.name=Moteino2
Moteino2.upload.protocol=arduino
Moteino2.upload.tool=avrdude
Moteino2.upload.maximum_size=31744
Moteino2.upload.maximum_data_size=2048
Moteino2.upload.speed=57600
Moteino2.bootloader.low_fuses=0xE2
Moteino2.bootloader.high_fuses=0xDC
Moteino2.bootloader.extended_fuses=0x05
Moteino2.bootloader.path=Moteino
Moteino2.bootloader.file=DualOptiboot_V5.0_atmega328_BlinkD9.hex
Moteino2.bootloader.unlock_bits=0x3F
Moteino2.bootloader.lock_bits=0x0F
Moteino2.bootloader.tool=avrdude
Moteino2.build.mcu=atmega328p
Moteino2.build.f_cpu=8000000L
Moteino2.build.core=arduino:arduino
Moteino2.build.board=AVR_ATmega328
Moteino2.build.variant=arduino:standard

Sunday, May 1, 2016

ATTiny Nano Programmer, Part 3

Assembly





The boards* are in and ready to be populated with the proper components listed on the BOM whatever i can find in my scrap bin. For the very first assembly, I'm using female headers on the Tiny board so i can easily remove it from the Arduino Nano in case something goes wrong.







So I've exhausted my supply of female headers so the first assembly looks a little lame. But it works. And since it works, one should know that this board has no voltage regulation and no polarity protection diodes of any sort. So be careful!

Programming

The ATTiny isn't supported out of the box by the Arduino IDE, but MIT's hi lo tech has a handy-dandy tutorial for adding the ATTiny support and programming it.

To program the ATTiny, the Nano first needs to be programmed to be an ISP. The RST cap on the Tiny board is disabled by 1) moving the jumper to the position closest the USB connector or 2) removing the jumper altogether. The ArduinoISP sketch can be uploaded and the RST cap moved back to enable programming the ATTiny.

A note on clock settings and fuses: If you want your ATTiny to run at a specific clock speed, select the desired frequency under Tools - Clock and then under Tools - Burn Bootloader which sets the approriate fuses. Once the fuses are set, you can upload your sketch. If you switch the clock speed without "burning the bootloader" and upload a sketch, your timings might be off, e.g. a 1 second delay is now 8 seconds or vice versa.

Features

The red LED is for the ArduinoISP heartbeat and is a breakout of the Nano's D9 pin. The green LED is an onboard LED for the ATTiny and connected to D3 (not D1), see bright green highlight. This LED can be disabled by the nearby jumper. There's a 3.3/5Vvoltage selection jumper (blue highlight) for when this guy is attached to the Nano. Again, there's no voltage regulation/protection apart from the Nano's.

 

Testing

Tested
  1. Digital IO/Analog outputs
  2. V+/V- connections
  3. LED/RST Jumpers
  4. RST button
Not Tested
  1. Analog inputs
  2. 3.3/5V jumpers
  3. VIN header

Files

EAGLE files, PDF's here.

BOM

2x   3mm LEDs
2x   220 Ohm Resistors
1x   10uF Capacitor, Radial
1x   Momentary Tactile Switch
1x   ATTINY85-DIP (Digi-Key
AE10011-ND)

---------
*I used OSH Park's new 2 Layer 2oz 0.8mm Service because I'd never used it before. The board is nice and thin, alignment and silk both look great as usual.

Friday, April 8, 2016

ATTiny Nano Programmer, Part 2

So layout went rather quickly on this one because it's pretty simple and I have too much fun doing this. Actually, the board is already on order with OSH Park.

I took some (read a lot of) design cues from Kevin Rye's ATTiny Programmer. Among other things, I liked the LED disable jumper, the IO breakout headers and the idea to create a programming board that one can also use in a project. I elaborated on the IO breakout by adding V+ and GND headers. Maybe it will be useful, maybe not. I also added a jumper to selected 3.3V or 5V and another to enable/disable the 10uF cap on the Nano's RST pin. There's also a dedicated RST switch for the ATTiny.

The overall profile mimics the Nano's with an extension opposite the USB connector on the Nano.

So here's the final design ...



And the schematic ...




Now I play the waiting game ... and discover where I screwed up. Which was ignoring a poorly placed via and at least one silkscreen mislabel. In the meantime, I've learned how to cover the vias with soldermask using Masks tab in the DRC. The final-er design is below.