<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Hackaday_2014 on Wired &amp;&amp; Coded;</title>
    <link>http://localhost:1313/categories/hackaday_2014/</link>
    <description>Recent content in Hackaday_2014 on Wired &amp;&amp; Coded;</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Mon, 29 Sep 2014 00:00:00 +0000</lastBuildDate>
    <atom:link href="http://localhost:1313/categories/hackaday_2014/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Bluetooth Power Modes</title>
      <link>http://localhost:1313/posts/2014/2014-09-29-bluetooth-power-modes/</link>
      <pubDate>Mon, 29 Sep 2014 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/posts/2014/2014-09-29-bluetooth-power-modes/</guid>
      <description>&lt;p&gt;In &lt;a href=&#34;http://localhost:1313/2014/09/processor-low-power-optimizations-in-pip-watch/&#34; title=&#34;Processor Low-power Optimizations in PIP-Watch&#34;&gt;previous post&lt;/a&gt; we discussed CPU power consumption in &lt;a href=&#34;http://localhost:1313/pip-watch/&#34; title=&#34;PIP-Watch&#34;&gt;PIP-Watch&lt;/a&gt;. Today we look into Bluetooth power consumption because it is significant as much as the CPU power.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Processor Low-power Optimizations in PIP-Watch</title>
      <link>http://localhost:1313/posts/2014/2014-09-28-processor-low-power-optimizations-in-pip-watch/</link>
      <pubDate>Sun, 28 Sep 2014 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/posts/2014/2014-09-28-processor-low-power-optimizations-in-pip-watch/</guid>
      <description>&lt;h1 id=&#34;processor-power&#34;&gt;Processor Power&lt;/h1&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;http://localhost:1313/pip-watch/&#34; title=&#34;PIP-Watch&#34;&gt;PIP-Watch&lt;/a&gt; is a battery-powered device that will be continuously on, hence the average power consumption is one of the most important engineering aspects.&lt;/p&gt;&#xA;&lt;p&gt;In this post I will go through two simple steps of optimizing CPU power - sleep modes and lowering the clock frequency. In a &lt;a href=&#34;http://localhost:1313/2014/09/bluetooth-power-modes/&#34; title=&#34;Bluetooth Power Modes&#34;&gt;next separate post&lt;/a&gt; we will look into Bluetooth module power.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PIP-Watch Boards &amp; Assembly</title>
      <link>http://localhost:1313/posts/2014/2014-09-17-pip-watch-boards-assembly/</link>
      <pubDate>Wed, 17 Sep 2014 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/posts/2014/2014-09-17-pip-watch-boards-assembly/</guid>
      <description>&lt;p&gt;The printed circuit boards for PIP-Watch Zero came from Pragoboard fab on Friday 12 Sept. I ordered three pieces because the cost is practically identical as for two or one.&lt;/p&gt;&#xA;&lt;p&gt;[caption id=&amp;ldquo;attachment_484&amp;rdquo; align=&amp;ldquo;aligncenter&amp;rdquo; width=&amp;ldquo;845&amp;rdquo;]&lt;a href=&#34;http://www.jsykora.info/wp-content/uploads/2014/09/pipwatch_zero_pcbs.jpg&#34;&gt;&lt;img src=&#34;images/pipwatch_zero_pcbs.jpg&#34; alt=&#34;PIP-Watch Zero: Pristine PCBs from fab&#34;&gt;&lt;/a&gt; PIP-Watch Zero: Pristine PCBs from fab[/caption]&lt;/p&gt;&#xA;&lt;p&gt;On Saturday I assembled one board, and on Sunday I tested it and started working on firmware. I had some problems with PLL in the microcontroller  - the CPU hard-resetted the instant the PLL  was enabled. Eventually I found a bad solder joint on one of the CPU&amp;rsquo;s power supply pins.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PIP-Watch &#34;Zero&#34; - Schematic, BOM, and Layout</title>
      <link>http://localhost:1313/posts/2014/2014-09-07-pip-watch-zero-schematic-bom-and-layout/</link>
      <pubDate>Sun, 07 Sep 2014 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/posts/2014/2014-09-07-pip-watch-zero-schematic-bom-and-layout/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://github.com/jsyk/PIP-Watch/blob/master/pipwatch_zero/pipwatch_zero-hw02.pdf?raw=true&#34;&gt;Schematic [PDF]&lt;/a&gt;, BOM, and PCB layout for my PIP-Watch &amp;ldquo;Zero&amp;rdquo; was completed during this week. Layout data was sent to a local PCB fab - pragoboard.cz. The board should be ready and shipped during the next week.&lt;/p&gt;&#xA;&lt;p&gt;The PCB is is 80mm*35mm. The top side is dedicated to the EPD display, battery (underneath the display), 3 push-buttons and 4 LEDs. The bottom side carries all the main electronics - processor, bluetooth modem, display driver, and power source.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FreeRTOS tasks and queues</title>
      <link>http://localhost:1313/posts/2014/2014-07-27-freertos-tasks-and-queues/</link>
      <pubDate>Sun, 27 Jul 2014 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/posts/2014/2014-07-27-freertos-tasks-and-queues/</guid>
      <description>&lt;p&gt;In my previous homebrew projects I did not use any operating system in the embedded processors. Software was programmed on a bare-metal hardware. In my &lt;a href=&#34;http://localhost:1313/talking-clock/&#34; title=&#34;Talking Clock&#34;&gt;Talking Clock&lt;/a&gt; project I created a simple cooperative event-processing abstraction layer, but it was very limited.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Framebuffer Drawing with u8glib [VIDEO]</title>
      <link>http://localhost:1313/posts/2014/2014-07-02-framebuffer-drawing-with-u8glib/</link>
      <pubDate>Wed, 02 Jul 2014 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/posts/2014/2014-07-02-framebuffer-drawing-with-u8glib/</guid>
      <description>&lt;p&gt;GDE021A1 is a graphics display with a resolution 172x72 pixels, each pixel is 2 bits deep (4 shades of grey). The display has an internal controller SSD1606 with a framebuffer. The framebuffer size is 172*72*2/8=3096 Bytes. When the display is powered up, the system processor sends initialization sequence that first sets up controller&amp;rsquo;s internal registers (the controller SSD1606 is fairly generic) and then sends new framebuffer content. The display controller then autonomously pushes the framebuffer contents to the physical screen.&lt;/p&gt;&#xA;&lt;p&gt;The display controller can be configured to orient the framebuffer almost any way. I configured it into a landscape mode, with the X-axis going right and the Y-axis down, as shown on the photo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>EPD Display Working!</title>
      <link>http://localhost:1313/posts/2014/2014-06-18-epd-display-working/</link>
      <pubDate>Wed, 18 Jun 2014 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/posts/2014/2014-06-18-epd-display-working/</guid>
      <description>&lt;p&gt;Today I have managed to get the &lt;a href=&#34;http://localhost:1313/2014/04/mailbag-epaper-display-module/&#34; title=&#34;Mailbag: ePaper Display Module&#34;&gt;GDE021A1&lt;/a&gt; ePaper display (EPD) working! I used my &lt;a href=&#34;http://localhost:1313/2014/05/attempt-at-soldering-an-fpc-connector-with-0-5mm-pitch-and-a-prototyping-pcb-design/&#34; title=&#34;Foolish Attempt at Soldering an FPC Connector with 0.5mm Pitch, and a Prototyping PCB Design&#34;&gt;minimal EPD-Driver board&lt;/a&gt;, which implements a flat-flex cable connector and a booster circuit for the display. The booster generates high voltages needed for display operation (around +-25V). The display is driven by &lt;a href=&#34;http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1031/LN1567/PF164483&#34;&gt;STM32F101&lt;/a&gt; Cortex-M3 CPU, mounted on a universal PCB. The picture below depicts my workbench setup (click to see a full-size image):&lt;/p&gt;&#xA;&lt;p&gt;[caption id=&amp;ldquo;attachment_410&amp;rdquo; align=&amp;ldquo;aligncenter&amp;rdquo; width=&amp;ldquo;1205&amp;rdquo;]&lt;a href=&#34;http://www.jsykora.info/wp-content/uploads/2014/06/epd_driver_proto-topview-text.png&#34;&gt;&lt;img src=&#34;images/epd_driver_proto-topview-text.png&#34; alt=&#34;EPD Driver Prototype-workbench view with captions&#34;&gt;&lt;/a&gt; EPD Driver Prototype-workbench view with captions[/caption]&lt;/p&gt;</description>
    </item>
    <item>
      <title>Li-On Battery Charging (and Discharging)</title>
      <link>http://localhost:1313/posts/2014/2014-06-11-li-on-battery-charging-and-discharging/</link>
      <pubDate>Wed, 11 Jun 2014 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/posts/2014/2014-06-11-li-on-battery-charging-and-discharging/</guid>
      <description>&lt;p&gt;In my &lt;a href=&#34;http://localhost:1313/pip-watch/&#34; title=&#34;PIP-Watch&#34;&gt;PIP-Watch&lt;/a&gt; project I will use a Li-On battery to provide power. Li-On batteries are easy to use in hobby projects: they are light, small, with high capacity, and they come in variety of sizes. Most (not all) Li-On batteries have nominal voltage 3.7V, hence you can directly power your standard 3.3V digital logic directly, using only a simple low-drop linear regulator (e.g. LD59015).&lt;/p&gt;&#xA;&lt;p&gt;For my first experiments I chose &lt;a href=&#34;http://www.cpkb.org/wiki/Nokia_BL-4C_battery&#34;&gt;Nokia BL-4C&lt;/a&gt; Li-On battery. It&amp;rsquo;s nominal voltage is 3.7V, charging (maximal) voltage is 4.2V, the capacity is 860mAh.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bluetoothing to Android Tablet</title>
      <link>http://localhost:1313/posts/2014/2014-05-18-bluetoothing-to-a-tablet/</link>
      <pubDate>Sun, 18 May 2014 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/posts/2014/2014-05-18-bluetoothing-to-a-tablet/</guid>
      <description>&lt;p&gt;Today I tried pairing my UART-to-Bluetooth adapter to a Nexus 7 tablet to see how it works. On the tablet I used &lt;a href=&#34;https://play.google.com/store/apps/details?id=es.pymasde.blueterm&amp;amp;hl=en&#34;&gt;BlueTerm&lt;/a&gt;, an open-source terminal emulator for communicating with any serial device using a bluetooth serial adapter.&lt;/p&gt;&#xA;&lt;p&gt;I connected my Bluetooth adapter through a USB/UART adapter to a PC. On the PC in a terminal emulator the following sequence of commands is sent to the BT adapter:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;///&#xA;at*agln=&amp;#34;PIP-Watch&amp;#34;,0&#xA;at*agfp=&amp;#34;1234&amp;#34;,0&#xA;at*addm&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The three slashes are an escape sequence to put the adapter into the AT-mode. Then we set BT device name and a PIN. Finally we exit the AT-mode, entering data mode. The adapter now awaits BT connections.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Foolish Attempt at Soldering an FPC Connector with 0.5mm Pitch, and a Prototyping PCB Design</title>
      <link>http://localhost:1313/posts/2014/2014-05-17-attempt-at-soldering-an-fpc-connector-with-0-5mm-pitch-and-a-prototyping-pcb-design/</link>
      <pubDate>Sat, 17 May 2014 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/posts/2014/2014-05-17-attempt-at-soldering-an-fpc-connector-with-0-5mm-pitch-and-a-prototyping-pcb-design/</guid>
      <description>&lt;p&gt;Mechanical drawing of my &lt;a href=&#34;http://www.jsykora.info/?p=229&#34; title=&#34;Mailbag: ePaper Display Module&#34;&gt;EPD ePaper display GDE021A1&lt;/a&gt; is shown below. Signals to the display are connected via a 24-pin flex flat cable. The pitch between pins is only 0.5mm. A suitable matching connector is &lt;a href=&#34;http://www.molex.com/molex/products/datasheet.jsp?part=active/0524352471_FFC_FPC_CONNECTORS.xml&#34;&gt;MOLEX 52435-2471 FPC RCPT 24PIN 1ROW&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.jsykora.info/wp-content/uploads/2014/05/GDE021A1_mechanical.png&#34;&gt;&lt;img src=&#34;images/GDE021A1_mechanical.png&#34; alt=&#34;GDE021A1_mechanical&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;On Thursday I tried soldering thin wires directly on the MOLEX connector I got from Farnell. However, my attempt was very naïve because the pitch between pins on the connector is only 0.5mm. So I failed.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New Project: PIP-Watch</title>
      <link>http://localhost:1313/posts/2014/2014-05-17-new-project-pip-watch/</link>
      <pubDate>Sat, 17 May 2014 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/posts/2014/2014-05-17-new-project-pip-watch/</guid>
      <description>&lt;p&gt;I started a new project called &lt;strong&gt;&lt;a href=&#34;http://localhost:1313/pip-watch/&#34; title=&#34;PIP-Watch&#34;&gt;PIP-Watch: Personal Information Panel/Watch&lt;/a&gt;&lt;/strong&gt;. It will be a kind of &lt;a href=&#34;http://en.wikipedia.org/wiki/Smartwatch&#34;&gt;smartwatch&lt;/a&gt;.  It will use an ePaper display and a bluetooth connection to a smart-phone.&lt;/p&gt;&#xA;&lt;p&gt;I also registered the &lt;a href=&#34;http://hackaday.io/project/1181-PIP-Watch&#34;&gt;project on hackaday.io&lt;/a&gt;, to take part in this year&amp;rsquo;s Hackaday Prize, which will send one hacker into space!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bluetooth Module (Re-)Investigation</title>
      <link>http://localhost:1313/posts/2014/2014-05-12-bluetooth-module-re-investigation/</link>
      <pubDate>Mon, 12 May 2014 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/posts/2014/2014-05-12-bluetooth-module-re-investigation/</guid>
      <description>&lt;p&gt;Some five years ago I bought a nice UART-over-Bluetooth adapter module. The module emulates a serial port (UART) over a Bluetooth connection. All necessary chips and an antenna are mounted on a small PCB board depicted below.&lt;/p&gt;&#xA;&lt;p&gt;The type I&amp;rsquo;ve got is the &lt;a href=&#34;https://github.com/jsyk/PIP-Watch/raw/master/doc/third-party/BT_to_Serial_converter-em_ds_oemspa_310.pdf&#34;&gt;cB-OEMSPA310i-04&lt;/a&gt; with an internal antenna. The module requires only a 3.3V power.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.jsykora.info/wp-content/uploads/2014/05/cb-OEMSPA-module.png&#34;&gt;&lt;img src=&#34;images/cb-OEMSPA-module.png&#34; alt=&#34;cb-OEMSPA-module&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Communication with the module is over serial UART at 3.3V logic levels. The basic RXD/TXD signal pair is complemented with hardware flow control via RTS/CTS, and an optional BT connection status via DSR/DTR. A three-colour LED (red, blue, green) can be directly connected to dedicated pins on the module to visually indicate the state of module to the user.&lt;/p&gt;&#xA;&lt;p&gt;The BT module is &lt;a href=&#34;https://github.com/jsyk/PIP-Watch/raw/master/doc/third-party/Serial_Port_Adapter_AT_Commands.pdf&#34;&gt;controlled by standard AT commands&lt;/a&gt;. When powered up or after a reset the module is in a data mode with no connection over BT. Local application microcontroller connected to the RXD/TXD/RTS/CTS signals first sends an escape sequence, which normally consists of three forward slashes &amp;lsquo;///&amp;rsquo;. This puts the module into the AT mode. In AT mode the strings sent over the local UART are interpreted as commands, while in data mode all data is passed through to bluetooth and over the air.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
