Posted on Leave a comment

UM25C USB Power Meter

UM25C USB Power Meter
UM25C USB Power Meter

Here’s a nice little feature-packed USB power meter, the UM25C. This unit has USB-C along with the usual USB type A connectors, along with a bluetooth radio for remote monitoring of stats via a Windows or Android app. Construction is nice, it’s a stack of two PCBs, and polycarbonate cover plates, secured together with brass posts & screws.

Back Cover
Back Cover

The back cover has the legend for all the side connectors, along with the logo.

USB Micro Input
USB Micro Input

Down the sides are the user interface buttons, and here the Micro-B input connector. The 4-pin header is visible here that takes serial data down to the bluetooth section.

USB-C Connectors
USB-C Connectors

The other side has the remaining pair of buttons, and the USB-C I/O. I don’t yet own anything USB-C based, but this is good future proofing.

LCD Display
LCD Display

Removing the top plastic cover plate reveals the small 1″ TFT LCD module. This will be hot-bar soldered underneath the screen. There’s an unused footprint next to the USB input connector, judging by the pin layout it’s probably for a I²C EEPROM.

Main Board Components
Main Board Components

The underside of the top PCB has all the main components. The brains of the operation is a ST STM8S005C6T6 microcontroller. It’s at the basic end of the STM range, with a 16MHz clock, 32K flash, EEPROM, 10-bit ADC, SPI, UART & I²C. The main 0.010Ω current shunt is placed at the top left of the board in the negative rail. A couple of SOT-23 components in the centre of the board, I haven’t been able to identify properly, but I think they may be MOSFETs. The large electrolytic filter capacitor has a slot routed into the PCB to allow it to be laid flat. Providing the main power rail is a SOT-89 M5333B 3.3v LDO regulator.

Bluetooth Radio
Bluetooth Radio

The bottom board contains the bluetooth radio module, this is a BK3231 Bluetooth HID SoC. The only profile advertised by this unit is a serial port. There’s a local 3.3v LDO regulator & support components, along with an indicator LED.

Posted on Leave a comment

OLED Pulse Oximeter Teardown

OLED Pulse Oximeter
OLED Pulse Oximeter

Here’s a piece of medical equipment that in recent years has become extremely cheap, – a Pulse Oximeter, used to determine the oxygen saturation in the blood. These can be had on eBay for less than £15.

Powered On
Powered On

This one has a dual colour OLED display, a single button for powering on & adjusting a few settings. These cheap Oximeters do have a bit of a cheap plastic feel to them, but they do seem to work pretty well.

Pulse Oximeter
Pulse Oximeter

After a few seconds of being applied to a finger, the unit gives readings that apparently confirm that I’m alive at least. 😉 The device takes a few seconds to get a baseline reading & calibrate the sensor levels.

Main PCB Top
Main PCB Top

The plastic casing is held together with a few very small screws, but comes apart easily. here is the top of the main board with the OLED display panel. There appears to be a programming header & a serial port on the board as well. I’ll have to poke at these pads with a scope to see if any useful data is on the pins.

Main PCB Bottom
Main PCB Bottom

The bottom of the board has all the main components of the system. The microcontroller is a STM32F03C8T6, these are very common in Chinese gear these days. There’s a small piezo beeper & the main photodiode detector is in the centre.
There is an unpopulated IC space on the board with room for support components. I suspect this would be for a Bluetooth radio, as there’s a space at the bottom left of the PCB with no copper planes – this looks like an antenna mounting point. (The serial port on the pads is probably routed here, for remote monitoring).
At the top left are a pair of SGM3005 Dual SPDT analogue switches. These will be used to alternate the red & IR LEDs on the other side of the shell.
A 4-core FFC goes off to the other side of the shell, bringing power from the battery & supplying the sensing LEDs.

Battery Compartment
Battery Compartment

Power is supplied by a pair of AAA cells in the other shell.

Dual LED
Dual LED

The sensor LEDs are tucked in between the cells, this dual-diode package has a 660nm red LED & a 940nm IR LED.

Posted on Leave a comment

MingHe D3806 Buck-Boost DC-DC Converter

DC-DC Converter
DC-DC Converter

Here’s a useful buck-boost DC-DC converter from eBay, this one will do 36v DC at 6A maximum output current. Voltage & current are selected on the push buttons, when the output is enabled either the output voltage or the output current can be displayed in real time.

Display PCB
Display PCB

