Sometimes in microcontroller projects we would like to have sound output. This is handy when you can’t look at screen, but still need to get status messages or other info. For such tasks you can use voice synthesizer chips that are able to read text with one of robotic voices. But if your needs aren’t that high, you can go with simple wave player. Skinny Satan have shared his experiments with speech synthesis using Atmega128 microcontroller. He doesn’t do any fancy algorithms here, but rather plays low quality wave chunks to make a message.
He converts sound files in to 8-bit and 8kHz data blocks that can be stored inside MCU. Then he uses PWM output along with RC low pass filter to get voice on speaker. There can be several words stored in array where algorithm can select which ones to combine to get a sentence. You are only limited by MCU flash memory which in fact is pretty OK for simple applications.
You may think, why you would build your own engine control unit (ECU) if original ones are optimized and does job pretty well. First of all this becomes obvious when you decide to upgrade old car engine with newer model. The whole wiring, adapting motor with different ECU takes long time because it also controls other areas of vehicle like speedometer and other indicators. To make it all work in other vehicle it can be really difficult and time consuming. This is why in this case an engine oriented ECU sounds attractive.
dmn is working on Arduino mega based diesel ECU which takes care of engine control including sensor reads, throttle control, pumps, turbo. It accepts standard existing sensors. It features many functions you can find in modern controllers like fault code memory, fuel, boost, torque limiter pump advance, cold start and idle maps. Current firmware already works with real motor mounted on VW bus. Despite current status there are future improvement plans like PID based Idle stabilization, EGT sensor support, Fuel trim maps and other. Source is available for those who want to play and improve project.
When you want to do electronic music editing and still have ability to play it in using real instruments – MIDi interface is great choice. Not all instruments have MIDi interface, so instead of looking for commercial solution, why not to try build one by yourself. Spic0m have put together a small PIC16C84 based circuit that picks drum signals and transmits them over MIDI.
Input is made very simple – piezo transducers on port pins RB0 through RB7. Software simply transmits equivalent note to get required drum sound. Due to its simplicity there are few limitations like fixed channels, fixed volume and of course the need sound module which would synthesize drum sounds. Either way a PC software can deal with all those problems. If you need different parameters, you can make changes to firmware.
ST decided to enter the Arduino and mbed ecosystem with their new STM32 Nucleo boards. I think this is good decision if you want to get more activity with your products. Before we had to figure things out with their discovery boards. Now we have more options to develop ARM applications. First of all Nucleo boards have Arduino like shape that allows plugging most of Arduino shields and instantly have long list of expandability. Another feature is so called “mbed-enabled”. This means that you have option to develop programs using this great open source software platform and online tools.
Nucleo boards come with all I/Os available next yo Arduino headers. Also you have integrates ST-Link debugger programmer. So you can program, debug without additional tools. If you like you can use it as great prototyping board and use your old skills with regular tools like GCC. Nucleo boards come in several flavors that feature different microcontrollers like F30R8, F103RB, F401RE and L152RE. More boards are to come. Prices start from $10.32 per unit.