tag:blogger.com,1999:blog-20523785122041660162024-02-07T21:55:46.188+01:00eMGozeMGozMarvhttp://www.blogger.com/profile/16064404550035142449noreply@blogger.comBlogger14125tag:blogger.com,1999:blog-2052378512204166016.post-62901396736455530442019-08-15T21:03:00.000+02:002019-08-15T21:16:58.135+02:00Let's Build a Keytar - Part II: KeysFor the kays, I bought a used M-Audio Keystation 49e for 20 bucks. It is a pretty simple midi controller with 4 octaves of standard size keys. It also got a modulation and pitch bend wheel as well as octave shift buttons. I might reuse some of these parts too.<br>
<br>
Let's jump into an exciting reverse engineering adventure!<br>
<br>
<br>
<a href="http://emgoz.blogspot.com/2019/08/lets-build-keytar-part-i-keys.html#more">Read more »</a>Marvhttp://www.blogger.com/profile/16064404550035142449noreply@blogger.com0tag:blogger.com,1999:blog-2052378512204166016.post-90361797343597036972019-08-12T13:40:00.003+02:002019-08-15T21:03:24.839+02:00Let's Build a Keytar - Part I: IntroductionAs a keyboardist and a big fan of bands from the 80s, I have been dreaming to have a keytar since my childhood. Currently, only Roland is still selling fully-fledged keytars (i,e. with sound synthesis), and Alesis sells some cheaper midi controllers. As none of the devices fits my needs and my budget, I decided to build my own.<br />
<br />
The current plan looks something like this:<br />
<ul>
<li>The keys come from a inexpensive 49 key midi controller</li>
<li>sound is generated by a NanoSynth sound module (SAM2695), other synthesizers may be added later</li>
<li>A Teensy 3.5 works the brain of the instrument</li>
<li>User interface via OLED or LCD, buttons, encoders and potentiometers</li>
<li>A wooden casing with a shape similar to the AX edge.</li>
</ul>
Marvhttp://www.blogger.com/profile/16064404550035142449noreply@blogger.com0tag:blogger.com,1999:blog-2052378512204166016.post-74790727257697575372016-10-18T20:07:00.002+02:002016-10-18T20:11:50.491+02:00Snakes, Neural Networks and Genetic AlgorithmsSurfing around the interwebs I stumbled upon genetic algorthms, which inspired me to create my own little java applications. I won't write a lot today, instead, I made a little video to try to explain what I did. Enjoy!<br />
<br />
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/BBLJFYr7zB8?rel=0" width="640"></iframe>
</div>
<div style="text-align: right;">
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
- Marv</div>
Marvhttp://www.blogger.com/profile/16064404550035142449noreply@blogger.com0tag:blogger.com,1999:blog-2052378512204166016.post-45409376539401547612016-03-11T11:10:00.005+01:002019-08-15T21:17:10.423+02:00Splitters Suck - Adventures with Optical Audio, Part III<span style="background-color: white; color: #4c4c4c; font-family: "times new roman" , "times" , "freeserif" , serif; font-size: 16px; line-height: 22.4px;">This is part three of a multi-part series, </span><a href="http://emgoz.blogspot.de/2016/01/noisy-converters-adventures-with.html" style="background-color: white; color: #4f48a0; font-family: 'Times New Roman', Times, FreeSerif, serif; font-size: 16px; line-height: 22.4px; text-decoration: none;" target="_blank">click here to read part one</a><span style="color: #4c4c4c; font-family: "times new roman" , "times" , "freeserif" , serif;"><span style="background-color: white; line-height: 22.4px;"> or <a href="http://emgoz.blogspot.de/2016/03/adding-spdif-to-analog-hardware.html" target="_blank">here to read part two</a>.</span></span><br />
<span style="color: #4c4c4c; font-family: "times new roman" , "times" , "freeserif" , serif;"><span style="background-color: white; line-height: 22.4px;"><br /></span></span>
<span style="color: #4c4c4c; font-family: "times new roman" , "times" , "freeserif" , serif;"><span style="background-color: white; line-height: 22.4px;">After I upgraded my PC subwoofer to optical audio input, I still had a problem: My sound card has only one Toslink output. But there is remedy! Toslink splitters! Hooray!</span></span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIp23RBYTSIz5ZhLTiexlpzSrcgDJ_0gEZRH9nLE_nEftX5-13Wyh2wwVBtQkERZMj-Qa2psvju-b0G0CSvaLXH6Yu4jeY2_WD6Qo0y4QRlzB4BG34S8c3UyrhXISHCOT20Lmd_UDr4eOT/s1600/ysplitter.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIp23RBYTSIz5ZhLTiexlpzSrcgDJ_0gEZRH9nLE_nEftX5-13Wyh2wwVBtQkERZMj-Qa2psvju-b0G0CSvaLXH6Yu4jeY2_WD6Qo0y4QRlzB4BG34S8c3UyrhXISHCOT20Lmd_UDr4eOT/s320/ysplitter.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Those things have one input and two outputs, and entirely optical (passive). However they have a major flaw: They do not work! The plug conncetions and the prism have really bad optical characteristics and too much light is absorbed. At first, I thought the fibers were to bad, but I tried short (1m) high quality cables and experienced the same problem. Even cleaning the connectors didn't make it better, I figured out that one of the outputs was stronger than the other, it barely worked, the other one didn't work at all. A piece of junk.</div>
<div class="separator" style="clear: both; text-align: left;">
You can buy active splitters, but the cheapest I found were around 50 euros, way too much money. I flirted with idea of building my own optical splitter, that would mean another box that needs power and an AC adapter though.</div>
<div class="separator" style="clear: both; text-align: left;">
A lot simpler is upgrading the sound card to two optical outputs! I had still some Toslink emitters around, and I didn't really need the optical input of the sound card, so why not switch an emitter for another sender? The modification is quite simple: Just desolder the receiver, hot glue the emitter at the same place upside down (you cannot use the same pins!) and wire it parallel to the existing emitter. Just an aditional 100 nF capacitor and an 8.2 k resistor is needed (according to the datasheet i found).</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic1lRcYylIvkGFjRWa1vzp-dxo3G8DP94rxAsvTDoTWRR2NBC9RFX0TkhdvEK7BRA28Iw9h7vqphBNKqU8BVGSR7E-q_81AWFzyfJhg6Yhk0zDNZkBfgn6OqI6ftuWjFW3NruVqVWlg2ay/s1600/sound+card+modification.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic1lRcYylIvkGFjRWa1vzp-dxo3G8DP94rxAsvTDoTWRR2NBC9RFX0TkhdvEK7BRA28Iw9h7vqphBNKqU8BVGSR7E-q_81AWFzyfJhg6Yhk0zDNZkBfgn6OqI6ftuWjFW3NruVqVWlg2ay/s320/sound+card+modification.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Quite simple, but effective. Working like a charm.</div>
<div class="separator" style="clear: both; text-align: right;">
- Marv</div>
Marvhttp://www.blogger.com/profile/16064404550035142449noreply@blogger.com0tag:blogger.com,1999:blog-2052378512204166016.post-84806562794780243082016-03-10T17:00:00.001+01:002019-08-15T21:17:16.934+02:00Adding S/PDIF to Analog Hardware - Adventures with Optical Audio, Part IIThis is part two of a multi-part series, <a href="http://emgoz.blogspot.de/2016/01/noisy-converters-adventures-with.html" target="_blank">click here to read part one</a>.<br>
The solution I presented last time was working pretty well for a few years. Someday, I upgraded my PC with a Radeon 7770 graphics card. Graphics were great, the sound horrible. - The sound? What does that have to do with a new graphics card, you might ask. Well, unfortunately, either due to noise on the power/signal lines on the main board or due to electromagnetic fields, each time the graphics card processes a frame, I heard a horrible ticking on my speakers. The rate and volume changed with the framerate and the complexity of the tasks. The noise however wasn't present on the digital outputs, only the 3.5 mm jack was affected. So why not upgrade the PC speakers to toslink?<br>
<br>
<br>
<a href="http://emgoz.blogspot.com/2016/03/adding-spdif-to-analog-hardware.html#more">Read more »</a>Marvhttp://www.blogger.com/profile/16064404550035142449noreply@blogger.com0tag:blogger.com,1999:blog-2052378512204166016.post-27709844635740304972016-01-25T11:57:00.001+01:002019-08-15T21:17:34.144+02:00Noisy Converters - Adventures with Optical Audio, Part II'm quite positive that everyone who once tried to transmit analog audio over a long distance encountered sound quality issues in some form. When I wanted to hook up a pair of speakers across the room to my computer, I went for a digital solution right away: TOSLINK. A simple standardized audio interface using a fiber optic cable. Its signals are identical to S/PDIF, an elektrical digital audio interface. Both TOSLINK and S/PDIF have gotten pretty common nowadays in all kinds of audio equipment such as TVs, CD players, HiFi systems and even PC sound cards. No interference, crystal clear sound, no path loss. Sounds great so far? (Pun intended)<br>
I bought a cheap sound card for my PC with optical output, a 10 m fiber cable and a digital to analog converter.<br>
<br>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj5kqkbSnDDyN_W7xRl9FhKf2Ee9e-VuieqBcSj7HVmOPCO6UPhrkZ6yWNv7xkMFKG9lA-whxT5g8g0zokj2P5vxcBkI1RjI1apsXBUDCcPafEto2bjPR75AcL_189pvuq_DJSgvpUGfdz/s1600/da+converter.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj5kqkbSnDDyN_W7xRl9FhKf2Ee9e-VuieqBcSj7HVmOPCO6UPhrkZ6yWNv7xkMFKG9lA-whxT5g8g0zokj2P5vxcBkI1RjI1apsXBUDCcPafEto2bjPR75AcL_189pvuq_DJSgvpUGfdz/s320/da+converter.png" width="320"></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br></div>
However, whenever the converter doesn't receive an optical input, such as when the sender is turned off, it started to output ugly noise. There wasn't really much you could do against it except shutting the converter off when my PC was off. So I made a little device with a monostable circuit triggered by the optical signal that switched to power for the converter on whenever there was an active input and shut it back of when the input was inactive.<br>
<br>
<a href="http://emgoz.blogspot.com/2016/01/noisy-converters-adventures-with.html#more">Read more »</a>Marvhttp://www.blogger.com/profile/16064404550035142449noreply@blogger.com0tag:blogger.com,1999:blog-2052378512204166016.post-2782037688149048102015-11-27T17:04:00.002+01:002019-08-15T21:17:50.603+02:00A quick HUB08 LED Matrix Library & Graphics LibraryI recently got an LED Matrix using the HUB08 protocol from ebay. Since none of the libraries I found on the internet worked for me, I wrote my one for the Arduino Uno, using hardware SPI. It also supports pwm brightness control and frame rates up to 2000 fps (32kHz line frequency, 16 lines). Yeah, that's fast, so the microcontoller can do other stuff in between (instead of really working with such ridiculous frame rates ;) ). The pins are hard coded into the library to achieve this speed. Please take a look at the example to understand how to connect the matrix and how to use it, it's pretty simple.<br />
Link to github: <a href="https://github.com/emgoz/HUB08SPI" target="_blank">https://github.com/emgoz/HUB08SPI</a><br />
<br />
I also want to share another library with you, the Buffer Graphics Library. It features many optimized drawing functions (points, lines, rectangles, circles, bitmaps) and buffer manipulation functions (scrolling, rotating, flipping, ...) and also works with the matrix library above quite nicely.<br />
Link to github:
<a href="https://github.com/emgoz/BufferGraphics" target="_blank">https://github.com/emgoz/BufferGraphics</a><br />
<div style="text-align: right;">
-Marv</div>
Marvhttp://www.blogger.com/profile/16064404550035142449noreply@blogger.com3tag:blogger.com,1999:blog-2052378512204166016.post-90136220673426920952015-06-04T15:03:00.002+02:002016-03-10T17:13:46.294+01:00Simple Programming Adpter for Arduino Pro MiniI ordered a bunch of these little Arduino Pro Mini Clones that just have anything to get started right away with your projects in need of a simple micro controller breakout. Sadly, they come with the standard Arduino bootloader which delays the programm start about 2 seconds everytime the board is powered up. So I wanted to update to optiboot, a great alternative to the original bootloader and also saves a few bytes flash. The standard way to do that is with an In-System-Programmer. The board hasn't got an ISP socket to reprogram it, so usually you just solder wires or pin headers to pins 11,12,13, RST, VCC and GND to hook it up to the programmer. However, I don't know what I want to do with most of the boards and it might be handy some time that there no bulky headers attached it. So I remembered those clip programming adapters and tried to built one with junk I had lying around: A peg, a piece of a zip tie, some regular PCB headers and hot glue. I had some doubts whether the contacts were good enough, but it worked surprisingly well!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5btXeyg3om5VRiwnqhGqgHxjvuEEuH6YyJAtuFZ-d7Hp2Wp233pSx2FmWaq1gtK1pA-BPdFzi92RzBEU2EXBNW3PLYOj8NT4_ug4yd0BGvVS-u96mB1daiAtps5Aa9Bof5ggK6S9GhpK_/s1600/with+mini.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5btXeyg3om5VRiwnqhGqgHxjvuEEuH6YyJAtuFZ-d7Hp2Wp233pSx2FmWaq1gtK1pA-BPdFzi92RzBEU2EXBNW3PLYOj8NT4_ug4yd0BGvVS-u96mB1daiAtps5Aa9Bof5ggK6S9GhpK_/s320/with+mini.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXBMqZeayE4_fs0MXXcEFkllAitoojKCEVulHQpoAf7YEb3afAMlfDr8cn1yStYW08HD7YRYIJ3F6CFEwL8-AZJtUHwQnZLyj1gV12McVEab5oQuYsU-1mhmwWz0eq_JK9ih1oatfFn6pU/s1600/front.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="305" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXBMqZeayE4_fs0MXXcEFkllAitoojKCEVulHQpoAf7YEb3afAMlfDr8cn1yStYW08HD7YRYIJ3F6CFEwL8-AZJtUHwQnZLyj1gV12McVEab5oQuYsU-1mhmwWz0eq_JK9ih1oatfFn6pU/s320/front.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzuq255JSFYn9qQ8s9Ul3l89X-EJAW9fsan4KHmAbj5vGrWu3c3lO9CWKRAox-utC1y2uMG-VWyvSET2Wa2Y-1LkQcuBqENSwo7CBZ-S8Bn7C1mzCs0nuArEBfOvLjkQdzuqVkmKDk_btd/s1600/closeup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzuq255JSFYn9qQ8s9Ul3l89X-EJAW9fsan4KHmAbj5vGrWu3c3lO9CWKRAox-utC1y2uMG-VWyvSET2Wa2Y-1LkQcuBqENSwo7CBZ-S8Bn7C1mzCs0nuArEBfOvLjkQdzuqVkmKDk_btd/s320/closeup.png" width="320" /></a></div>
<div style="text-align: right;">
- Marv</div>
Marvhttp://www.blogger.com/profile/16064404550035142449noreply@blogger.com0tag:blogger.com,1999:blog-2052378512204166016.post-71679310718898344892015-04-18T20:38:00.001+02:002019-08-15T21:18:02.907+02:00Quirks with YET-M1 and USB-PortsA few days ago, I ordered a YET-M1 Bluetooth Audio Adapter for just a few bucks on ebay. It has a 3.5 mm jack as audio output, you can simply hook it up to any active speaker and make it bluetooth enabled. It can so play the music from your phone wirelessly. It is powered over the USB-plug on the other end, so you just need to plug it in your phone charger.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi13-QDYHzmxdWZsre1awBDjIU9Mbh-XVhG4By-P04pdEa4YZ1CXn4OMCURNRXhOZTQJB5ovNJwqZQyQmntY7rR5wMBfb8ht1tYP14XCHFBz0P_OH5o_4b-njxgJZJj218y7_6K-2PlgoHT/s1600/whole.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi13-QDYHzmxdWZsre1awBDjIU9Mbh-XVhG4By-P04pdEa4YZ1CXn4OMCURNRXhOZTQJB5ovNJwqZQyQmntY7rR5wMBfb8ht1tYP14XCHFBz0P_OH5o_4b-njxgJZJj218y7_6K-2PlgoHT/s1600/whole.png" width="320" /></a></div>
<br />
Well, then I tried it out with an AV receiver, which even has a convenient USB port for flash drives already build in. However, the bluetooth adapter seemed like it didn't power up. The same happened with another hi-fi system's USB port. However, when powered with a phone charger or by directly applying 5V to the GND and +5V lines of the USB plug, it worked. My first guess was, that those USB ports don't output enough power for the adapter. This was easily disproved by being able to charge my phone over this port. I measured the voltage on the two power lines: 5V. So this should be alright.<br />
Apparently it had something to do with the data lines. I opened the adapter to have a look at those and indeed, they where connected to the bluetooth chip. Maybe for configuration/programming in the factory. It seemed like this is is what pees on the parade. The AV receiver tries to communicate with the adapter and thereby freezes it.<br />
Unsoldering the plug and bending over the data lines to disconnect them is what fixes the problem.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKZQg72AmVo4oRJVbFhQIfqY7ayRhT4gUGT_vH7C8QlfgK_QzL2CbzcnviBMGsxSRDnA8XdTExL7D6D4RRNRJTPfjxEJ0mTx2AFgyKUpxv9bBFrqLNiAtiNl46dB8BYrQjTp6JbYJLfU7m/s1600/usb+close.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="211" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKZQg72AmVo4oRJVbFhQIfqY7ayRhT4gUGT_vH7C8QlfgK_QzL2CbzcnviBMGsxSRDnA8XdTExL7D6D4RRNRJTPfjxEJ0mTx2AFgyKUpxv9bBFrqLNiAtiNl46dB8BYrQjTp6JbYJLfU7m/s1600/usb+close.png" width="320" /></a></div>
<s> Is that really what the manufacturer expects us to do? </s><br />
<br />
<div style="text-align: right;">
- Marv</div>
Marvhttp://www.blogger.com/profile/16064404550035142449noreply@blogger.com4tag:blogger.com,1999:blog-2052378512204166016.post-66944338679844736622015-04-02T15:51:00.001+02:002019-08-15T21:18:16.425+02:00Yet Another WS2812 libraryI'm currently working with the WS2812 LEDs. They are awesome because they're so simple to hook up and interface with.<br />
Probably the most popular Arduino library for programming these LEDs is <a href="http://fastled.io/">FastLED</a>. It features a ton of useful functions and super optimized routines. And you cannot only use LEDs with the WS2811 controller, also SPI based controllers. However, I failed getting it to work with a 8 MHz AVR.
It seemed like the timing was way off.
<br />
<br />
Edit: It is the ATmega 1284P that will cause problems with FastLED. Apparently the bit-banging-routines are only working on 328, 32u4 and 2560. This is due to the larger memory the 1284P can access, which needs 3 address bytes instead of 2 with the 328. Therefore, jump-instructions take one tick longer. At 8 MHz that is 0,125 µs which is 10% of the period of one bit at 800 kHz (the clock frequency of the WS2812). That's why the actual clock frequency of the AVR needs to be 10% higher than defined in the F_CPU macro. According to <a href="https://github.com/FastLED/FastLED/issues/121" target="_blank">this</a>, the developers of FastLED are aware of this issue, but are not going to fix it.<br />
<br />
Over at the Arduino forums, someone recommended using a light weight WS2812 library instead. I tried <a href="https://github.com/cpldcpu/light_ws2812">this one</a> and it worked like a charm. Unfortunately, it is so "light" that it doesn't even support a global brightness parameter. Also, the way the HSV to RGB conversion is a bit user-unfriendly by using an indirection with another RGB-struct.<br />
<br />
So I changed the whole library by Tim aka cpldcpu, Matthias Riegler, Windell H. Oskay and Freezy a bit up. I added direct RGB and HSV access to each pixel, the optimized HSV to RGB function from FastLED and a global brightness method, which is defeatable by commenting out a single line (to make it lighter for ATtiny). It isn't beautiful, but it works and some of you might be interested in it, so I shared it.<br />
<a href="https://github.com/emgoz/WS2812">https://github.com/emgoz/WS2812</a><br />
<div style="text-align: right;">
- Marv</div>
Marvhttp://www.blogger.com/profile/16064404550035142449noreply@blogger.com0tag:blogger.com,1999:blog-2052378512204166016.post-71071336574183519232015-03-26T15:23:00.002+01:002019-08-15T21:18:10.150+02:00Enlarge I²C Device Count with Chip Selects?This is only a quick write up on my idea, and I haven't got the time to include a few illustrations / schematics to state my point. If it is too long for you to read, only focus on the last paragraph which describes the solution.<br>
<br>
<h3>
<b>Introduction</b></h3>
I²C is great, probably the simplest way to hook up peripherals to a microcontroller. You only need two connect two wires to the device you want to interface with - clock and data. These two wires are shared between all the I²C devices. To select a specific device to talk to, the 7 bit address is sent to all the devices on bus, those compare this address to their own and only the one with the same address becomes active. This way, it is possible to interface with up to 112 (2^7 minus 16 reserved addresses) I²C devices on one bus. Sounds like that's a lot, but what when you cannot use them all?<br>
While working on a new project, I stumbled upon a problem: I want to have a lot of the same I²C device on one bus. Well, usually the manufacturer of the peripheral ensures the possibility to select the address - or a part of the address - by offering one or more address select pins. There are a lot of different approaches on how to select the address:<br>
<div>
<ul>
<li>Tie the pin to GND or VCC (-> one address Pin doubles the amount of possible devices)</li>
<li>Leave the pin open or use one of the above (-> one address Pin triples the amount of possible devices) </li>
<li>Tie the pin SDA, SCL, GND or VCC (-> one address Pin quadruples the amount of possible devices) </li>
<li>Tie the pin with a specific resistor to Ground (-> usually up to 4 or 5 possibilities)</li>
</ul>
In most cases, this is absolutely sufficient. However, I wanted to connect 5 MPR121 for a lot of capacitive sensors and this chip offers only one address select pin (using the third approach I described above) for up to 4 different addresses. I am sure that other people encountered a similar problem so I did some research. These are some of the options I found:<br>
<br>
</div><a href="http://emgoz.blogspot.com/2015/03/i2c-plus-chip-select.html#more">Read more »</a>Marvhttp://www.blogger.com/profile/16064404550035142449noreply@blogger.com2tag:blogger.com,1999:blog-2052378512204166016.post-48716160917909734942014-12-27T18:46:00.000+01:002019-08-15T21:12:40.654+02:00CatDetect - a touchless and remote door bell<h3>
The Story behind this project</h3>
My parents have three cats and they are allowed to roam outside in the backyard and the gardens in the neighbourhood during the day. But in the evening when it dawns we like to have them inside where it's warm and safe. Especially in winter it's important that they're in before it gets too cold. However, one cannot watch the door the whole day and look whether they want in or not; and a cat flap would allow them to bring all kinds of mice and other pests inside. That's the story how it came to this little project.<br>
<div>
<br>
</div><a href="http://emgoz.blogspot.com/2014/12/catdetect-touchless-and-remote-door-bell.html#more">Read more »</a>Marvhttp://www.blogger.com/profile/16064404550035142449noreply@blogger.com0tag:blogger.com,1999:blog-2052378512204166016.post-46729059372469050942014-07-19T17:47:00.001+02:002019-08-15T21:12:15.723+02:00A chart recorder printing textChart recorders were pretty neat devices to graph time curves of analog values, such as temperature changes. My dad had still a pair of MFE 4144 thermal line recorders in his cabinet of replacement parts. However, the device using those modules is discontinued for now about two decades and he asked me whether I could make use of them.<br>
Luckily, my dad found the schematics and the pin mapping of the recorder, so attaching it to a microcontroller was pretty easy. The supply voltage is 12 V; I power it from a bench power supply. It takes 5 parallel TTL signals as a forward speed selection (a microcontroller drives a stepper motor), and a +/-2 V analog signal for the 'pen' position. The 'pen' is actually a needle that is being heated by a resistor. The thermopaper stains in a nice blue color when having contact to that hot metal.<br>
<br>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCgR_B3B4PUWoq-IpP15YsjP6fegpgsTHuQysGyVDe4oT7xkj4yOyFA3lEaiDaj_IBuQUs8u7JFARodyfCh_ObZLb9SerHO5JhU3wns7A4hpVJwG7TNOv-sWL51wILJK868poNODBsjMfZ/s1600/line+recorder.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="282" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCgR_B3B4PUWoq-IpP15YsjP6fegpgsTHuQysGyVDe4oT7xkj4yOyFA3lEaiDaj_IBuQUs8u7JFARodyfCh_ObZLb9SerHO5JhU3wns7A4hpVJwG7TNOv-sWL51wILJK868poNODBsjMfZ/s1600/line+recorder.jpg" width="320"></a></div>
<br>
<a href="http://emgoz.blogspot.com/2014/07/a-chart-recorder-printing-text.html#more">Read more »</a>Marvhttp://www.blogger.com/profile/16064404550035142449noreply@blogger.com0tag:blogger.com,1999:blog-2052378512204166016.post-21870810862038244292014-07-19T00:51:00.001+02:002016-04-20T20:04:37.732+02:00Hello WorldHi folks,<br />
<br />
I'm Marvin - Marv for short - and I'm an 18 year old student of electrical engineering and computer science (2014). I created this blog in order to share my work and ideas with the world. I won't get to specific on what I'm going to post, it can be anything from artistic work, music and videos to programming, electronics and hardware hacking - and maybe even something completely different. I just don't know yet. ;)<br />
<br />
Enjoy :)<br />
<div style="text-align: right;">
- Marv</div>
Marvhttp://www.blogger.com/profile/16064404550035142449noreply@blogger.com0