Here’s the display PCB, which also has the STM32 microcontroller that does all the magic. There appears to be a serial link on the left side, I’ve not yet managed to get round to hooking it into a serial adaptor to see if there’s anything useful on it.

Display Drive & Microcontroller
Display Drive & Microcontroller

The bottom of the board holds the micro & the display multiplexing glue logic.

Main PCB
Main PCB

Not much on the mainboard apart from the large switching inductors & power devices. There’s also a SMPS PWM controller, probably being controlled from the micro.

Posted on 1 Comment

Sky+ HD Set Top Box

Sky Box
Sky Box

Time for another teardown! I managed to fish this Sky+ box out of a skip, but to protect the guilty, all serial numbers have been removed.
These are pretty smart devices, with DVR capability on board.

Ports 1
Ports 1

There’s a lot of ports on these units, from RS-232 serial, POTS modem, eSATA, HDMI, USB, Ethernet, SCART, Optical, digital outputs & even composite video.

Ports 2
Ports 2
Ports 3
Ports 3
Top Panel
Top Panel

Removing the top plastic cover reveals the operation buttons & the built in WiFi adaptor, which is USB connected to the main logic board.

Front Panel
Front Panel

The PCB on the front of the chassis has all the indicators, and the IR Receiver for the remote.

Cover Removed
Cover Removed

Removing the top shield of the chassis reveals the innards. The PSU is on the top right, 500GB SATA disk drive in the bottom centre. The main logic PCB is top centre.

Logic PCB
Logic PCB

Here’s the main logic PCB. The massive heatsink in the middle is cooling the main SoC, below.

SoC
SoC

The main SoC in this unit is a Broadcom BCM7335 HD PVR Satellite System-On-Chip. It’s surrounded by it’s boot flash, a Spansion GL512P10FFCR1 512Mbit NOR device. It’s also got some DRAM around the left edge.

Smart Card Reader
Smart Card Reader

The smart card reader is on the PSU PCB, the controller here is an NXP TDA8024

PSU PCB
PSU PCB

The PSU itself is a pretty standard SMPS, so I won’t go too far into that particular bit. The logic PCB attaches to the large pin header on the left of the PSU, some of the analogue video outputs are also on this board.
There’s also a Microchip PIC16F726 microcontroller on this PCB, next to the pin header. Judging by the PCB traces, this handles everything on the user control panel.

Power Supplies
Power Supplies

Some local supplies are provided on the logic board for the main SoC, the IC in the centre here is an Allegro A92 DC-DC converter. I didn’t manage to find a datasheet for this one.

LNB Front End
LNB Front End

The RF front end for the satellite input is a Broadcom BCM3445 Low Noise Amplifier & Splitter, again not much info on this one.

RS232 Section
RS232 Section

The standard MAX232 is used for the serial interface. I imagine this is for diagnostics.

Modem
Modem

The POTS modem section is handled by a Si2457 System-Side device & Si3018 Line-Side device pair.

Posted on Leave a comment

IC Decap: Motorola XPC860PZP50D4 Communications Controller

XPC860PZP50D4 Package
XPC860PZP50D4 Package

This is a System On Chip from Motorola, designed for network routing applications. This chip contains a hell of a feature set, so I’ll just include an excerpt from the datasheet:

