Tag Archives: Mcu

2 Digit Kitchen Timer 00-99 Seconds or 00-99 Minutes

The projects shown here is a 2 Digit 00-99 Seconds or 00-99 Minutes Countdown kitchen timer based on PIC16F1825 micro-controller. The timer is useful in various applications like Cooking, Sports, Industrial, Sleeping. On board switches provided to set the time and start, a jumper to select the mode 99 Seconds or 99 Minutes. TTL output directly drives the Buzzer.

Features

  • Supply 5V DC
  • Timer 0-99 Seconds Or 0-99 Minutes
  • On Board Power LED
  • On Board Output LED
  • Jumper J1 Mode Selection Open Seconds, Closed Minutes
  • 2 Digit 0.5Inch 7 Segment Display
  • Tact Switch for Time Set & Start
  • Output 5V TTL Direct Drive Buzzer

2 Digit Kitchen Timer 00-99 Seconds or 00-99 Minutes – [Link]

A Mass Programming Bench for ATMega32u4 MCUs

“limpkin” @ limpkin.fr wanted to program some thousand of MCUs so he decided to build his own programming bench. He writes:

As you may know I started the Mooltipass offline password keeper project more than 2 years ago. Together with a team of volunteers from all over the globe I created two Mooltipass devices which were successfully crowdfunded through Indiegogo and Kickstarter, raising a total of around $290k.
Through a secure mechanism it is possible to upgrade the firmware running on the Mooltipass units. On our latest device, the Mooltipass Mini, we implemented signed firmware updates, which involved storing inside the microcontrollers’ memory some cryptographic keys.

A Mass Programming Bench for ATMega32u4 MCUs – [Link]

PIC SD CARD DATA LOGGER

Some time ago I decoded to make a simple general purpose Data Logger with the following parameters for the project.

  • it should have very simple design that should be doable by most amateurs
  • the Data Logger should write the data in a SD memory card in simple text files
  • minimum 2 ADC channels
  • simple to use and simple settings
  • energy efficient
  • low cost

PIC SD CARD DATA LOGGER – [Link]

Turn Arduino into an AVR TPI Programmer

Elliot Williams @ hackaday.com show us how to use your Arduino to program AVR TPI enabled microcontrollers.

Turning an Arduino of virtually any sort into a simple AVR 6-pin ISP programmer is old hat. But when Atmel came out with a series of really tiny AVR chips, the ATtiny10 and friends with only six pins total, they needed a new programming standard. Enter TPI (tiny programming interface), and exit all of your previously useful DIY AVR programmers.

Turn Arduino into an AVR TPI Programmer – [Link]

