STM32 Hardware & Software Design Part 1

Outline This is a half walkthrough / half hints guide to taking a base concept for a STM32 from idea to (somewhat) working hardware. The goal is to roughly document the path I use, but not bogging down into the details on things that are easier to google. For this series, I’m looking at designing out a small development board, designed to mount to the quite nice ILI9486 LCD unit. I’m designing this mostly so that its in a nicer form factor than other development boards, and so I can use USB-C as I really dislike USB mini-B. ...

April 10, 2020 · 6 min · Ben V. Brown

Setting up Intel GPU HuC & GuC on Pop!_OS 19.04

The intel i915 driver does not load the GuC and HuC binary blobs automatically due to previous issues / security concerns with the binary blobs. However, without loading these blobs, more of the processing is performed on the CPU. I use a Dell XPS 9360 as my portable laptop, and its CPU isn’t aging well with only the dual core processors (plus HT). I use PoP! OS as my main linux OS on all of my machines, however this same process should work the same for Ubuntu and family. ...

September 29, 2019 · 2 min · Ben V. Brown

TC66C Reverse Engineering

The TC66C Reverse engineering the TC66C USB-C Meter This is an interesting little USB-C meter, which I quite like. It has a very similar feel and operation to the meter I modified previously (TC64). This meter does support bi-directional measurement, so no modifiations were required to be able to use the meter at the device end of the cable. This unit will also act as a trigger unit which is really handy for devices that lack USB-PD functionality (Looking at you TS80, grumble, grumble). ...

July 21, 2019 · 4 min · Ben V. Brown

MDP-XP 90W extendable portable lab supply

The MDP-XP combo MDP by Miniware This is an interesting idea, taking the conventional power supply system and giving it the “Miniware treatment”, which I like to think of as, a nice aluminium housing and a jump in portability. I have reviewed a few Miniware designs recently, and generally I have found all of their products to be a really nice premium feel and quality. Probably the lowest quality (and cheapest unit) is the TS100, which has become rather well known as a portable soldering iron. ...

July 20, 2019 · 17 min · Ben V. Brown

DS213 Mini oscilloscope review

The DS213 DS213 15MHz 4 Channel Scope The DS213 is a very small handheld scope from Miniware. Its marketed as capable of up to 15MHz on two of the channels, and 1MHz on the other channels. However, at 15MHz input, it is starting to round off and struggle with the signals fairly badly. At 8MHz (somewhat common for SPI), the SPI signals are easily understandable, and I generally use the two high speed signals for CLK and the signal I care most about from MISO and MOSI. The CS line is often completely fine on the lower speed 1MHz channels as it does not toggle often. ...

June 29, 2019 · 6 min · Ben V. Brown

TS80 QC3.0/QC2.0 cousin to the TS100

The TS80 TS80 by Miniware The TS80 is an interesting spinoff from the TS100. Origionally called the TS200, it was intended to fill the market gap for an even more portable solution for soldering in the field. The soldering iron is designed to be powered using QC power banks at either 9V or 12V. The markings on the unit state 9V 2A (~18W). Which is a really low wattage for a typical soldering iron. This does show up in the units struggle with large components and its slower heating time when compared to the ~40W+ that the TS100 typically uses. ...

April 20, 2019 · 3 min · Ben V. Brown

Reversing the current detection of a USB tester

RUIDENG TC64 The RUIDENG TC64 is a very low cost (<$15) USB-C inline power meter. It’s small with a very nice colour OLED screen. It tries to automatically detect if the USB lines are running in a few modes (QC, DCP etc). This unit is very handy for measuring the power consumption of USB-C devices, and it is moderately accurate (Good enough anyway for the price). It’s over on BangGood over here ...

October 17, 2018 · 4 min · Ben V. Brown

Installing Office365 without OneDrive.

When you download the installer from microsoft from an office365 subscription, you are forced to install Onedrive alongside all of the rest of your applications in your bundle. I have found discussed online that you can use the ODT (Office Deployment Tool) to install these programs individually instead, as well as create an offline installer to let you save bandwidth on multiple installs. This is a quick walkthrough to help those of us who dont want to read forums :). ...

September 5, 2018 · 3 min · Ben V. Brown

Setting up STM32 Debug Options

All good projects will eventually need to be debugged. This is a walk through from starting in CubeMX through to setting up debugging using either a UART or the SWO trace cell in the cortex-M ARM core. This was setup and tested on the black STM32F407VET6 development boards that feature a full size JTAG connector. I’m using a Segger J-Link here, however this works the same using the ST STLinkV2 as far as I’m aware. ...

April 12, 2018 · 8 min · Ben V. Brown

STM32 PWMing PWM & Injected ADC

In the new release of firmware for the TS100, I have moved the system from using a software-driven bit-bang of the output to hardware-based timers. The issue here is that we cannot just use normal PWM! Why can’t we just use normal PWM? Soldering Iron drive Schematic The above image shows a small extract from the TS100 schematics, with the PWM signal from the STM32. The soldering iron tip is driven by the back to back MOSFETs(Q1A/B). These are P channel MOSFETs, so they are on when the gate is pulled low relative to the battery input. R11 acts as a pullup to ensure the gate is high whenever it is not being actively pulled down via Q2 and R29. When Q2 is turned on it will pull the gate to half of VBatt (R11/R29 form voltage divider). The filter capacitor in parallel to Q2 acts to provide a turn-off delay on the gate so that the gate will stay low for a period of time after Q2 turns off. (Time constant is approximately 1 millisecond). ...

September 21, 2017 · 9 min · Ben V. Brown