XPC860PZP50D4 Die
XPC860PZP50D4 Die
Embedded single-issue, 32-bit MPC8xx core (implementing the PowerPC
architecture) with thirty-two 32-bit general-purpose registers (GPRs)
— The core performs branch prediction with conditional prefetch, without
conditional execution
— 4- or 8-Kbyte data cache and 4- or 16-Kbyte instruction cache (see Table 1)
– 16-Kbyte instruction caches are four-way, set-associative with 256 sets;
4-Kbyte instruction caches are two-way, set-associative with 128 sets.
– 8-Kbyte data caches are two-way, set-associative with 256 sets; 4-Kbyte data
caches are two-way, set-associative with 128 sets.
– Cache coherency for both instruction and data caches is maintained on 128-bit
(4-word) cache blocks.
– Caches are physically addressed, implement a least recently used (LRU)
replacement algorithm, and are lockable on a cache block basis.
— Instruction and data caches are two-way, set-associative, physically addressed,
LRU replacement, and lockable on-line granularity.
— MMUs with 32-entry TLB, fully associative instruction, and data TLBs
— MMUs support multiple page sizes of 4, 16, and 512 Kbytes, and 8 Mbytes; 16
virtual address spaces and 16 protection groups
— Advanced on-chip-emulation debug mode
Up to 32-bit data bus (dynamic bus sizing for 8, 16, and 32 bits)
32 address lines
Operates at up to 80 MHz
Memory controller (eight banks)
— Contains complete dynamic RAM (DRAM) controller
— Each bank can be a chip select or RAS to support a DRAM bank
— Up to 15 wait states programmable per memory bank
— Glueless interface to DRAM, SIMMS, SRAM, EPROM, Flash EPROM, and
other memory devices.
— DRAM controller programmable to support most size and speed memory
interfaces
— Four CAS lines, four WE lines, one OE line
— Boot chip-select available at reset (options for 8-, 16-, or 32-bit memory)
— Variable block sizes (32 Kbyte to 256 Mbyte)
— Selectable write protection
— On-chip bus arbitration logic
General-purpose timers
— Four 16-bit timers or two 32-bit timers
— Gate mode can enable/disable counting
— Interrupt can be masked on reference match and event capture
System integration unit (SIU)
— Bus monitor
— Software watchdog
— Periodic interrupt timer (PIT)
— Low-power stop mode
— Clock synthesizer
— Decrementer, time base, and real-time clock (RTC) from the PowerPC
architecture
— Reset controller
— IEEE 1149.1 test access port (JTAG)
Interrupts
— Seven external interrupt request (IRQ) lines
— 12 port pins with interrupt capability
— 23 internal interrupt sources
— Programmable priority between SCCs
— Programmable highest priority request
10/100 Mbps Ethernet support, fully compliant with the IEEE 802.3u Standard (not
available when using ATM over UTOPIA interface)
ATM support compliant with ATM forum UNI 4.0 specification
— Cell processing up to 50–70 Mbps at 50-MHz system clock
— Cell multiplexing/demultiplexing
— Support of AAL5 and AAL0 protocols on a per-VC basis. AAL0 support enables
OAM and software implementation of other protocols).
— ATM pace control (APC) scheduler, providing direct support for constant bit rate
(CBR) and unspecified bit rate (UBR) and providing control mechanisms
enabling software support of available bit rate (ABR)
— Physical interface support for UTOPIA (10/100-Mbps is not supported with this
interface) and byte-aligned serial (for example, T1/E1/ADSL)
— UTOPIA-mode ATM supports level-1 master with cell-level handshake,
multi-PHY (up to 4 physical layer devices), connection to 25-, 51-, or 155-Mbps
framers, and UTOPIA/system clock ratios of 1/2 or 1/3.
— Serial-mode ATM connection supports transmission convergence (TC) function
for T1/E1/ADSL lines; cell delineation; cell payload scrambling/descrambling;
automatic idle/unassigned cell insertion/stripping; header error control (HEC)
generation, checking, and statistics.
Communications processor module (CPM)
— RISC communications processor (CP)
— Communication-specific commands (for example, GRACEFUL STOP TRANSMIT ,
ENTER HUNT MODE , and RESTART TRANSMIT )
— Supports continuous mode transmission and reception on all serial channels
— Up to 8Kbytes of dual-port RAM
— 16 serial DMA (SDMA) channels
— Three parallel I/O registers with open-drain capability
Four baud-rate generators (BRGs)
— Independent (can be connected to any SCC or SMC)
— Allow changes during operation
— Autobaud support option
Four serial communications controllers (SCCs)
— Ethernet/IEEE 802.3 optional on SCC1–4, supporting full 10-Mbps operation
(available only on specially programmed devices).
— HDLC/SDLC (all channels supported at 2 Mbps)
— HDLC bus (implements an HDLC-based local area network (LAN))
— Asynchronous HDLC to support PPP (point-to-point protocol)
— AppleTalk
— Universal asynchronous receiver transmitter (UART)
— Synchronous UART
— Serial infrared (IrDA)
— Binary synchronous communication (BISYNC)
— Totally transparent (bit streams)
— Totally transparent (frame based with optional cyclic redundancy check (CRC))
Two SMCs (serial management channels)
— UART
— Transparent
— General circuit interface (GCI) controller
— Can be connected to the time-division multiplexed (TDM) channels
One SPI (serial peripheral interface)
— Supports master and slave modes
— Supports multimaster operation on the same bus
One I 2 C (inter-integrated circuit) port
— Supports master and slave modes
— Multiple-master environment support
Time-slot assigner (TSA)
— Allows SCCs and SMCs to run in multiplexed and/or non-multiplexed operation
— Supports T1, CEPT, PCM highway, ISDN basic rate, ISDN primary rate, user
defined
— 1- or 8-bit resolution
— Allows independent transmit and receive routing, frame synchronization,
clocking
— Allows dynamic changes
— Can be internally connected to six serial channels (four SCCs and two SMCs)
Parallel interface port (PIP)
— Centronics interface support
— Supports fast connection between compatible ports on the MPC860 or the
MC68360
PCMCIA interface
— Master (socket) interface, release 2.1 compliant
— Supports two independent PCMCIA sockets
— Eight memory or I/O windows supported
Low power support
— Full on—all units fully powered
— Doze—core functional units disabled, except time base decrementer, PLL,
memory controller, RTC, and CPM in low-power standby
— Sleep—all units disabled, except RTC and PIT, PLL active for fast wake up
— Deep sleep—all units disabled including PLL, except RTC and PIT
— Power down mode— all units powered down, except PLL, RTC, PIT, time base,
and decrementer
Debug interface
— Eight comparators: four operate on instruction address, two operate on data
address, and two operate on data
— Supports conditions: = ≠ < >
— Each watchpoint can generate a break-point internally
3.3 V operation with 5-V TTL compatibility except EXTAL and EXTCLK
357-pin ball grid array (BGA) package
Posted on Leave a comment

