Chinese Altera Max II Development Boards and Hello World

I purchased several Altera Max II dev boards to further my education of FPGA/CPLD. I got these from Ebay. The first is an EPM240:


and an EPM570:


The seller I used was

I paid roughly $15 each + $4 shipping.

Of course, there is no documentation in any shape or form though I did find the manufacturers pages for these devices (just some basic specs):

After looking at the EPM570, it has nothing onboard except for a power LED. So I started experimenting with the EPM240 instead.

The EPM240 has an onboard 50MHz clock and a LED so you can perform the most basic of tests without having to connect anything.

The mfg says the input power supply must be 5V. I looked at the chip and it has an AMS1117 3.3v regulator on it. It should handle more. So I started it at 5V and monitored the output pin and was able to go to 9V just fine. This means I can power it from a normal 9V battery for testing just fine. I found a 6V D cell battery case with the appropriate barrel jack in a box of junk so that is how I power it for testing.

Since there is no documentation I had to carefully follow the PCB traces from the clock and LED to figure out where they connect on the chip. The onboard LED connects to PIN 77. The 50MHz clock connects to pin 12 (global clock 0) which makes sense.

Once I had the preliminaries done, I sat down to write (with help) a hello world program which simply flashes the LED:

library IEEE;
use IEEE.std_logic_1164.all;

entity maxiiHelloWorld is
    port (
        clk     : in std_logic;         
        nreset  : in std_logic;         
       led1    : out std_logic          
end entity maxiiHelloWorld;

architecture RTL of maxiiHelloWorld is
signal led1_i : std_logic;              


    led_flash_proc : process(clk, nreset)
    constant RATIO : integer := 10000000;         
    variable count : integer range 0 to RATIO-1;  
        if nreset='0' then              
            led1_i <= '0';                
            count := 0;
        elsif rising_edge(clk) then
            if count=RATIO-1 then           
                count := 0;                 
                led1_i <= not led1_i;           
                count := count + 1;
            end if;
        end if;
    end process;
    led1 <= led1_i;                 

end RTL;

It worked like a charm.

I need to study modelSim and then I’ll be ready to try my own little project. Baby steps…

This entry was posted in c-fpga and tagged , . Bookmark the permalink.

15 Responses to Chinese Altera Max II Development Boards and Hello World

  1. wornwinter says:

    Would you recommend the Chinese boards? I’m looking for something with more RAM than my current board (Basys2) and I don’t want to spend a fortune.

    On the other hand I don’t want to get something that breaks after a week either lol.

    • Dan TheMan says:

      I’ve been using the EMP240 for several weeks w/o problem. It’s been fine and way le$$ than the full featured dev boards.

      I’ve not used the EMP570 yet except to give it power and the power LED didn’t seem to be working properly. It doesn’t have a built-in clock nor test LED so at the moment the EMP240 make more sense. Shortly I’ll have a design that will be able to actually test the EMP570.

      I definitely have no reservations purchasing the EMP240!

      • wornwinter says:

        Might have to pick one up. Noticed that it doesn’t have any external RAM, but I suppose I could just wire in some DIP SRAM on a breadboard.

        Definitely a cheaper option than getting something by Digilent. Admittedly a bit more of a “some assembly required” approach, but for the price you couldn’t beat it.

  2. Chase says:

    here is a link to the proper power connector …

    Could you please tell me if this code is verilog ,VHDL or AHDL ? I am very new with these chips and have no idea where to apply this code ! Thanks !

  3. Chase says:

    i have the same kit and i am having trouble getting the LED to glow brightly (upon erase it will not blink but it glows dim). I am getting a verilog error with your code. It reads “Verilog HDL error syntax error at verilog.v(1) near text “;” expecting “.” , or an identifier” .

    When i click on the error all it does is highlight the library IEEE;

    btw thanks for the link i am doing a dual boot setup (my blaster clone keeps locking up with a
    “IRQL not less than or equal” in windows 10 but seems to (seems , it really does !) to work in redhat linux, however i have no internet under redhat linux. The programmer can erase , verify, blank check, examine (although on some of these it gives me that BSOD error) but it locks up on every time i try to program except for in linux. everything seems to run right pefectly in linux but if i could get that LED to light up that would prove that it works.

    • Dan TheMan says:

      It’s been too long since I’ve played with this stuff to be of much help. Nothing sticks in my brain very long these days. It’s odd you are getting a syntax error. I’m sure I took my example from working code – it worked when I tried it. I’m assuming you are using Altera’s software for CPLD development.

      Someone else complained of an example not working and some how their browser was butchering the format I used in wordpress. From what you’ve told me, this doesn’t sound like the case, but you might look at the code in Firefox to see if it is the same (that is what I use and I know it is correct there).

      I definitely can’t comment on possible Win10 issues. I’m probably another year out before using it to any real extent. I like to be on the trailing edge of upgrades, especially where Microsoft is concerned.

  4. Chase says:

    I have the same epm240 kit that you have from lc technology, i have noticed that ALOT of the pins are outputting 3.3volts including the LED pin 77. I did a block schematic from another site where the VCC connect to ALT_BUFFER_OUT and then to a pin. I could not get the LED to glow brightly at first so i made a whole ton of pins that were not connected to anything power on to 3.3 volts. (now i am thinking it just looked brighter because it was blinking when i first plugged it in ) but it is outputting 3.3volts. Do you ever have the problem of a port getting stuck open even after reprogramming. i know this happens sometimes when using microchip pic microcontrollers. anyways thanks for the help ! Do you think the LED would glow brighter if i set the current to higher then 16mA (the default) .

    Yes I am using Altera’s software, i see one bug in your code that is not quite right.
    led1 : out std_logic
    is missing a semicolon, i fixed that and im still getting the same error.

  5. Chase says:

    setting the pin to LVLTTL – default 3.3v and MAX current instead of 16mA solves the problem of the dim glowing led, after i reprogrammed with max current enabled it started glowing much brighter ! Thanks !

  6. Chase says:

    whatever happened after i reprogrammed it jittered free those open ports and those are now closed. could you please look at your code ? is there some kind of file i need to include in the project wizard as i set it up ?

  7. Chase says:

    ok i looked at the altera forums and quartus II is not currently supported by windows 10. Looks like i will have to wait for an upgrade or downgrade to windows 7. Sorry for all the trouble.

  8. fclad says:

    Just in case you need it, I’ve found the pinout of the 240 board

  9. Hermann-Josef says:

    Hi Dan TheMan,
    I just received a similar board and found your blog. This link to a shop for this and also the 570 board might be of some interest, they provide the schemes for the EPM240 board there for download.

  10. Tom says:

    This red EPM570 board also has an crystal clock generator and a 3,3V power regulator, but… on the back of the board.

  11. Pingback: How to use USB Blaster as FPGA/CPLD programmer | My Technical Blog

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.