All Projects → fgenesis → hwmf

fgenesis / hwmf

Licence: other
Demo for Arduino Mega (ATmega2560) and an LCD. Got 2nd place at Revision 2020 wild compo.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to hwmf

Marlin
Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. | Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
Stars: ✭ 12,217 (+64200%)
Mutual labels:  avr, atmel
Original-CR10-Marlin-Firmware-Source
This is the ORIGINAL Creality CR10 Firmware Source as Creality installs it.
Stars: ✭ 16 (-15.79%)
Mutual labels:  avr, atmel
DigiOS
Mini OS emulator for Digispark (an Attiny85 based microcontroller).
Stars: ✭ 46 (+142.11%)
Mutual labels:  avr, atmel
Awesome Cpus
All CPU and MCU documentation in one place
Stars: ✭ 1,602 (+8331.58%)
Mutual labels:  avr
Tinypc
A miniature gaming PC / laptop
Stars: ✭ 160 (+742.11%)
Mutual labels:  avr
Logic Analyzer
Logic Analyzer, for Arduino, AVR, ESP8266 and STM32 with a very nice working processing interface, you could run it also on any Android device.
Stars: ✭ 203 (+968.42%)
Mutual labels:  avr
IntrOS
Free cooperative operating system (OS) for microcontrollers
Stars: ✭ 38 (+100%)
Mutual labels:  avr
Qpn
QP-nano real-time embedded framework/RTOS for embedded systems based on active objects (actors) and hierarchical state machines
Stars: ✭ 107 (+463.16%)
Mutual labels:  avr
Helios
The free embedded operating system.
Stars: ✭ 223 (+1073.68%)
Mutual labels:  avr
I2c Moisture Sensor
I2C based soil moisture sensor
Stars: ✭ 194 (+921.05%)
Mutual labels:  avr
Arduino boards
Board definitions for SparkFun-manufactured AVR, ARM, and ESP-based Arduino boards.
Stars: ✭ 189 (+894.74%)
Mutual labels:  avr
Megacore
Arduino hardware package for ATmega64, ATmega128, ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90CAN32, AT90CAN64 and AT90CAN128
Stars: ✭ 206 (+984.21%)
Mutual labels:  avr
Llvm
[MERGED UPSTREAM] AVR backend for the LLVM compiler library
Stars: ✭ 222 (+1068.42%)
Mutual labels:  avr
Atmega Soldering Station
T12 Quick Heating Soldering Station
Stars: ✭ 183 (+863.16%)
Mutual labels:  avr
Liblightmodbus
A cross-platform, lightweight Modbus RTU library
Stars: ✭ 121 (+536.84%)
Mutual labels:  avr
Piconomix Fwlib
open source bare-metal C firmware and documentation for microcontrollers
Stars: ✭ 226 (+1089.47%)
Mutual labels:  avr
Snopf
snopf USB password token
Stars: ✭ 113 (+494.74%)
Mutual labels:  avr
Xpcc
DEPRECATED, use our successor library https://modm.io instead
Stars: ✭ 177 (+831.58%)
Mutual labels:  avr
Blog
A set of various projects based on ESP8266, ESP32, ATtiny13, ATtiny85, ATtiny2313, ATmega8, ATmega328, ATmega32, STM32 and more.
Stars: ✭ 198 (+942.11%)
Mutual labels:  avr
shady
A GTK+ shader editor, that aims for Shadertoy.com compatibility (and more…)
Stars: ✭ 22 (+15.79%)
Mutual labels:  demoscene


(Click for youtube)

PARTY VERSION!

Credits where credits are due:

The following 3rd party resources were used:

How to compile the thing

The easiest way is to get Arduino IDE. See https://www.arduino.cc/en/Main/Software

Load democode.ino in the Arduino IDE, compile it, flash it, done. Possibly read the comments in democode.ino in case the compiler is too old or does not like the code and refuses to compile it.

Settings:

Board: "Arduino/Genuino Mega or Mega 2560" Processor: ATmega2560 (5V 16 MHz if that's a choice)

Note that the code in the source archive is the party version; it's horrible and hacky and fixed to work just before the deadline, and it's likely i'll clean it up a bit later.

See https://github.com/fgenesis/hwmf for up-to-date code.

Getting audio out

Audio is output to OCR0A (Pin #13) and OCR0B (Pin #4). This demo has mono audio so either one works. Stereo is a future possibility so in case you're building an add-on board you might plan ahead for that.

Connect it like this:

Pin 4  o-----||-----> left audio channel
Pin 13 o-----||-----> right audio channel
Any GND pin directly to the audio GND.

As insulating capacitors ||, 1.0 µF works fine. Something close to that probably too. Don't connect the pins directly to the audio, they are at 0-5V level (instead of approx. -1..+1V that analog audio usually has) and the receiving device might be unhappy about that (magic smoke worst case). The caps make this a lot safer, and it also sounds much better as they center the signal around GND.

The on-board LED is also connected to Pin #13 so if you see it pulse a little after a few seconds after reset, that's an indication it's playing audio correctly.

Changing the display controller

The binaries in this release archive are compiled for the ILI9481 display controller. There is (untested) support for ILI9486 and HX8357C as well, so if you have those, go to democode/src/demolib/cfg-demo.h, look for this:

typedef fglcd::preset::ILI9481_Mega_Shield LCD;

and change it to

typedef fglcd::preset::ILI9486_Mega_Shield LCD;

-or-

typedef fglcd::preset::HX8357C_Mega_Shield LCD;

In case your display controller is 480x320 but none of the above, feel free to contact me and I might add support for your controller. Alternatively create a new type describing the controller and add the init code required to start up the display. In case you do this, please send me a pull request so the display library can support more controllers!

Those MIPI displays are pretty compatible so it should work just fine after it's set up properly with the correct initcode.

-- fgenesis, for Revision 2020

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].