Mini Teardown: Eberspacher 701 BT Controller

It’s well known that there are two versions of the 701 type controller available for Eberspacher heaters, the version with the blue logo is the official un-restricted model, while the version with the white logo is a version built for BT that restricts the heater to 1 hour runtime & has no diagnostics built in.
As these devices are microcontroller driven, I assumed that the hardware would be the same, only the code running in the micro being the bit that Eberspacher changed. This option would certainly have been the lowest cost.

Controller PCB Rear
Controller PCB Rear

Here’s the PCB removed from the plastic housing. There are definitely some differences that I can tell. As the un-restricted version has an extra wire for the diagnostic serial interface, and this board has no unpopulated parts, the PCB is definitely a different version.
In the centre is a Microchip PIC16C622 microcontroller, the OTP version in this case for cost reductions. (I may try reading the binary from this chip in the future, chances are it’s code protected though).
Below the micro is an NXP PCF8577C 32-segment LCD controller, this has an I²C interface to the PIC.
The temperature control function on these heaters is done via applying a resistance to one of the control lines, between 1750Ω-2180Ω, ±80Ω. (Very odd values these, not to mention no standard components can create this range easily, bloody engineers >_<). This is accomplished in hardware with a BU2092F I²C shift register from Rohm, which is connected to a bank of resistors. The microcontroller will switch combinations of these into the circuit to get the range of resistances required.
The rest of the circuit is local power regulation & filtering.

Controller PCB Front
Controller PCB Front

There’s not much on the other side of the PCB, just the LCD itself & the contacts for the buttons.

Posted on Leave a comment

Official Raspberry Pi 7″ Touch LCD

Raspberry Pi LCD
Raspberry Pi LCD

Finally the Raspberry Pi Foundation have released an official LCD for the DSI connector on the Pi. When these were announced, I placed an order straight away, but due to demand it’s taken quite a while for it to arrive in the post.

Interface PCB
Interface PCB

The LCD itself is an RGB panel, to interface the Pi via the MIPI DSI port, some signal conversion is required. A small PCB is mounted on the back of the LCD to do this conversion. It also handles the power supply rails required by the LCD itself & interfacing the touch screen.

LCD Power Supply
LCD Power Supply

Taking care of the power supply is a Texas Instruments TPS65101 triple output LCD power supply IC. This also has a built in linear regulator to supply 3.3v for the rest of the circuitry on board. The large transistor to the left of the IC is the pass transistor for this regulator.

Main Controller
Main Controller

The video signal comes in on the FFC connector on the left, into the BGA IC. I’ve not managed to identify this component, but it’s doing the conversion from serial video from the Pi to parallel RGB for the LCD.
There’s also an Atmel ATtiny88 on the board below the main video conversion IC, not sure what this is doing.
The touch controller itself is mounted on the flex of the LCD, in this case it’s a FT5406.

Raspberry Pi LCD
Raspberry Pi LCD

Here’s the LCD in operation. It’s not the highest resolution out there, but it leaves the GPIO & HDMI ports free for other uses.

Pi Mounted
Pi Mounted

The Pi screws to the back of the LCD & is connected with a flat flex cable & a pair of power jumpers. I’ve added a couple of small speakers to the top edge of the LCD to provide sound. (More to come on this bit).

 

