<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>electronics on irq5 test</title><link>https://irq5-7854a1fdb9f4.pages.dev/tag/electronics/</link><description>Recent content in electronics on irq5 test</description><language>en-us</language><lastBuildDate>Tue, 02 Apr 2019 11:59:00 +0000</lastBuildDate><atom:link href="https://irq5-7854a1fdb9f4.pages.dev/tag/electronics/feed/" rel="self" type="application/rss+xml"/><item><title>ONV PD3401G PoE Splitter Teardown &amp; Review</title><link>https://irq5-7854a1fdb9f4.pages.dev/2019/04/onv-pd3401g-poe-splitter-teardown-review/</link><pubDate>Tue, 02 Apr 2019 11:59:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2019/04/onv-pd3401g-poe-splitter-teardown-review/</guid><description>&lt;p>Continuing my &lt;a href=https://irq5-7854a1fdb9f4.pages.dev/tag/poe rel=noopener>PoE series&lt;/a>,
I bought the &lt;strong>ONV PD3401G&lt;/strong>, an active PoE splitter that is capable of extracting up to 60W (24V @ 2.5A) from the PSE.
It is housed in a small aluminum extruded case that can be DIN rail mounted.
This splitter is comparatively low-cost, about US$35,
and more importantly, is capable of passing through Gigabit.&lt;/p>&lt;p>ONV seems to be quite a reputable company, so I believe their products shouldn&amp;rsquo;t be too badly designed.
This unit can also be easily purchased on Aliexpress without having to go through some obscure distributor.&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2019/img/47507377741_54f9e66587_2813.jpg.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2019/img/47507377741_54f9e66587_2813.jpg alt="ONV PoE splitter, side view" width=1280 height=853>&lt;/picture>&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2019/img/33630711828_27cb5770a8_2819.jpg.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2019/img/33630711828_27cb5770a8_2819.jpg alt="ONV PoE splitter, front view" width=1280 height=853>&lt;/picture>&lt;/p>&lt;p>Internally it uses the &lt;a href=https://www.analog.com/en/products/lt4275.html rel=noopener target=_blank class=external>LT4275A&lt;/a>
(marking &lt;code>LTGBT&lt;/code>) for PD interfacing.
The &lt;code>A&lt;/code> variant of this chip supports up to 90W of power.
On the power supply side, it uses a &lt;a href="https://www.onsemi.com/PowerSolutions/product.do?id=NCP1034" rel=noopener target=_blank class=external>NCP1034&lt;/a> synchronous buck converter.
The NCP1034 is capable of handling up to 100V, which is more than sufficient for PoE.&lt;/p>&lt;p>Looking inside, the in/out Ethernet ports are connected via a transformer, in order extract power from the center taps of each pair.
We can see that the PCB traces for the input port pairs are thicker to carry the higher currents.
Large beefy diodes form rectifier bridges for the data pairs.&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2019/img/46783600124_a981bb08b6_2807.jpg.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2019/img/46783600124_a981bb08b6_2807.jpg loading=lazy alt="PCB, top side" width=1280 height=853>&lt;/picture>&lt;/p>&lt;p>Surrounding the input port on the underside, there are a lot of unpopulated components; those were supposed to offer input protection,
probably using some TVS of some kind.
these are marked &lt;code>RD1&lt;/code> ~ &lt;code>RD8&lt;/code>, one for each Ethernet wire.&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2019/04/onv-pd3401g-poe-splitter-teardown-review/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>PoE: Quick Guide &amp; Cheap Hardware</title><link>https://irq5-7854a1fdb9f4.pages.dev/2018/06/poe-quick-guide-cheap-hardware/</link><pubDate>Wed, 06 Jun 2018 12:45:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2018/06/poe-quick-guide-cheap-hardware/</guid><description>&lt;p>I have been looking around for Power over Ethernet (PoE) devices to supply power to some networking hardware that will be located in a remote location, without a convenient power outlet.
These networking hardware do not have built-in PoE support,
so I have to find both an &lt;em>injector&lt;/em> and a &lt;em>splitter&lt;/em> device.&lt;/p>&lt;p>PoE is typically found on enterprise networking equipment,
which usually means a higher price tag.
Not wanting to spend a ton on PoE hardware, I did some research to understand what was required to make it work.&lt;/p>&lt;p>Hopefully this will help you understand PoE,
how it works, and what to look out for when shopping for PoE hardware that are suitable for your needs.&lt;/p>&lt;h1 id=poe-quick-guide>PoE Quick Guide&lt;/h1>&lt;h2 id=active-vs-passive>Active vs Passive&lt;/h2>&lt;p>Passive adapters are very simple, and you will see them mostly as an RJ45 socket with pigtails for power and Ethernet.
These adapters do not contain or require any circuitry,
which also explains why they are the more inexpensive option between the two.&lt;/p>&lt;p>&lt;picture>&lt;img src=https://c2.staticflickr.com/2/1756/41507595985_0a4a94cca6_o.jpg alt="Photo of a passive PoE injector &amp; splitter pair, sold on Adafruit">&lt;/picture>&lt;/p>&lt;p>&lt;strong>Active PoE&lt;/strong> (the &lt;em>real&lt;/em> Power over Ethernet) on the other hand requires some negotiation between the two devices, called the PSE (power sourcing equipment) and the PD (powered device).&lt;/p>&lt;p>There are several PoE standards. 802.3af, 802.3at and the newer 802.3bt.
The difference is mainly in the maximum power is made available to PDs:&lt;/p>&lt;ul>&lt;li>802.3af - 15.4W&lt;/li>&lt;li>802.3at - 30W&lt;/li>&lt;li>802.3bt - 60W to 100W&lt;/li>&lt;/ul>&lt;p>802.3bt was just ratified in the last year (2017).
In the time span before the 802.3bt standards was ratified (~8 years!),
some companies like Linear Technolgy &amp; Cisco Systems took it upon themselves
to find other means of carrying up to 60W.
The result was
&lt;a href=http://www.analog.com/media/en/technical-documentation/technical-articles/ltc_nov11_psde.pdf rel=noopener target=_blank class=external>&lt;em>LTPoE++&lt;/em>&lt;/a>
and &lt;a href=https://www.cisco.com/go/upoe rel=noopener target=_blank class=external>&lt;em>UPOE&lt;/em>&lt;/a>,
an evolution of the existing 802.3af/at standards,
but may not be compatible with the final standard arrived at by committee.&lt;/p>&lt;h2 id=mode-a-or-b>Mode A or B&lt;/h2>&lt;p>The Cat5 cable has 8 wires, forming 4 twisted pairs.
For 10/100Mbps, only 2 pairs are used:
pair 1/2 for Tx and pair 3/6 for Rx.&lt;/p>&lt;p>The modes refer to how power is delivered to the device:&lt;/p>&lt;ul>&lt;li>Mode A: pairs 1/2, 3/6&lt;/li>&lt;li>Mode B: pairs 4/5, 7/8&lt;/li>&lt;/ul>&lt;p>&lt;picture>&lt;source srcset=/posts/2018/img/poe-modeAB.png.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2018/img/poe-modeAB.png alt="PoE mode A &amp; B wiring diagram" width=1305 height=494>&lt;/picture>&lt;/p>&lt;p>Mode A uses the data pairs for power.
This mode is well suited for very old cabling which didn&amp;rsquo;t connect all 4 pairs end-to-end.
You might see some manufacturers calling this mode &lt;em>End-span&lt;/em> wiring.
To carry power over the same data cables,
&lt;em>phantom power delivery&lt;/em> is used (more on this later).&lt;/p>&lt;p>Mode B uses the unused (or spare) pairs for power.
You might see this being referred to as &lt;em>Mid-span&lt;/em>.
This type of wiring is easier because it knows the pair is not carrying any data and thus can be wired directly.&lt;/p>&lt;p>Unlike mode A, mode B in this form cannot be used to carry power for Gigabit networks,
because a Gigabit connection will require all 4 pairs for data transmission.
Power must therefore be delivered via centre-tapped transformers,
or what is known as &lt;em>phantom power&lt;/em>.
How this works is explained in a 1944 US Army &lt;a href="https://www.youtube.com/watch?v=H4NDVkjT9mg" rel=noopener target=_blank class=external>video on telephone electronics&lt;/a>.&lt;/p>&lt;h2 id=power-capacity>Power Capacity&lt;/h2>&lt;p>The committee decided that two pairs of Cat5 wire should only carry up to 30W of power;
which two pairs will depend on whether mode A or B wiring is used.&lt;/p>&lt;p>For higher power capacity like 802.3bt (PoE++)
or the non-standards-based &lt;em>UPOE&lt;/em> and &lt;em>LTPoE++&lt;/em>,
the other 2 pairs will be paralleled up,
making use of all 4 pairs to carry higher currents.&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2018/img/poe-4wire.png.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2018/img/poe-4wire.png loading=lazy alt="PoE wiring diagram for 4-pair based PoE" width=638 height=488 class=half>&lt;/picture>&lt;/p>&lt;p>For Gigabit Ethernet (1000Mbps), because all 4 pairs are used to carry data,
power (regardless of which pairs used) must be delivered
via phantom power delivery.&lt;/p>&lt;h2 id=why-use-active-poe>Why use Active PoE?&lt;/h2>&lt;p>In short, because it is safer.&lt;/p>&lt;p>It was designed with the consideration that not all network equipment can accept power, whether via the data pairs or spare pairs.&lt;/p>&lt;p>During the detection phase, the PSE
will apply 2.7V to 10V to check for a known resistance.
This voltage is low enogh and also for a brief period such that it wouldn&amp;rsquo;t matter if the device on the other end is shorted.
A device that was not designed for PoE would thus never see any higher voltage beyond the detection phase.&lt;/p>&lt;p>&lt;picture>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2018/img/poe-phases.png loading=lazy alt="Graph depicting voltage vs time during various PoE phases" width=902 height=683 class=half>&lt;/picture>&lt;/p>&lt;p>In contrast, passive PoE makes the full voltage and current available on the data/spare pairs.
If the remote end is using a &lt;em>magnetics&lt;/em> configuration that shorts out the centre taps,
the 30W of power would just melt the port (one would assume).&lt;/p>&lt;p>Integrated PSE controller chipsets will also contain features like overcurrent protection, thermal cut-offs and surge protection, etc.
which all contribute towards keeping your PDs safe from harm.&lt;/p>&lt;h1 id=finding-low-cost-poe-hardware>Finding Low-Cost PoE Hardware&lt;/h1>&lt;p>It was quite a daunting task, trawling AliExpress for PoE injectors &amp; splitters.
The description or specifications for items are also not accurate;
it&amp;rsquo;s like finding a USB cable listed as capable of carrying 2A
when in fact it does not.&lt;/p>&lt;p>While passive injectors are the cheapest option,
most of them are not meant for Gigabit Ethernet.
Recall that &lt;em>Mode B&lt;/em> wiring is the easiest and most low-cost method for building a passive device,
and that is what you will mostly find.
This wiring configuration does not pass through all 4 pairs and thus cannot be used for Gigabit.&lt;/p>&lt;p>Most active PoE splitters output 12V, or 5V via USB.
This is largely due to the fact that these devices were meant for IP cameras, which operate at that voltage.
If your target device uses a non-standard voltage,
you will have difficulty finding a suitable (and yet low-cost) splitter.&lt;/p>&lt;p>Here&amp;rsquo;s a list of hardware I&amp;rsquo;ve found;
which one is suitable for you depends on your requirements:&lt;/p>&lt;ul>&lt;li>Do you need 1000Mbps, or just 10/100Mbps would suffice?&lt;/li>&lt;li>What voltage does your target device require?&lt;/li>&lt;li>How much power does it require? 13W, 30W?&lt;/li>&lt;/ul>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2018/06/poe-quick-guide-cheap-hardware/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>PCBWay PCB Review</title><link>https://irq5-7854a1fdb9f4.pages.dev/2018/04/pcbway-pcb-review/</link><pubDate>Sat, 07 Apr 2018 12:47:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2018/04/pcbway-pcb-review/</guid><description>&lt;p>&lt;a href=https://www.pcbway.com/ rel=noopener target=_blank class=external>PCBWay&lt;/a> is a PCB manufacturer that prides itself on quick turnaround.
You can learn about &lt;a href="https://www.youtube.com/watch?v=NfeDs5ce1PA" rel=noopener target=_blank class=external>CNLohr&amp;rsquo;s sucess story here&lt;/a>.
They also offer detailed tracking of your order&amp;rsquo;s progress on their website.&lt;/p>&lt;p>They have reached out to me and kindly offered to sponsor the boards for this particular project,
which I will be talking about in the coming weeks.
As the cost of these boards were more expensive
(compared to their &amp;ldquo;normal&amp;rdquo; orders),
I had to pay for shipping myself.&lt;/p>&lt;p>With each PCB project, I find more and more methods of testing PCB manufacturers.
This time, it&amp;rsquo;s with a PCB that is inserted directly into your USB socket.&lt;/p>&lt;p>&lt;picture>&lt;img src=https://c1.staticflickr.com/5/4724/25588137367_dff247a8d1_b.jpg alt="project PCBs">&lt;/picture>&lt;/p>&lt;p>The requirement for such a board is 2 mm thickness.
The USB connector size is standard, so the usual 1.6 mm PCB thickness isn&amp;rsquo;t going to work unless you pad the connector area.&lt;/p>&lt;p>Also, I opted for gold fingers on the USB connector contacts.
This is usually done for contacts on the board edge that will be inserted into some mating connector
(like PCI cards and USB connectors such as this).&lt;/p>&lt;p>&lt;strong>They also offer matte black &amp; matte green colors.&lt;/strong>
I haven&amp;rsquo;t seen matte colours being offered at other board houses so far.
I would have loved to try them out, but that would have bloated the cost beyond my comfort level.&lt;/p>&lt;h1 id=order-process>Order Process&lt;/h1>&lt;p>The order flow for PCBWay is a bit different because you submit your gerbers without making payment first.
This allows their engineers to take a look at the design before you actually pay.&lt;/p>&lt;p>Most other systems I&amp;rsquo;ve used are largely automated.
After you submit your gerbers, they typically don&amp;rsquo;t expect any problems and so they collect payment from you first.&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2018/img/pcbway-order-process.png.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2018/img/pcbway-order-process.png alt="PCBWay order flow" width=905 height=185>&lt;/picture>&lt;/p>&lt;p>I uploaded the gerbers on the 8th Aug
and I tracked my order progress online.
Their website allows you to track the detailed progress of your board as it moves along the manufacturing process.
For small runs like this one, it is not crucial but if you were doing a
large project with panels of many boards,
this would definitely be handy.&lt;/p>&lt;p>&lt;picture>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2018/img/pcbway-progress.png loading=lazy alt="table of PCB production processes and their completion times" width=650 height=530>&lt;/picture>&lt;/p>&lt;p>They started manufacture 2 days later (on the 10th)
and completed everything by 12th.
It was not until the 14th that they actually shipped the boards out and provided me with a tracking number.&lt;/p>&lt;p>Here&amp;rsquo;s a summary of the timeline:&lt;/p>&lt;ul>&lt;li>08: Gerber files submission&lt;/li>&lt;li>10: start of PCB manufacture&lt;/li>&lt;li>12: boards completed&lt;/li>&lt;li>14: boards shipped (via registered post)&lt;/li>&lt;li>24: boards received&lt;/li>&lt;/ul>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2018/04/pcbway-pcb-review/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Writing Code for the ATtiny10</title><link>https://irq5-7854a1fdb9f4.pages.dev/2017/09/writing-code-for-the-attiny10/</link><pubDate>Sat, 09 Sep 2017 12:47:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2017/09/writing-code-for-the-attiny10/</guid><description>&lt;p>I previously wrote about the hardware aspects of
&lt;a href=https://irq5-7854a1fdb9f4.pages.dev/2010/07/programming-the-attiny10/ rel=noopener>getting your code into an ATtiny10&lt;/a> some 7 years ago
(wow that was &lt;em>realllyy&lt;/em> a long time ago!).&lt;/p>&lt;p>Now, avrdude is at version 6.3 and
the TPI bitbang implementation has already been integrated in.
The upstream avr-gcc (and avr-libc) also have proper support for ATtiny10s now.
These software components are bundled with most distributions,
including the &lt;a href=https://www.arduino.cc/en/Main/Software rel=noopener target=_blank class=external>Arduino IDE&lt;/a>,
making it easily accessible for anyone.
Previously a fully integrated and working toolchain only came from Atmel and it was behind a registration page.&lt;/p>&lt;p>The price of the ATtiny10 has also dropped by a lot.
When I first bought this microcontroller in 2010,
element14 carried it for $1.85 in single quantities.
Now, they are only $0.56 each.&lt;/p>&lt;p>I thought I&amp;rsquo;d write up a short post about writing and compiling code for it.&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2017/img/attiny10-closeup.jpg.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2017/img/attiny10-closeup.jpg alt="ATtiny10 on a prototyping board" width=1023 height=682>&lt;/picture>&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2017/09/writing-code-for-the-attiny10/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Making USBasp Chinese Clones Usable</title><link>https://irq5-7854a1fdb9f4.pages.dev/2017/07/making-usbasp-chinese-clones-usable/</link><pubDate>Tue, 25 Jul 2017 00:06:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2017/07/making-usbasp-chinese-clones-usable/</guid><description>&lt;p>I don&amp;rsquo;t have any dedicated programmers.
I have been programming Atmel chips
&lt;a href=https://irq5-7854a1fdb9f4.pages.dev/2010/07/programming-the-attiny10/ rel=noopener>using the USB-to-serial bitbang method&lt;/a>.&lt;/p>&lt;p>Recently, I thought I&amp;rsquo;d get one because doing a re-programming cycle is taking
quite a bit of time (a disadvantage of serial port bitbanging).&lt;/p>&lt;p>A popular one on Aliexpress seems to be
&lt;a href=https://www.aliexpress.com/item/1pcs-Free-shipping-USB-ISP-USBasp-USBisp-Programmer-for-51-ATMEL-AVR-download-support-Win-7/1289376766.html rel=noopener target=_blank class=external>this &amp;ldquo;USB ISP&amp;rdquo; one&lt;/a>, so I bought one.
I chose this one because it has a nice aluminium case, and a pinout diagram
imprinted on the case, which is handy.
After having so many one-off projects with bare PCBs collecting dust,
I now appreciate the importance of having projects in their own box or case.&lt;/p>&lt;p>&lt;picture>&lt;img src=https://c1.staticflickr.com/5/4324/35866155142_0bf2674c3e_b.jpg alt="USB ISP programmer with aluminium case">&lt;/picture>&lt;/p>&lt;p>While it has &amp;ldquo;USBasp&amp;rdquo; in the item name, it turns out that this was &lt;strong>not a USBasp device&lt;/strong>,
and getting it to work like one takes some effort.&lt;/p>&lt;p>It identifies itself as a &lt;em>zhifengsoft&lt;/em> HID device when I plug it into Linux:&lt;/p>&lt;div class=highlight role=region aria-label="code block" translate=no>&lt;pre tabindex=0 class=chroma>&lt;code class=language-fallback data-lang=fallback>&lt;span class=line>&lt;span class=cl>[705621.968025] usb 3-1: new low-speed USB device number 3 using ohci-platform
&lt;/span>&lt;/span>&lt;span class=line>&lt;span class=cl>[705622.199065] usb 3-1: New USB device found, idVendor=03eb, idProduct=c8b4
&lt;/span>&lt;/span>&lt;span class=line>&lt;span class=cl>[705622.205939] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
&lt;/span>&lt;/span>&lt;span class=line>&lt;span class=cl>[705622.213194] usb 3-1: Product: USBHID
&lt;/span>&lt;/span>&lt;span class=line>&lt;span class=cl>[705622.216876] usb 3-1: Manufacturer: zhifengsoft&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;code>avrdude&lt;/code> does not recognize the device,
even after creating an entry with the corresponding vendor/product ID.
This particular device was designed to work with their Windows-based UI called
&lt;a href=http://www.electrodragon.com/w/ProgISP rel=noopener target=_blank class=external>ProgISP&lt;/a>
and &lt;a href=http://www.avrfreaks.net/forum/how-use-usbasp#comment-1459441 rel=noopener target=_blank class=external>will not work with avrdude&lt;/a>.&lt;/p>&lt;p>And apparently you can&amp;rsquo;t just take the USBasp firmware and flash it into
this device, because the circuit is somewhat different.&lt;/p>&lt;p>After some research based on the PCB markings, I found these sites that talk about them:&lt;/p>&lt;ul>&lt;li>&lt;a href="https://www.sciencetronics.com/greenphotons/?p=938" rel=noopener target=_blank class=external>GreenPhotons: Hacking an AVR programmer&lt;/a>&lt;/li>&lt;li>&lt;a href="https://www.sciencetronics.com/greenphotons/?p=1937" rel=noopener target=_blank class=external>GreenPhotons: Hacking an AVR programmer II&lt;/a>&lt;/li>&lt;li>&lt;a href="http://wiki.efihacks.com/index.php?title=USBasp_Experiences" rel=noopener target=_blank class=external>USBasp Experiences - efiHacks Wiki&lt;/a>&lt;/li>&lt;/ul>&lt;h1 id=disassembly>Disassembly&lt;/h1>&lt;p>Disassembling the device is simple.
While grabbing the side of the case, firmly push the USB connector inwards
and the board should slide out the other end.
You can then gently pull the board out by the IDC connector.&lt;/p>&lt;p>&lt;picture>&lt;img src=https://c1.staticflickr.com/5/4308/35964033316_b5385eed09_b.jpg alt="Disassembly how-to photo">&lt;/picture>&lt;/p>&lt;p>The programmer seems to be based off of the popular &lt;a href=http://www.fischl.de/usbasp/ rel=noopener target=_blank class=external>USBasp programmer&lt;/a>,
but modified somewhat (to what end I&amp;rsquo;m not sure).
It lacks some features offered by other USBasp programmers,
like the ability to control the target&amp;rsquo;s clock,
or to use 3.3V for certain targets.
But at $2 with a nice aluminium case, what more can you ask for?&lt;/p>&lt;p>It&amp;rsquo;s powered by an ATmega88 (I read that older versions were based on ATmega8).
The markings on the board indicate that this is a &lt;code>MX-USBISP-V4.00&lt;/code>.
You can ignore tHe date because it was never updated;
the older V3.02 also has the same date.
While the &lt;em>GreenPhotons&lt;/em> blog was talking about V3.00,
I have verified that this version suffers from the same issue.&lt;/p>&lt;p>&lt;picture>&lt;img src=https://c1.staticflickr.com/5/4310/36005584165_a81de0f13c_b.jpg loading=lazy alt="USBISP programmer, with aluminium case">&lt;/picture>&lt;/p>&lt;p>&lt;picture>&lt;img src=https://c1.staticflickr.com/5/4291/35964039616_074efac6af_b.jpg loading=lazy alt="USPISP PCB rear">&lt;/picture>&lt;/p>&lt;p>Note that there are provisions on the PCB to add a voltage regulator,
and the PCB link marked &amp;ldquo;C&amp;rdquo; can be cut to separate USB power from the
rest of the system. Link &amp;ldquo;D&amp;rdquo; can be cut if you wish to disable target power.
However, none of these options were used.&lt;/p>&lt;p>The crucial difference with this clone
is that the USB &lt;code>D-&lt;/code> pin is additionally connected to &lt;code>PD3&lt;/code>,
shown here highlighted in blue:&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2017/img/zhifengsoft-schematic-diff.png.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2017/img/zhifengsoft-schematic-diff.png loading=lazy alt="Clone difference in schematic view" width=502 height=336>&lt;/picture>&lt;/p>&lt;p>However, in the USBasp&amp;rsquo;s &lt;code>main()&lt;/code> function, &lt;code>PORTD&lt;/code>&amp;rsquo;s
data direction register was initialized like so:&lt;/p>&lt;div class=highlight role=region aria-label="code block" translate=no>&lt;pre tabindex=0 class=chroma>&lt;code class=language-c data-lang=c>&lt;span class=line>&lt;span class=cl> &lt;span class=cm translate>/* all outputs except PD2 = INT0 */&lt;/span>
&lt;/span>&lt;/span>&lt;span class=line>&lt;span class=cl> &lt;span class=n>DDRD&lt;/span> &lt;span class=o>=&lt;/span> &lt;span class=o>~&lt;/span>&lt;span class=p>(&lt;/span>&lt;span class=mi>1&lt;/span> &lt;span class=o>&amp;lt;&amp;lt;&lt;/span> &lt;span class=mi>2&lt;/span>&lt;span class=p>);&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This causes the USB &lt;code>D-&lt;/code> line to be actively driven from &lt;code>PD3&lt;/code>,
thereby impeding communication to/from the USB host.&lt;/p>&lt;p>The rest of this post will talk about (1) correcting this problem in USBasp,
and (2) uploading the firmware into your &lt;em>zhifengsoft&lt;/em> programmer.&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2017/07/making-usbasp-chinese-clones-usable/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Raspberry Pi Zero Wireless</title><link>https://irq5-7854a1fdb9f4.pages.dev/2017/03/raspberry-pi-zero-wireless/</link><pubDate>Fri, 10 Mar 2017 01:07:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2017/03/raspberry-pi-zero-wireless/</guid><description>&lt;p>On the 5th birthday of the Raspberry Pi last week, the foundation announced a new
addition to the family &amp;ndash;
the &lt;a href=https://www.raspberrypi.org/blog/raspberry-pi-zero-w-joins-family/ rel=noopener target=_blank class=external>&lt;strong>Raspberry Pi Zero W&lt;/strong>&lt;/a>.
The W stands for Wireless.&lt;/p>&lt;p>I got my hands on one, from the fine folks at &lt;a href=https://shop.pimoroni.com/products/raspberry-pi-zero-w rel=noopener target=_blank class=external>Pimoroni&lt;/a>.
(And no they didn&amp;rsquo;t pay me to say this.)&lt;/p>&lt;p>&lt;picture>&lt;img src=https://c2.staticflickr.com/4/3727/32924538120_07709cc863_b.jpg alt="The Pi Zero W board">&lt;/picture>&lt;/p>&lt;p>It has the same specs as the Raspberry Pi Zero, namely the 1GHz single-core CPU
and 512 MB of RAM.
It still has the two micro USB port &amp;ndash; one for power and another for OTG,
which means you can &lt;a href=https://irq5-7854a1fdb9f4.pages.dev/2016/12/raspberry-pi-zero-as-multiple-usb-gadgets/ rel=noopener>get it to behave like USB devices&lt;/a>
when plugged into a PC.
The big difference is that they have added WiFi and Bluetooth capability to this
small board by squeezing some space out from between the processor and the power circuitry.
The size of the board and the placement of connectors remain the same,
even the test points on the back.&lt;/p>&lt;p>I&amp;rsquo;m excited for anything that has processing power, HDMI connectivity and WiFi.&lt;/p>&lt;h1 id=wifi--bluetooth>WiFi + Bluetooth&lt;/h1>&lt;p>&lt;picture>&lt;img src=https://c1.staticflickr.com/1/725/33151674662_b77d8963a9_b.jpg alt="BCM43438 wireless chipset">&lt;/picture>&lt;/p>&lt;p>The 802.11n WiFi and Bluetooth 4.1 functionality comes from the
&lt;a href=http://www.cypress.com/documentation/datasheets/bcm43438-single-chip-ieee-80211-bgn-macbasebandradio-bluetooth-41-and-fm rel=noopener target=_blank class=external>&lt;em>Broadcom BCM43438&lt;/em>&lt;/a> (now known as the Cypress CYW43438).
This is the same chipset that was used in the Pi 3.
The wireless chipset connects via SDIO, so your network traffic does not have
to contend for the USB bus bandwidth.&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2017/03/raspberry-pi-zero-wireless/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Seeedstudio Fusion PCB Review</title><link>https://irq5-7854a1fdb9f4.pages.dev/2017/02/seeedstudio-fusion-pcb-review/</link><pubDate>Wed, 01 Feb 2017 23:58:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2017/02/seeedstudio-fusion-pcb-review/</guid><description>&lt;p>&lt;a href=https://www.seeedstudio.com/fusion.html rel=noopener target=_blank class=external>&lt;strong>Fusion PCB&lt;/strong>&lt;/a> is a PCB service from Seeedstudio.
They have been offering PCB prototyping service since I
&lt;a href=https://irq5-7854a1fdb9f4.pages.dev/2011/03/iteadstudio-pcbs/ rel=noopener>made my first board&lt;/a> in 2011.
It has recently been revamped a little, tweaking prices and options,
as well as integrating an online Gerber viewer from EasyEDA.
I was invited to give Seeedstudio&amp;rsquo;s revamped Fusion PCB service a try,
and since I had some boards in the pipeline for manufacture, I thought why not?&lt;/p>&lt;p>You can configure various options for the PCB,
such as board thickness, copper pour and surface finish.
You can also make flex PCBs or aluminium for better heat sinking,
as opposed to regular FR4.
These options will of course come at a price.
However, you can select various colours for your PCB at no additional cost.&lt;/p>&lt;h1 id=the-boards>The Boards&lt;/h1>&lt;p>I ordered 2 sets of boards in total.
I&amp;rsquo;ve decided to opt for an ENIG
finish for the &lt;a href=https://irq5-7854a1fdb9f4.pages.dev/2016/10/retro-led-displays/ rel=noopener>TIL311 display boards&lt;/a>,
just because it looks nicer in gold.
The boards are manufactured with black solder mask,
making the gold pads stand out better.&lt;/p>&lt;p>I&amp;rsquo;ll describe the display board in a separate post after I&amp;rsquo;ve assembled it.
For now, here&amp;rsquo;s what 4 of the boards look like, component side up:&lt;/p>&lt;p>&lt;picture>&lt;img src=https://c1.staticflickr.com/1/458/32063841860_fcac4fa247_b.jpg alt="TIL311 display PCBs">&lt;/picture>&lt;/p>&lt;p>Like most PCB prototyping services, they track your order by
printing some kind of order identifier onto each PCB.
Usually they try to put this identifier underneath a component like an IC
so it gets hidden when the board is fully populated,
but sometimes they put it somewhere prominent, like under your product name.
On this board, the identifier sits under IC4 but for the other board,
it was under the product name.&lt;/p>&lt;p>The PCBs arrived in a shrink-wrapped bubbly packaging to protect the boards.
There was also a desiccant thrown in for one set of the boards to keep it dry.&lt;/p>&lt;p>&lt;picture>&lt;img src=https://c1.staticflickr.com/1/647/32290666212_9f2bcc98fe_b.jpg alt="PCBs arrived in bubbly shrink-wrap">&lt;/picture>&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2017/02/seeedstudio-fusion-pcb-review/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Retro LED Displays</title><link>https://irq5-7854a1fdb9f4.pages.dev/2016/10/retro-led-displays/</link><pubDate>Mon, 10 Oct 2016 00:11:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2016/10/retro-led-displays/</guid><description>&lt;p>When I saw &lt;a href=http://hackaday.com/2016/09/03/talking-diy-z-80-retrocomputer-complete-with-dev-tools/ rel=noopener target=_blank class=external>this post on Hackaday&lt;/a>,
I thought the display looks cool.
Even the people who commented on the post thought so too.
This board that you see in the post &lt;a href=http://www.smbaker.com/z80-retrocomputing-3-bus-monitor-board rel=noopener target=_blank class=external>monitors the bus&lt;/a> for the Z80 in the RC2014 retro Z80 computer kit.&lt;/p>&lt;p>After some searching and the wisdom of the Hackaday crowd, I bought a few of them from eBay. It turns out that these displays are no longer being manufactured anymore.
These used to be made by Texas Instruments, &lt;a href=http://www.ti.com/product/TIL311 rel=noopener target=_blank class=external>the TIL311 or DIS1417&lt;/a>.&lt;/p>&lt;h1 id=til311--dis1417-displays>TIL311 / DIS1417 Displays&lt;/h1>&lt;p>I like how the display looks like a pseudo LED matrix,
forming a 7-segment display.
They could have made the edges totally flat, just like a 7-segment display,
but they chose to round the corners of certain digits and letters, like &lt;code>0&lt;/code>, &lt;code>2&lt;/code>, &lt;code>8&lt;/code>, &lt;code>A&lt;/code> and others.&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2016/img/TIL311-fontmap.png.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2016/img/TIL311-fontmap.png alt="TIL311 font map" width=1302 height=562 class=half>&lt;/picture>&lt;/p>&lt;p>Each display has a built-in chip at the bottom of the digit,
which you can see under bright lighting in close-up photos.
The chip handles the latching and display logic,
and contains a constant-current driver for all the LEDs to output a single hex digit (0-9, A-F).
This was handy for old-school logic systems (like the Z80)
because each display handles 4 bits, exactly a single hexadecimal digit.
You could also interface this display easily without a microcontroller,
as opposed to a display that that speaks I2C.&lt;/p>&lt;p>From the date code in the photos,
you can that these displays were made in Korea in 1998.
The pins look like they are made of gold, or gold-plated.&lt;/p>&lt;p>&lt;picture>&lt;img src=https://c2.staticflickr.com/6/5645/29542872783_07d771a228_b.jpg alt>&lt;/picture>&lt;/p>&lt;p>&lt;picture>&lt;img src=https://c2.staticflickr.com/6/5615/29542872613_6cd03d5404_b.jpg loading=lazy alt>&lt;/picture>&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2016/10/retro-led-displays/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>X-CTF 2016 Badge Firmware</title><link>https://irq5-7854a1fdb9f4.pages.dev/2016/07/x-ctf-2016-badge-firmware/</link><pubDate>Tue, 19 Jul 2016 00:29:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2016/07/x-ctf-2016-badge-firmware/</guid><description>&lt;p>As promised, we are releasing &lt;a href=https://github.com/geekman/badger rel=noopener target=_blank class=external>the source code for the X-CTF badge&lt;/a>,
about 1 month after the event to give interested participants the chance to take a crack at it.
If you are interested in the badge design process,
check out &lt;a href=https://irq5-7854a1fdb9f4.pages.dev/2016/06/designing-the-x-ctf-2016-badge/ rel=noopener>my previous post on the hardware aspects&lt;/a>.&lt;/p>&lt;p>Jeremias and Jeremy gave a talk at one of the Null Security meetups.
&lt;a href=https://docs.google.com/presentation/d/1ZF4eMINOdhXUD4hn7NA8P-Roj7itxtIWvhx3lzXDboI/pub rel=noopener target=_blank class=external>Check out the slides&lt;/a> if you haven&amp;rsquo;t already.
In one part, Jeremy talks about the custom firmware he wrote for his badge and the
additional challenges he set up for partipants to get more points.
The 2nd part of the talk covers the electronic badge and challenges.&lt;/p>&lt;h2 id=the-challenges>The Challenges&lt;/h2>&lt;p>The challenges try to exploit the nature of being a self-contained electronic device.
Rather than trying to replicate more CTF puzzles and simply placing them into the badge, we specially designed them for the badge.&lt;/p>&lt;p>You can find the answers to the badge puzzles (and the main CTF puzzles) in the
&lt;a href=https://github.com/quanyang/x-ctf-2016-finals rel=noopener target=_blank class=external>X-CTF GitHub repo&lt;/a>,
which was released shortly after the event.&lt;/p>&lt;p>Since there&amp;rsquo;s only a single entry point into the set of challenges (meaning you must solve each puzzle before getting to the next),
the puzzles must be designed with increasing levels of difficulty;
too difficult and the participants will totally give up.&lt;/p>&lt;p>&lt;strong>Stage 1: Catch Me If You Can&lt;/strong>&lt;/p>&lt;p>&lt;picture>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2016/img/badge-catchme-anim.gif alt="animation of challenge 1" width=589 height=59>&lt;/picture>&lt;/p>&lt;p>I particularly like this one. Unlike a program running on the computer, you can&amp;rsquo;t easily snapshot the state of the program, nor try to influence (slow down) its execution.&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2016/07/x-ctf-2016-badge-firmware/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Designing the X-CTF 2016 Badge</title><link>https://irq5-7854a1fdb9f4.pages.dev/2016/06/designing-the-x-ctf-2016-badge/</link><pubDate>Wed, 22 Jun 2016 00:29:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2016/06/designing-the-x-ctf-2016-badge/</guid><description>&lt;p>&lt;picture>&lt;img src=https://c2.staticflickr.com/8/7711/27521379400_bd686d27ae_o.jpg alt="X-CTF 2016 badge with Lithium-ion battery attached">&lt;/picture>&lt;/p>&lt;p>I had the opportunity to collaborate with some NUS students to design the
electronic badge for their X-CTF event this year.&lt;/p>&lt;p>The purpose of the badge was to inspire more people to take an interest in hardware hacking,
or to get them started on electronics.
With so much hype on the Internet-of-Things (IoT) these days,
what better idea than to let participants take home their very own IoT device.
The super low cost WiFi chip, Expressif&amp;rsquo;s ESP8266, made this possible.
We also wanted it to be shaped like a gaming device, with a D-pad and an LCD.&lt;/p>&lt;p>You can see the final badge design above:
a ESP8266-based board with a backlit monochrome Nokia LCD, D-pad and a SELECT button.
Powered by a lithium-ion battery, charged via the USB port,
which also provides a serial connection to the ESP8266.&lt;/p>&lt;p>I was inspired by the SyScan 2015 badge.
It was so simple and spartan: a monochrome LCD, an LED,
a 5-way joystick switch and a 32-bit ARM processor (on the back).
As the regulator was built-in and it runs all the way down to 2.4V,
there was no need for an external regulator.&lt;/p>&lt;p>&lt;picture>&lt;img src=https://c2.staticflickr.com/8/7609/27699054572_e19061de3a_b.jpg alt="SyScan 2015 electronic badge">&lt;/picture>&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2016/06/designing-the-x-ctf-2016-badge/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Quick Update: Mailbag and WIP</title><link>https://irq5-7854a1fdb9f4.pages.dev/2016/06/quick-update-mailbag-and-wip/</link><pubDate>Tue, 14 Jun 2016 22:25:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2016/06/quick-update-mailbag-and-wip/</guid><description>Sorry I haven&amp;rsquo;t been updating the blog often enough.
I have been busy helping out with an electronics project, which will be in the hands of users very soon. There will be a detailed post on the project when that happens this coming weekend. For now, here&amp;rsquo;s a mysterious peek at its progress:
[tweet https://twitter.com/zxcvgm/status/725703690972065792]
[tweet https://twitter.com/zxcvgm/status/741057757533458433]
Ever since I made my first purchase on AliExpress, I have been buying random stuff and they&amp;rsquo;ve been arriving in batches.&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2016/06/quick-update-mailbag-and-wip/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>CXG 936d Temperature-Controlled Soldering Iron</title><link>https://irq5-7854a1fdb9f4.pages.dev/2015/12/cxg-936d-temperature-controlled-soldering-iron/</link><pubDate>Mon, 28 Dec 2015 00:09:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2015/12/cxg-936d-temperature-controlled-soldering-iron/</guid><description>&lt;p>A few weeks ago, I watched a Mike&amp;rsquo;s Electric Stuff video in which he was
talking about options for portable soldering irons:&lt;/p>&lt;p>[youtube https://www.youtube.com/watch?v=sDMhh3p2nuM]&lt;/p>&lt;p>The first soldering iron he talked about seems to be interesting.
It&amp;rsquo;s a soldering iron with temperature control, but everything is built into
the form factor of a regular soldering iron.
He also showed the insides of the iron, which uses a triac to control the supply,
hence eliminating the need for the bulky 24V transformer found in most soldering stations.&lt;/p>&lt;p>Ever since my temperature-controlled soldering station died,
I was left without one and fell back to using my cheap 20W iron.
I was previously using the &lt;a href=http://sg.element14.com/duratool/d00673/soldering-station-60w-230v-uk/dp/1498362 rel=noopener target=_blank class=external>Duratool D00673&lt;/a> from element14,
which is actually just a re-branded &lt;em>Zhongdi ZD-916&lt;/em>.
It was really expensive (S$120), so when it died after very infrequent use,
I didn&amp;rsquo;t think it was worth it to get a replacement unit.&lt;/p>&lt;p>The 24V transformer is quite heavy and accounts for most of the weight of this unit,
so trying to ship it from overseas was also not worth it.
After it died, I tore it down and found that its construction was pretty crappy:&lt;/p>&lt;p>[tweet https://twitter.com/zxcvgm/status/468787841204375552]&lt;/p>&lt;p>If you want to see more teardown photos and a review of sorts, check out
&lt;a href=http://www.eevblog.com/forum/reviews/zhongdi-zd-916-soldering-station/ rel=noopener target=_blank class=external>this EEVBlog forum thread&lt;/a>.
Of course I have verified that this crappy connector job wasn&amp;rsquo;t the cause of failure.
My preliminary troubleshooting found that the power supply seemed to be working,
but there was nothing on the LCD display nor was it responding (no beeps on keypresses).&lt;/p>&lt;p>Thanks to this video, I realized that there are alternative products
that combine the best of both worlds.&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2015/12/cxg-936d-temperature-controlled-soldering-iron/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Paper Shredder Repair</title><link>https://irq5-7854a1fdb9f4.pages.dev/2015/04/paper-shredder-repair/</link><pubDate>Mon, 06 Apr 2015 12:50:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2015/04/paper-shredder-repair/</guid><description>&lt;p>Now is probably a good time to mention that I have a paper shredder.
When I was shopping for a shredder, the basic requirement is that it must be relatively &amp;ldquo;secure&amp;rdquo;.
Straight cut shredders (that produce long straight strips) are definitely &lt;em>not secure&lt;/em>.&lt;/p>&lt;p>Ultimately I settled on the &lt;a href=http://www.amazon.co.jp/dp/B002UKPAEO rel=noopener target=_blank class=external>CARL DS-3000 personal paper shredder&lt;/a>.
The DS-3000 is a cross-cut shredder which produces &amp;ldquo;particles&amp;rdquo; no larger than
2mm x 4.5mm and this meets &lt;a href=//en.wikipedia.org/wiki/Paper_shredder#Types rel=noopener>DIN security level 4&lt;/a>.
These days, the NSA mandates 1mm x 5mm &amp;ldquo;particles&amp;rdquo; for classified documents.&lt;/p>&lt;p>At this point, it&amp;rsquo;s probably helpful to show you what my shredder bin looks like:&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2015/img/shredder-confetti.jpg.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2015/img/shredder-confetti.jpg alt="shredder confetti" width=1024 height=683>&lt;/picture>&lt;/p>&lt;p>From the particles, you can make out various truncated words such as &amp;ldquo;A/C&amp;rdquo;,
&amp;ldquo;exp&amp;rdquo; and the number &amp;ldquo;5&amp;rdquo;, but it&amp;rsquo;s almost impossible to reconstruct any bank
balances or personal information from it.&lt;/p>&lt;p>This particular model was the right balance between my budget and the level of security.
Plus, the shredder is compact enough to sit on your desk.
I bought it in 2009 and I use it every couple of months when I have accumulated
enough material that needs to be destroyed.&lt;/p>&lt;p>I was in the middle of shredding papers when it suddenly stopped working.
Now the shredder does not respond when I stick paper into its slot.
The LED indicator looks dimmer than usual when it is turned on.&lt;/p>&lt;p>But I&amp;rsquo;m not ready to give up on it just yet&amp;mldr;&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2015/04/paper-shredder-repair/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Interesting 31C3 Talks</title><link>https://irq5-7854a1fdb9f4.pages.dev/2015/01/interesting-31c3-talks/</link><pubDate>Fri, 02 Jan 2015 23:55:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2015/01/interesting-31c3-talks/</guid><description>&lt;p>&lt;picture>&lt;source srcset=/posts/2015/img/31c3-logo.png.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2015/img/31c3-logo.png alt="31C3 logo 'a new dawn'" width=128 height=151>&lt;/picture>&lt;/p>&lt;p>The 31st Chaos Communication Congress (31C3) ended just 3 days ago, and there were several interesting talks.&lt;/p>&lt;p>They have got live streaming of the event over the web, as well as encourage you to use an external player with RTMP or HLS support. The video streams were very reliable and best of all, it&amp;rsquo;s available in HD.
In comparison, I tried the Apple live event once and it was really crappy. For one, the HLS&lt;sup id=fnref:1>&lt;a href=#fn:1 class=footnote-ref role=doc-noteref>1&lt;/a>&lt;/sup> URL is not publicly available , so someone had to dig that out and post it.
Even after that, the audio stream was (I believe, unintentionally) a mix of both English and Chinese simultaneously.&lt;/p>&lt;p>The 31C3 video recordings were also uploaded very quickly after the event.
This is much quicker than other events such as Black Hat (although as an attendee, you do get a copy of the stuff on a DVD).
A really big kudos to the organizers and the video production team!&lt;/p>&lt;p>If you don&amp;rsquo;t have time to listen to each and every talk, here are a few selected talks that were interesting to me, as well as a short summary to see if it&amp;rsquo;s worth 30 or 60 minutes of your time.&lt;/p>&lt;p>A full list of talks can be found here: &lt;a href=http://media.ccc.de/browse/congress/2014/index.html rel=noopener target=_blank class="external rawurl">http://media.ccc.de/browse/congress/2014/index.html&lt;/a>&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2015/01/interesting-31c3-talks/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Cloud-Enabling a Bathroom Scale</title><link>https://irq5-7854a1fdb9f4.pages.dev/2014/09/cloud-enabling-a-bathroom-scale/</link><pubDate>Thu, 25 Sep 2014 01:04:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2014/09/cloud-enabling-a-bathroom-scale/</guid><description>&lt;p>Last week as I was making my rounds at the supermarket, I came across this digital bathroom scale on sale.
With some membership card, the discount was almost 50% and at S$16, I thought that was a pretty good deal.
It is &amp;ldquo;wireless&amp;rdquo; in that it has a separate display unit that could be detached from the scale itself.
This bathroom scale had &amp;ldquo;HACK ME&amp;rdquo; written all over it.&lt;/p>&lt;p>&lt;picture>&lt;img src=//farm6.staticflickr.com/5591/15082564568_873cab20b7_c.jpg alt>&lt;/picture>&lt;/p>&lt;p>It turns out that this bathroom scale is the &lt;strong>EB9121&lt;/strong> made by a Chinese (OEM?) company called
&lt;em>Zhongshan Camry Electronic Co. Ltd&lt;/em> (or simply &lt;em>Camry&lt;/em>).
The box specifically mentions that it uses infrared for transmission, and given that I had
&lt;a href=https://irq5-7854a1fdb9f4.pages.dev/tag/infrared rel=noopener>some experience looking at IR signals&lt;/a>, I thought it would be rather straightforward.&lt;/p>&lt;p>&lt;picture>&lt;img src=//farm4.staticflickr.com/3906/15082564748_2feb92e812_c.jpg alt>&lt;/picture>&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2014/09/cloud-enabling-a-bathroom-scale/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Testing the Shinyei PPD42NS</title><link>https://irq5-7854a1fdb9f4.pages.dev/2013/07/testing-the-shinyei-ppd42ns/</link><pubDate>Wed, 24 Jul 2013 00:20:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2013/07/testing-the-shinyei-ppd42ns/</guid><description>&lt;p>Around this time last month, the haze (or what some people call &lt;em>smog&lt;/em>) here set a record high level for the Pollutant Standards Index (PSI). This is what it looked like outside:&lt;/p>&lt;p>&lt;picture>&lt;img src=//farm4.staticflickr.com/3678/9320458829_dea662ceb5_o.jpg alt="haze vs no haze">&lt;/picture>&lt;/p>&lt;p>As our National Environment Agency only published 3 hour PSI averages, I thought it would be good if we could get our own measurements. The PSI used here is somewhat like the &lt;a href=https://en.wikipedia.org/wiki/Air_quality_index rel=noopener target=_blank class=external>Air Quality Index (AQI)&lt;/a> used in the US, and is made up of 5 components:&lt;/p>&lt;ol>&lt;li>PM10 particulate matter&lt;/li>&lt;li>sulphur dioxide (SO2)&lt;/li>&lt;li>carbon monoxide (CO)&lt;/li>&lt;li>nitrogen dioxide (NO2)&lt;/li>&lt;li>ozone&lt;/li>&lt;/ol>&lt;p>Note that the AQI includes PM2.5 particulate matter whereas PSI does not. From what we can see, I would think that a major contributor to the PSI is particulate matter (PM).&lt;/p>&lt;p>I took a brief look at the projects such as the &lt;a href=http://airqualityegg.wikispaces.com/AirQualityEgg rel=noopener target=_blank class=external>Air Quality Egg&lt;/a> and &lt;a href="https://docs.google.com/document/pub?id=1pjk6gGmM0Ge917gmD424P428mynxOy34-u9zL1_QyVs" rel=noopener target=_blank class=external>PACMAN&lt;/a>. They used either the &lt;strong>Sharp GP2Y1010AU0F&lt;/strong> or the &lt;strong>Shinyei PPD42NS&lt;/strong>. These sensors generally operate &lt;a href=http://www.shinyei.co.jp/stc/optical/main_dust_e.html rel=noopener target=_blank class=external>based on the light-scattering principle&lt;/a>, by measuring the amount of light that is scattered by particles.&lt;/p>&lt;h1 id=the-ppd42ns>The PPD42NS&lt;/h1>&lt;p>Chris Nafis has done a great job documenting the use of both the &lt;a href=http://www.howmuchsnow.com/arduino/airquality/ rel=noopener target=_blank class=external>GP2Y1010AU0F&lt;/a> and the &lt;a href=http://www.howmuchsnow.com/arduino/airquality/grovedust/ rel=noopener target=_blank class=external>PPD42NS&lt;/a>, compared against a Dylos DC1100 air quality monitor. As the GP2Y1010AU0F requires a certain pulse waveform to be supplied to its LED pin, I would say that the PPD42NS is self-contained and thus much easier to hook up.&lt;/p>&lt;p>&lt;picture>&lt;img src=//farm6.staticflickr.com/5500/9323247524_c97d976ce7_o.jpg alt="PPD42NS (front)">&lt;/picture>&lt;/p>&lt;p>On the front, it has 2 pots labelled &lt;code>VR1&lt;/code> and &lt;code>VR3&lt;/code> that have been already factory-calibrated. The IR detector is covered under the metal can. Interestingly there&amp;rsquo;s a slot by the side labelled &lt;code>SL2&lt;/code> which is unused. If you&amp;rsquo;d like to see what&amp;rsquo;s under the hood, Chris opened up the black casing and &lt;a href="http://forums.parallax.com/showthread.php/139538-air-quality-monitor-using-particle-counter?p=1185869&amp;viewfull=1#post1185869" rel=noopener target=_blank class=external>posted a photo here&lt;/a>.&lt;/p>&lt;p>&lt;picture>&lt;img src=//farm6.staticflickr.com/5468/9323247812_a1ebc49abb_o.jpg loading=lazy alt="PPD42NS PCB">&lt;/picture>&lt;/p>&lt;p>Looking at the date code grid on the PCB, the units look like they were manufactured in July 2012. The circuit consists largely of passives and an op-amp. &lt;code>RH1&lt;/code> is the resistor heater which, in theory, could be removed to save power if there was some other method of air circulation.&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2013/07/testing-the-shinyei-ppd42ns/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>CY-20 Cheap Flash Teardown</title><link>https://irq5-7854a1fdb9f4.pages.dev/2013/06/cy-20-cheap-flash-teardown/</link><pubDate>Mon, 10 Jun 2013 01:04:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2013/06/cy-20-cheap-flash-teardown/</guid><description>&lt;p>Following up on &lt;a href=https://irq5-7854a1fdb9f4.pages.dev/2012/03/diy-optical-slave-flash/ title="DIY Optical Slave Flash" rel=noopener>my DIY slave flash project&lt;/a>, I thought I&amp;rsquo;d get something more powerful than that tiny Xenon bulb. I bought the &lt;a href=http://dx.com/p/cy-20-camera-flash-speedlite-2-x-aa-58592 rel=noopener target=_blank class=external>cheapest flash on DX.com&lt;/a> - the &lt;strong>CY-20&lt;/strong>. It has a considerably large bulb and as a plus, it has what looks like a tiny window on the front for automatic output control. The main reason for getting this was the 2.5mm jack on the back of the flash that allows it to be externally triggered.&lt;/p>&lt;p>&lt;picture>&lt;img src=//farm3.staticflickr.com/2878/8961494006_3886eabcae_z.jpg alt="retaining clips on the CY-20">&lt;/picture>&lt;/p>&lt;p>Opening it was easy. Remove the 4 screws that secure the hotshoe mount and go round the casing to release the retaining clips. Surprise surprise, take a look at the sensing window.&lt;/p>&lt;p>&lt;picture>&lt;img src=//farm4.staticflickr.com/3721/8961493560_e40de5e1a0_z.jpg alt="CY-20 open, showing the decorative">&lt;/picture>&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2013/06/cy-20-cheap-flash-teardown/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Circular Layout ULP for Eagle</title><link>https://irq5-7854a1fdb9f4.pages.dev/2013/03/circular-layout-ulp-for-eagle/</link><pubDate>Sat, 30 Mar 2013 21:15:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2013/03/circular-layout-ulp-for-eagle/</guid><description>&lt;p>Some time last year, &lt;a href=http://dangerousprototypes.com/2012/08/20/perfectly-spaced-circular-layout-in-eagle/ rel=noopener target=_blank class=external>Mats Engstrom shared his PHP script&lt;/a> for generating commands to move components in CadSoft Eagle to form a perfect circle. If you look at the screenshot, it&amp;rsquo;s mainly made up of &lt;code>MOVE&lt;/code> and &lt;code>ROTATE&lt;/code> commands - relatively easy.&lt;/p>&lt;p>Eagle has what it calls &lt;em>user language programs&lt;/em> (ULPs) for doing some simple scripting with the ability to display a dialog for user input. I decided to try my hand at creating a ULP that creates these circular layouts. The main advantage of using a ULP is that it has access to your board layout, saving you from some typing. You can also easily iterate through different parameters quickly and without hassle.&lt;/p>&lt;p>I shall illustrate briefly how this circular layout ULP can be used for doing various kinds of layout, with help from some open-source projects with Eagle CAD files.&lt;/p>&lt;h2 id=ringo3-clock>Ringo3 Clock&lt;/h2>&lt;p>The most common use for a circular layout is in clocks. Conveniently, Mats has a project called &lt;a href=https://github.com/SmallRoomLabs/Ringo3 rel=noopener target=_blank class=external>Ringo3&lt;/a>. For photos of the PCB and assembled clock, see &lt;a href="http://dangerousprototypes.com/forum/viewtopic.php?f=56&amp;t=4623" rel=noopener target=_blank class=external>this Dangerous Prototypes forum topic&lt;/a>.&lt;/p>&lt;p>Delete the existing board (&lt;code>.brd&lt;/code>) file to start with an empty PCB created from the schematic. We shall take &lt;code>(2.00, 1.60)&lt;/code> to be the centre of the circle, as shown. Eagle 6 introduced a &lt;em>dimensioning tool&lt;/em>, used here to show the radius of the circle (1.5") - handy but not a must.&lt;/p>&lt;p>&lt;picture>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2013/img/circular-ringo-1.png alt="Ringo3 empty PCB layout" width=937 height=554 class=noinvert>&lt;/picture>&lt;/p>&lt;p>The circular layout ULP has 3 main sections: (i) parts selection, (ii) layout options, and (iii) circle centre point &amp; radius. For parts, enter &lt;code>D&lt;/code> for prefix and &lt;code>1&lt;/code> to &lt;code>60&lt;/code> and click the &lt;em>Filter&lt;/em> button to select components D1 - D60 for layout. The handy table shows you the currently selected list of components. Enter &lt;code>2&lt;/code> and &lt;code>1.6&lt;/code> for the circle centre X, Y values that have been identified. The radius has been marked by the dimensioning tool as &lt;code>1.5&lt;/code>. The layout direction is &amp;ldquo;Clockwise&amp;rdquo; and we want to place &lt;code>D1&lt;/code> at the top &amp;ldquo;12 o&amp;rsquo;clock&amp;rdquo; position. Click the &lt;em>Do Layout&lt;/em> button, and &lt;em>OK&lt;/em> to start the layout.&lt;/p>&lt;p>&lt;picture>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2013/img/circular-layout-settings-1.png alt="Circular Layout Settings" width=547 height=637 class=noinvert>&lt;/picture>&lt;/p>&lt;p>You should see the components move into place as shown in the next figure.&lt;/p>&lt;p>&lt;picture>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2013/img/circular-ringo-2.png loading=lazy alt="Ringo3 PCB with laid out LEDs D1 - D60" width=931 height=548 class=noinvert>&lt;/picture>&lt;/p>&lt;p>If you make a mistake, you can always just hit &lt;em>Undo&lt;/em> or hold down &lt;em>Ctrl+Z&lt;/em> until all the components were back at their original positions.&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2013/03/circular-layout-ulp-for-eagle/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Apple's Lightning Digital AV Adapter</title><link>https://irq5-7854a1fdb9f4.pages.dev/2013/03/apples-lightning-digital-av-adapter/</link><pubDate>Mon, 11 Mar 2013 22:39:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2013/03/apples-lightning-digital-av-adapter/</guid><description>Recently, Panic noticed the odd output resolution and MPEG-like artifacts with the new Lightning digital AV adapter and decided to take a hacksaw to it. They found an ARM processor inside.
image credit: Panic blog
Shortly after, they received an anonymous comment that explains it all:
The reason why this adapter exists is because Lightning is simply not capable of streaming a &amp;ldquo;raw&amp;rdquo; HDMI signal across the cable. Lightning is a serial bus.&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2013/03/apples-lightning-digital-av-adapter/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Infrared Remote Control Protocols: Part 2</title><link>https://irq5-7854a1fdb9f4.pages.dev/2012/08/infrared-remote-control-protocols-part-2/</link><pubDate>Sat, 11 Aug 2012 00:55:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2012/08/infrared-remote-control-protocols-part-2/</guid><description>&lt;p>In the &lt;a href=https://irq5-7854a1fdb9f4.pages.dev/2012/07/infrared-remote-control-protocols-part-1/ rel=noopener>previous post&lt;/a>, techniques on how to capture an IR remote signal were presented and the most reliable one was using the Arduino sketch. The captured signal was also analyzed, although we had much of our work already done for us.&lt;/p>&lt;p>In this concluding post, a remote control whose protocol is unknown will be captured and analyzed as a case study. Lastly, we will cover the re-transmission of the IR signal. The remote control in question is for my ceiling fan, &lt;a href="http://kdk.jp/product_detail.aspx?id=235" rel=noopener target=_blank class=external>KDK model M56SR&lt;/a>. The remote also works for two other fan models M56QR and M11SU.&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2012/img/kdk-remote.jpg.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2012/img/kdk-remote.jpg alt="KDK remote control" width=800 height=534>&lt;/picture>&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2012/08/infrared-remote-control-protocols-part-2/#more">Continue reading…&lt;/a>&lt;/p></description></item></channel></rss>