Emulate an Apple ][ on an AVR Microcontroller

The Apple II personal computer, which stylized as Apple ][, is an 8-bit home computer and one of the first highly successful mass-produced microcomputer products. It was designed primarily by Steve Wozniak and developed with Steve Jobs. Apple ][ was introduced in 1977 at the West Coast Computer Faire by Jobs and was sold several million times till 1993.

Maximilian Strauch is a computer scientist, software developer, web designer and maker from Germany. In 2014 he wrote about implementing a software emulator for the complete Apple ][ computer system on a single Atmel AVR microcontroller unit (MCU) in his Bachelor thesis.

The microcontroller not only emulates the MOS 6502 processor, it also performs other tasks such as output display and input keyboard. A challenging task is to get the 20 MHz AVR controller run as the 1 MHz processor.

The final result of the thesis is a fully functional, battery powered and portable Apple ][ emulator.

This video shows the final prototype in action and demonstrates most of it’s features.

The layer diagram of the Apple ][ emulator consist of about 10 layers shown in the next figure.

  • Emulator Runtime Environment (ERE): Contains the source code which makes up the main (backend) GUI of the emulator in particular, the menus.
  • UI Framework / Display I/O: Some low level functions to control the LCD display (SSD 1289 controller) and functions to paint menus and backgrounds.
  • Keyboard I/O: Accepts key presses from the separate keyboard controller and provides some high-level functions to convert Apple ][ keystrokes into regular ASCII keycodes and some wait-for-keypress functions.
  • State I/O: The emulator supports saving the current state of the entire emulation including RAM and the processor registers. Therefore the execution can be saved and reloaded later to continue at the exact same execution state.
  • TWI / EEPROM: Provides physical layer support to talk to an EEPROM, e.g. two functions which utilize the AVR’s hardware support for I2C to talk to the 128KB I2C serial EEPROM from Microchip.
  • DSK I/O: Contains all high-level functions to read Apple ][ floppy disk images (5 1/2 inch floppy disks, normally 140 KB in total) and list that contained programs to load them into memory.
  • SD Library (3rd party): The emulator uses the Petit FAT File System Module by Elm Chan since it works out of the box. A further improvement could be to store states to the SD card.
  • 6502 CPU Emulation: Advanced emulation of the MOS 6502 processor without support for illegal instructions (not originally defined) and the BCD mode.
Layer diagram of the Apple ][ emulator: every horizontal connection of two boxes symbolizes a use relation.

Max has published detailed information about the thesis here. All of the project resources are available online, so you can download the full thesis, the keynote, and the schematic.

1K LCD Tinyfont

A tiny pixel font rendered to an LCD display, in under 1K program space. by Zach:

For the Hackaday 1k challenge, I’m attempting to pack a small pixel-based font and rendering to LCD in under 1K.

The project has already been developed in C, but the file size was much larger. This is rewrite in assembly.

Developed on an Atmega328p using a display from a Nokia 5110 on a Sparkfun dev board.

1K LCD Tinyfont – [Link]

Weather Widget using ESP8266

deba168‘s new instructable is a weather widget: “an application that can be downloaded on your PC, laptop or a mobile device and perform the job of providing easy access to weather information”

It’s an ESP8266 based weather display unit which retrieves localized weather information from http://www.wunderground.com by WLAN and displays it on a 128×64 OLED display. It displays the current time with date, some weather information like temperature, pressure, humidity and rainfall, and finally the forecasting for the next 3 days.

Check this demo video:

In order to build this project you need the following parts:

  1. ESP8266 -01 (eBay )
  2. Optional NodeMCU ESP8266-12 ( eBay )
  3. OLED Display (eBay )
  4. Voltage Regulator AMS1117 ( eBay )
  5. Tactile Switch (eBay )
  6. Slide Switch ( eBay )
  7. Resistors ( 10K and 330R )
  8. Female Double Row Straight Pin Header ( eBay )
  9. Male Double Row Right Angle Pin Header ( eBay )
  10. Jumper Wires ( eBay )
  11. Prototype Board ( eBay )

You can build the circuit as per the design below on a  prototype board or a PCB:

 

For programming you have to use these files:

Arduino Code: ESP8266 Weather Station

Libraries : Json Streaming Parser, ESP8266 Oled Driver for SSD1306 display

The project’s maker advises you to follow his steps in the code inside this zip file to avoid any problems in compiling.

For obtaining data from the Weather Underground , you need to get an API key through signing up in the website and purchasing one. Once you clarify that you won’t use it for commercial use, you won’t be asked for any pay methods.

To make sure that the code will work correctly, you have to change the following things.

  1. Enter the Wunderground API Key
  2. Enter your Wifi credentials
  3. Adjust the location according to Wunderground API
  4. Adjust UTC offset

The final step will be programming the ESP8266 module using FTDI programmer.

Check this video for more information and to see the project in action:

 

You can check the instructable page for more information and detailed tutorial.

8 PIN PIC Development Board – PIC12F683

8-pin-pic-development-board-c085c-500x500

8 PIN SMD PIC development board is a full-featured development board and platform for 8-bit PIC® microcontrollers. This project is a versatile development solution, featuring several options for external sensors, off-board communication and human interface. Additionally, it offers ample room for expansion, making it an excellent solution for developers and engineers looking for a PIC development board. The 8 Pin SO8-SMD PIC Development / Evaluations Board demonstrates the capabilities of Microchip’s 8-bit microcontrollers, specifically, It can be used as a standalone demonstration board with a programmed part. With this board you can develop and prototype with all Microchip’s 8 PIN PIC microcontrollers which doesn’t required crystals (External Oscillator). On board connector for ICSP allows an easy programming. The board has configurable pull ups on all pins can be soldered or abandon as per requirement, All pins has solder Jumpers for pull down.  Onboard 5V regulator, two tact switch, one output connector to interface with 12V Relay board or solid state AC or DC Relay. Board has small prototype area. We have considered PIC12F683 IC for this Board.

8 PIN PIC Development Board – PIC12F683 – [Link]

Atmel ATtiny417/814/816/817 Include Core Independent Peripherals (CIPs)

Atmel tinyAVR microcontrollers are optimized for applications that require performance, power efficiency and ease of use in a small package. All tinyAVR devices are based on the same architecture with other AVR devices. The integrated ADC, DAC, EEPROM memory and brown-out detector let you build applications without adding external components. The tinyAVR also offers Flash Memory for fast, secure and cost-effective in-circuit upgrades that significantly cuts your time to market.

The latest tinyAVR devices (ATtiny417/814/816/817) by Atmel combine AVR core with CIPs (Core Independent Peripherals). PIC microcontrollers with Core Independent Peripherals (CIPs) already raised the performance of 8-Bit-MCUs to a new level. Since the acquisition of Atmel by Microchip, this is the first time the company leverages features from both MCU families.

So, now the question is:

What Is CIP?

In fact, the term CIP or Core Independent Peripherals is pretty much self-explanatory. Microchip’s description of CIP is:

CIPs allow the peripherals to operate independently of the core, including serial communication and analog peripherals. Together with the Event System, that allows peripherals to communicate without using the CPU, applications can be optimized at a system level. This lowers power consumption and increases throughput and system reliability.

Core Independent Peripherals or CIPs are designed to handle their tasks with no code or supervision from the CPU to maintain their operations. As a result, they simplify the implementation of complex logic control systems and give designers the flexibility to innovate.

ATtiny417/814/816/817 with Core Independent Peripherals block diagram
ATtiny417/814/816/817 with Core Independent Peripherals block diagram

ATtiny Models With CIPs:

  • 8-bit Atmel AVR microcontroller with 4KB Flash, 256 bytes SRAM, 128 bytes EEPROM, 20MHz/20 MIPS, two 16-bit timer/counters, one 12-bit timer/counter, RTC, USART, SPI, Two-wire Interface (I2C), 10-bit ADC, 8-bit DAC, analog comparator, accurate internal oscillators and multiple calibrated voltage references, Custom Logic, 10-bytes unique ID, and 24 pins.
  • ATtiny814 :
  • 8-bit Atmel AVR microcontroller with 8KB Flash, 512 bytes SRAM, 128 bytes EEPROM, 20MHz/20 MIPS, two 16-bit timer/counters, one 12-bit timer/counter, RTC, USART, SPI, Two-wire Interface (I2C), 10-bit ADC, 8-bit DAC, analog comparator, accurate internal oscillators and multiple calibrated voltage references, Peripheral Touch Controller (PTC), Custom Logic, 10-bytes unique ID, and 14 pins.
  • ATtiny816 :
  • 8-bit Atmel AVR microcontroller with 8KB Flash, 512 bytes SRAM, 128 bytes EEPROM, 20MHz/20 MIPS, two 16-bit timer/counters, one 12-bit timer/counter, RTC, USART, SPI, Two-wire Interface (I2C), 10-bit ADC, 8-bit DAC, analog comparator, accurate internal oscillators and multiple calibrated voltage references, Peripheral Touch Controller (PTC), Custom Logic, 10-bytes unique ID, and 20 pins.
  • ATtiny817 :
  • 8-bit Atmel AVR microcontroller with 8KB Flash, 512 bytes SRAM, 128 bytes EEPROM, 20MHz/20 MIPS, two 16-bit timer/counters, one 12-bit timer/counter, RTC, USART, SPI, Two-wire Interface (I2C), 10-bit ADC, 8-bit DAC, analog comparator, accurate internal oscillators and multiple calibrated voltage references, Peripheral Touch Controller (PTC), Custom Logic, 10-bytes unique ID, and 24 pins.
ATtiny417/814/816/817 With Core Independent Peripheral flash size and Pin count
ATtiny417/814/816/817 With Core Independent Peripheral flash size and Pin count

The new 8-bit tinyAVR MCUs are available in QFN and SOIC packages with pricing starting at $0.43 for 10K units. Visit Atmel tinyAVR product page for full technical details about the new MCUs.

AT89SXX Development Board

at89sxx-development-board-img2

Our AT89Sxx Development Board provides a very simple and cost effective prototyping platform.  The compact design provides connection to all the pins of the microcontroller for the user.

Features

  • Prototyping solution available for 40-pin AT89xx series microcontroller from ATMEL
  • All the four ports available to the user via standard 10 pin box header with supply of 5 VDC for interfacing circuits
  • ISP (In circuit Serial Programming) connector available for chips with ISP support
  • 11.0592 MHz crystal on board
  • Pull-up resistor network for Port 0 of the microcontroller
  • UART level shifter MAX232 IC, on board for easy connection of the board to the RS232 devices
  • Jumper selectable connection available for connecting the UART level Shifter to the port pins
  • On board voltage regulator available for sourcing regulated 5V @ up to 1A voltage to the board and connecting circuit
  • Power-On LED indicator
  • AUX Power source of 5 VDC available on a PBT connector for sourcing DC supply to interfacing circuits
  • Four mounting holes of 3.2 mm each
  • PCB dimensions 74 mm x 97 mm

AT89SXX Development Board – [Link]