Posted on Leave a comment

New Scope!

Alas, my old trusty Hameg HM303 30MHz oscilloscope has finally died. I’ve had this scope for many years, an eBay buy when I noticed they were going cheap.

It’s been replaced with a brand new Rigol DS1054Z, a 4-channel 50MHz DSO.

Scope
Scope

This is a big jump from the old analogue CRT scope I was using, it’s certainly going to be a steep learning curve!

System Info
System Info

I chose this scope through the help of the EEVBlog & it’s associated forums. Through this I discovered that I could upgrade the scope with a key to enable some extra features! In the above screenshot, the key has been applied, and the model number now shown is the DS1104Z.

This is the next scope up in the model chain, with many more triggering options, serial decoders, higher memory depth, recording & 100MHz bandwidth. While I rarely need to measure anything higher than in the kHz range, these options will definitely come in useful! The list of installed options is below:

Installed Options
Installed Options

And now for some sample waveforms, the scope has the option to save screenshots to USB flash disks, so when I make posts with waveforms in the future, the need to photo the screen of the scope is gone!

DS1Z_QuickPrint1 DS1Z_QuickPrint2 DS1Z_QuickPrint3 DS1Z_QuickPrint6 DS1Z_QuickPrint7 DS1Z_QuickPrint8 DS1Z_QuickPrint9

 

Posted on 3 Comments

Evolis Dualys3 Card Printer Teardown

I recently dug out my other card printer to fit it with a 12v regulator, (it’s 24v at the moment), and figured I’d do a teardown post while I had the thing in bits.

This is a less industrial unit than my Zebra P330i, but unlike the Zebra, it has automatic duplexing, it doesn’t have Ethernet connectivity though.

Unlike domestic printers, which are built down to a price, these machines are very much built up to a spec, and feature some very high quality components.

Naked Printer
Naked Printer

Here’s the mechanism with the cowling removed. This is the main drive side of the printer, with the main drive stepper at left, ribbon take-up spool motor lower right, and the duplex module stepper motors at far right.

Main Motor Drive
Main Motor Drive

The main drive motor runs the various rollers in the card path through a pair of synchronous belts, shown here.

Main Stepper
Main Stepper

The stepper itself is a quality ball-bearing Sanyo Denki bipolar motor.

Main Stepper Driver
Main Stepper Driver

Electrical drive is provided to the stepper with a L6258EX DMOS universal motor driver. This chip can also drive DC motors as well as steppers.

Ribbon Supply Spool
Ribbon Supply Spool

Here is the encoder geared onto the ribbon supply spool. This is used to monitor the speed the ribbon is moving relative to the card.

Printer Top
Printer Top

Here’s a top view through the printer, the blue roller on the left cleans the card as it’s pulled from the feeder, the gold coloured spool to it’s right is the ribbon supply reel. The cooling fan on the right serves to stop the print head overheating during heavy use.

Spool Take Up Motor
Spool Take Up Motor

The spool take-up reel is powered by another very high quality motor, a Buhler DC gearmotor. These printers are very heavily over engineered!
This motor drives the spool through an O-Ring belt, before the gear above. This allows the drive to slip in the event the ribbon jams, preventing it from breaking.

Duplex Unit Stepper Drivers
Duplex Unit Stepper Drivers

The pair of steppers that operate the duplexing unit are driven by a separate board, with a pair of L6219DS bipolar stepper driver ICs. There are also a couple of opto-sensors on this board for the output hopper.

 

Main Control PCB
Main Control PCB

All the mechanisms of the printer are controlled from this main PCB, which handles all logic & power supply functions. Sections on the board are unpopulated, these would be for the Ethernet interface, smart card programming & magstripe programming.

Main CPU
Main CPU

The brains of the operation is this ColdFire MCF5208CVM166 32-bit microprocessor. It features 16KB of RAM, 8KB of cache, DMA controller, 3 UARTs, SPI, 10/100M Ethernet and low power management. This is a fairly powerful processor, running at 166MHz.
It’s paired with an external 128Mbit SDRAM from Samsung, and a Spansion 8Mbit boot sector flash, for firmware storage.

USB Interface & Power Input
USB Interface & Power Input

Here the USB interface IC is located. It’s a USBN9604 from Texas Instruments, this interfaces with the main CPU via serial.

Posted on Leave a comment

uRadMonitor – Node Online!

It’s official. I’m now part of the uRadMonitor network, & assisting in some of the current issues with networking some people (including myself) have been having.

It seems that the uRadMonitor isn’t sending out technically-valid DHCP requests, here is what Wireshark thinks of the DHCP on my production network hardware setup:

WireShark Screencap
WireShark Screencap

As can be seen, the monitor unit is sending a DHCP request of 319 bytes, where a standard length DHCP Request packet should be ~324 bytes, as can be seen on the below screen capture.

Valid DHCP
Valid DHCP

This valid one was generated from the same SPI Ethernet module as the monitor, (Microchip ENC28J60) connected to an Arduino. Standard example code from the EtherCard library was used to set up the DHCP. The MAC address of the monitor was also cloned to this setup to rule out the possibility of that being the root cause.

My deductive reasoning in this case points to the firmware on the monitor being at fault, rather than the SPI ethernet hardware, or my network hardware. Radu over at uRadMonitor is looking into the firmware being at fault.

Strangely, most routers don’t seem to have an issue with the monitor, as connecting another router on a separate subnet works fine, and Wireshark doesn’t even complain about an invalid DHCP packet, although it’s exactly the same.

Working DHCP
Working DHCP

As the firmware for the devices isn’t currently available for me to pick apart & see if I can find the fault, it’s up to Radu to get this fixed at the moment.

Now, for a µTeardown:

uRadMonitor
uRadMonitor

Here is the monitor, a small aluminium box, with power & network.

PCB
PCB

Removing 4 screws in the end plate reveals the PCB, with the Geiger-Mueller tube along the top edge. My personal serial number is also on the PCB.
The ethernet module is on the right, with the DC barrel jack.

PCB Bottom
PCB Bottom

Here is the bottom of the PCB, with the control MCU & the tiny high voltage inverter for the Geiger tube.

Control Electronics
Control Electronics

A Closeup of the main MCU, an ATMega328p

Logo
Logo

PCB Logo. Very artsy 😉

Posted on Leave a comment

Rio LAHS4 Salon Laser Hair Remover

Unit Overview
Unit Overview

Here is a home laser hair removal unit, a Rio LAHS4. Shown above is the system overview, with the laser wand & the user controls.

Main PCB Top
Main PCB Top

Main base unit popped open reveals the main PCB, with the central processor, a PIC16F628A.

Main PCB Bottom
Main PCB Bottom

Other side of the PCB is mainly populated with power supply & filtering for the logic sections.

Wand PCB
Wand PCB

Cracking open the laser wand reveals a stacked pair of PCBs, a main laser controller & the capacitive sensor PCB. This capacitive sensor connects to a pair of pins on the laser head & prevents operation if the unit is not held firmly against the skin.

Diode Module
Diode Module

Front of the laser diode module with the movable lens, on a pair of voice coil actuators. Very similar to the lens positioner used in any CD/DVD player pickup assembly.
The diode in this unit is an 808nm chip, with power in the 300-600mW range most likely.

Diode Module Rear
Diode Module Rear

Rear of the diode module, with the connections to the diode itself & the voice coil positioner for the lens.

Wand PCB Top
Wand PCB Top

Other side of the wand PCB, showing the capacitive sensor board on top of the main controller board. There is another CPU on the board here, which most likely communicates with the main processor in the base through a serial connection.

 

 

 

 

 

Posted on Leave a comment

Raspberry Pi Geiger Counter

Geiger Counter Setup
Geiger Counter Setup

Here’s my latest project with the Pi: interfacing it with the Sparkfun Geiger counter & outputting the resulting data to a character LCD.

The geiger counter is interfaced with it’s USB port, with the random number generator firmware. A Python script reads from the serial port & every minute outputs CPM & µSv/h data to the display.

The Python code is a mash of a few different projects I found online, for different geiger counters & some of my own customisations & code to write the info to the display & convert CPM into µSv/h.

This also writes all the data into a file at /var/log/radlog.txt

The code for this is below:

[snippet id=”1149″]

Info Display
Info Display
Posted on 1 Comment

Brightwell Brightstar II BSL4 Dosing System

Overview
Overview
Overview

Here is an old chemical dosing system for industrial washing machines. These units are 4-pump models, with dual pumpheads. The motors are reversed to operate alternate pumps in the same head.

Label
Label

From 2006, this is a fairly old unit, and made in the UK.

CPU Board
CPU Board

Main controller PCB, with interface to the power electronics via the ribbon cable, an external serial port for programming to it’s left. Powered by an ST microcontroller. The LCD is below this board.

PCU & Driver PCBs
PCU & Driver PCBs

Main power supply, sense input & motor driver boards. The PSU outputs +5v, +12v & +24v. The inputs on the lower left connect to the washing machine & trigger the pumps via the programming on the CPU. The motors are driven by L6202 H-Bridge drivers from ST.

Motor Assembly
Motor Assembly

Motor & gearbox assembly on the back of the pumphead. These are 24v DC units with 80RPM gearboxes.

UPDATE:
As it seems to be difficult to find, here is the user manual for this unit:
[download id=”5557″]

Posted on Leave a comment

New Feature – Geiger Counter

Here’s something new, an internet connected Geiger counter! The graph in the sidebar is updated once every 60 seconds, and can be clicked on for a larger version. Measurements are in Counts Per Minute, the graph logs 1 hour of data.

 

The counter itself is a Sparkfun Geiger counter, with the end cap removed from the tube so it can also detect alpha radiation.

Connected through USB, a Perl script queries the emulated serial port for the random 1 or 0 outputted by the counter when it detects a particle. The graph is pretty basic, but it gets the point across. Anybody who wishes to contribute to improve the graphing is welcome to comment!

Geiger Counter
Geiger Counter
Posted on 1 Comment

MSR605 3-Track Magnetic Stripe Writer

MSR605
MSR605

This unit was bought from eBay to experiment with Magnetic Stripe cards, for little money. This unit is capable of reading & writing all 3 tracks, & both Hi-Co & Lo-Co card types.
Interfaced to a PC through USB, this has a built in PL2303 USB-Serial IC & requires 3A at 9v DC to operate.
The 3 Indicator LEDs on the top of the unit can be toggled by the included software for Power/OK/Fault condition signalling.

Unit Bottom
Unit Bottom

Bottom of the unit with the model labels.

Model Label
Model Label

Closeup of the model label & serial number.

PCB Bottom
PCB Bottom

Here the bottom cover has been removed, showing the main PCB. The pair of large ICs bottom center interface with the magnetic heads. The IC above them has had the markings sanded off.

USB-Serial Interface
USB-Serial Interface

Closeup of the Prolific PL-2303 USB-Serial converter IC.

PCB Top
PCB Top

Here the connections to the R/W heads are visible, current limiting resistors at the left for the write head, a pair of signal relays, a pair of optoisolators & a LM7805 linear voltage regulator.

LEDs
LEDs

Here is the trio of indicator LEDs on a small sub-board.

Frame Bottom
Frame Bottom

The PCB has been removed from the main frame here, the only component visible is the rotary encoder.

Rotary Encoder
Rotary Encoder

The rotary encoder has a rubber wheel fitted, which reads the speed of the card as it is being swiped for writing. This allows the control logic to write the data to the stripe at the correct rate for the speed of the card. This allows the unit to write cards from 5-50 inches per second speed.
The Write head is directly behind the rubber pressure roller.

Read/Write Heads
Read/Write Heads

Here you can see the R/W head assembly. The write head is on the right, read on the left. When a card is written to, it immediately gets read by the second head for verification.

The drivers for this unit are also available here: Magcard Writer Drivers

Posted on Leave a comment

Garmin eTrex

Front
Front

Pocket sized GPS navigator. Here is shown the greyscale dot matrix LCD.

Interface
Interface

Serial interface on the back of the unit. Pinout from left is +3v, Rx, Tx, GND.

PCB Back
PCB Back

PCB Removed from the casing. RTC backup battery in the centre of board, CPU & flash ROM on the left. GPS chipset is under the shield on the right.

PCB Front
PCB Front

Front of the PCB, GPS antenna on the right, LCD panel left.

LCD Removed
LCD Removed

LCD folded back from the PCB. Driver IC can be seen attached to the ribbon.

Electroluminescent Panel
Electroluminescent Panel

LCD Panel backlight. Requires 200v AC at 20kHz to glow green.

GPS Reciever
GPS Reciever

GPS chipset with the shield removed.

Posted on Leave a comment

Southwestern Bell Freedom Phone

Phone
Phone

This is an old cordless landline phone, with dead handset batteries.

Handset Radio Board
Handset Radio Board

Here’s the handset with the back removed. Shown is the radio TX/RX board, underneath is the keyboard PCB with the speaker & mic. All the FM radio tuning coils are visible & a LT450GW electromechanical filter.

Handset Radio Board Bottom
Handset Radio Board Bottom

Radio PCB removed from the housing showing the main CPU controlling the unit, a Motorola MC13109FB.

Keypad Board
Keypad Board

The keypad PCB, with also holds the microphone & speaker.

Handset Keypad Board Bottom
Handset Keypad Board Bottom

Bottom of the keypad board, which holds a LSC526534DW 8-Bit µC & a AT93C46R serial EEPROM for phone number storage.

Base Main Board
Base Main Board

Here’s the base unit with it’s top cover removed. Black square object on far right of image is the microphone for intercom use, power supply section is top left, phone interface bottom left, FM radio is centre. Battery snap for power backup is bottom right.

Power Supply Section
Power Supply Section

PSU section of the board on the left here, 9v AC input socket at the bottom, with bridge rectifier diodes & main filter capacitor above. Two green transformers on the right are for audio impedance matching. Another LT450GW filter is visible at the top, part of the base unit FM transceiver.

ICs
ICs

Another 8-bit µC, this time a LSC526535P, paired with another AT93C46 EEPROM. Blue blob is 3.58MHz crystal resonator for the MCU clock. The SEC IC is a KS58015 4-bit binary to DTMF dialer IC. This is controlled by the µC.

Base Main Board Bottom
Base Main Board Bottom

Underside of the base unit Main PCB, showing the matching MC13109FB IC for the radio functions.

Posted on Leave a comment

Nokia 7110

Front
Front

Another phone from the mid 90s. This is the nokia 7110.

Slider Open
Slider Open

Here the slider is open showing the keypad.

Battery Removed
Battery Removed

Here the battery is removed, a Li-Ion unit.

Battery
Battery

The battery cell & protection circuit removed from the casing.

Rear Of PCB
Rear Of PCB

This is the rear of the PCB removed from the housing. Data & charging ports on the right hand side f the board.

Front Of PCB
Front Of PCB

Front of the PCB with the RF sections at the left hand side & the keypad contacts on the right.

RF Sections
RF Sections

Closeup of the RF sections of the board, big silver rectangular cans are VCO units.

SIM Connector
SIM Connector

Closeup of the top rear section of the PCB, with SIM cnnector, battery contacts, IR tranciever at the far left. Bottom centre is the external antenna connector.

CPU
CPU

The logic section of the board, Large chip is CPU, to right of that is the ROM storing the machine code. Other chips are unknown custom parts.

Mic & Speaker
Mic & Speaker

The Mic & the loudspeaker removed from it’s housing.

LCD
LCD

LCD from the front of the unit, SPI interfaced. Flex PCB also contains the power button, loudspeaker contacts & a temperature sensor.

Scroll Wheel
Scroll Wheel

The scroll wheel removed from the front housing.

Vibra-Motor
Vibra-Motor

Tiny vibration motor removed from the rear housing, alerts the user to a text or phone call.

Posted on 2 Comments

Current Cost ‘Envi’ CC128 Power Meter

Display Unit
Display Unit

This is the Current Cost CC128 Real Time Power Meter. Shown here is the display unit, British Gas issued these free to some customers.
This unit measures current power draw in Watts, cost of power currently being used (requires unit price to be set), overall kWh usage over the past 1, 7 or 30 days & power trends during the day, night & evening. Also displays current time & current room temperature.

Display PCB
Display PCB

Here the front panel of the display has been un-clipped. At the bottom are the RJ-45 serial port & power connections.
This unit uses a PIC micro-controller as it’s CPU (PIC18F85J90) Just above & left of the CPU is the 433MHz SPD radio receiver module. The chips on the right of the CPU are a 25LC128 SPI serial EEPROM for data storage & a 74HC4060 14 stage binary counter, to which is connected the 32kHz clock crystal. The red wire around the top of the display is the antenna for the radio receiver.

For more info on the CC128 in general, the serial port & software for computer data logging, see this link
See this link for Current Cost’s list of software

Processor & Radio
Processor & Radio

Closeup of the ICs on the mainboard.

Transmitter Unit
Transmitter Unit

Here we have the transmitter unit, with Current Transformer (CT). The red clamp fits around one of the electric meter tails & read the current going to the various circuits. This unit is powered by 2x D cells, rated at a life of 7 years.

Transmitter PCB
Transmitter PCB

The PCB inside the transmitter. Again very minimal design, unknown controller IC, 433MHz radio transmitter on right hand side with wire antenna. Two barrel connectors on left hand side of board allow connection of up to two more CT clamps for measurement of 3-phase power. Centre of board is unmarked header. (ICSP?)

Current Transformer
Current Transformer

CT unit. Inside is a coil of wire & an iron core which surrounds the cable to be measured.